)]}'
{"id":"openstack%2Fswift~991520","triplet_id":"openstack%2Fswift~master~I0b634f4bd5115da2f1cadccd58d0aed0dd9058ba","project":"openstack/swift","branch":"master","topic":"quarantine-dbs","attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2026-07-20 15:48:14.000000000","reason":"\u003cGERRIT_ACCOUNT_39164\u003e replied on the change","reason_account":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"}},"1179":{"account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"last_update":"2026-09-17 16:29:35.000000000","reason":"\u003cGERRIT_ACCOUNT_39164\u003e replied on the change","reason_account":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"}}},"removed_from_attention_set":{"39146":{"account":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"last_update":"2026-07-15 23:36:23.000000000","reason":"\u003cGERRIT_ACCOUNT_39164\u003e replied on the change","reason_account":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"}},"39164":{"account":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"last_update":"2026-09-17 16:29:35.000000000","reason":"\u003cGERRIT_ACCOUNT_39164\u003e replied on the change","reason_account":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"}}},"hashtags":[],"change_id":"I0b634f4bd5115da2f1cadccd58d0aed0dd9058ba","subject":"container: Consolidate the expected stat row check","status":"NEW","created":"2026-06-04 00:07:11.000000000","updated":"2026-09-29 16:44:43.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":8,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"3d2f1bdfca99be23754fe0a09c717fcdde630f8a","_number":991520,"virtual_id_number":991520,"owner":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-29 16:44:43.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-04 01:19:36.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-06-04 18:41:59.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"CC"},{"updated":"2026-06-10 20:57:25.000000000","updated_by":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"reviewer":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"state":"REVIEWER"},{"updated":"2026-07-20 15:47:46.000000000","updated_by":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2026-07-20 15:48:14.000000000","updated_by":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"reviewer":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"state":"REMOVED"},{"updated":"2026-07-20 15:48:14.000000000","updated_by":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"reviewer":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"state":"REVIEWER"}],"messages":[{"id":"e0b4645c49e11653163c84e45ac0c06e0afa83c7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-06-04 00:07:11.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"9a6e0ee80e33191fd90da4e9eec378dc6c97c699","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-04 01:19:36.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a9ef15f10f2745fa9f47b750e6c31752\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7b55efb6aa764090be8781f6ed56c6a2 : SUCCESS in 10m 29s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f0c714f6a3eb45d4b5bce7057cce3d80 : SUCCESS in 9m 15s\n- grenade https://zuul.opendev.org/t/openstack/build/9d06ed19d35642cd8b2fbc022821a702 : SUCCESS in 1h 06m 23s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/2bed4c09c1bb41b88e7c67e1d4d3fe5f : SUCCESS in 31m 33s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/0b8958bbfd344228bd549b12a36047c8 : SUCCESS in 58m 26s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a9bd7aa98c7448ba9297bf8b046b3b6d : SUCCESS in 46m 33s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/25e8456cb9e2412383f2e62c028c4c50 : SUCCESS in 19m 39s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6e9639bed1f8489d93f5022084ba31f0 : SUCCESS in 12m 13s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/44e0fb3494af44bcad68967e4bd0ffd9 : SUCCESS in 14m 58s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/1f66748a7d0a41d7b356eefea2b564fd : SUCCESS in 4m 16s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/39171b889f9a49e5a47ebf3ac79803a1 : SUCCESS in 12m 09s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/818b4d91b6aa42efa42b781d5b90fed1 : SUCCESS in 20m 20s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/f00ae8d3b8c545deba8c5ef0500dbfc4 : SUCCESS in 11m 34s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/2ccd3bcea6ee4dbe8faeebe002c04936 : SUCCESS in 21m 32s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/6a4ddb56b31248639e436f287850d17a : SUCCESS in 15m 03s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/50bc8eca5e0545279092bc2b730b4b26 : SUCCESS in 8m 51s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/919fe7c907244fac90275e207c15887d : SUCCESS in 8m 10s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f9cf9f99e54047cc837bd255909a63d3 : SUCCESS in 4m 22s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/69c9cc531dab4caeae1f59b9a582b549 : SUCCESS in 15m 42s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/1908a060a24f45048c43fac7411cb337 : SUCCESS in 8m 24s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/5bdb909d16b24c68a405eedf060d86d8 : SUCCESS in 56m 55s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/03f5f26ce21042598076c03835b4baed : SUCCESS in 54m 26s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ff967655815d44d1ade2f41d969e0934 : SUCCESS in 56m 29s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/83845ad2901b4edbb408327f31a56ae4 : SUCCESS in 30m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c8b6850728dd4d569cf553650a3299f0 : SUCCESS in 3m 01s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ee3a9504f7a741df97a7726e48027d7f : SUCCESS in 8m 55s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b6509d7cefeb47c29037481100f0cd64 : SUCCESS in 57m 08s","accounts_in_message":[],"_revision_number":1},{"id":"f5d02f9cb3b36d0c45009a6e3fb7f7459796b3de","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-04 06:48:51.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e965e7a25b84434db2e93fa8f813608c\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/d125a818146a4645b25a5e3e3d5ea1cd : SUCCESS in 1h 28m 09s","accounts_in_message":[],"_revision_number":1},{"id":"2bd85f04d03707a8bd3c9671348b0c22761354db","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-06-04 18:41:59.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"173d375f91336f4b8a4f9872710e2900396015d6","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"date":"2026-06-10 20:57:25.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"9a43e11976b92aba2d976b898ed1edd31ee4a7ac","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-06-28 00:15:40.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"dabe5d82849a07dfc088bb533d6e03ce34f3204b","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-28 01:13:05.000000000","message":"Patch Set 2:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/14f7e593142745629ec488235407486f\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/080aca7484704e12a61390f77fd25348 : FAILURE in 55m 40s","accounts_in_message":[],"_revision_number":2},{"id":"ff658c299429472d75da510263835cbbe724be82","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-28 01:33:55.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/aae696a3b941449ea9b615f30900e27e\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d2b4b8aff0034912b5b373c35727423e : SUCCESS in 10m 24s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8309fbafa205411bb035ea016e0b879b : SUCCESS in 8m 27s\n- grenade https://zuul.opendev.org/t/openstack/build/99a5e3d4e8fc4f0e87a881dc3869c3b5 : SUCCESS in 1h 04m 35s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/bfef26ab27cd4a91a2997c539d2bba06 : SUCCESS in 1h 12m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/47fa77214269450ebfdfa639106cc796 : SUCCESS in 53m 15s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/da12e13d33184027baf777c6551c0736 : SUCCESS in 1h 07m 04s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ef8a78c80f6b466ea0a87678079dcdcf : SUCCESS in 18m 59s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1cd6394f4d38488bbe494334643352e3 : SUCCESS in 19m 14s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/73f5b102d4494b21b9151e3bc4cb5689 : SUCCESS in 20m 23s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b3e44de200c6410797c293c14b69a50d : SUCCESS in 6m 43s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/ab66e7c7d4ef44429d5940e653261537 : FAILURE in 26m 58s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/317bb37d6e194320a67985d87dc03540 : FAILURE in 22m 54s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/83be07bc649b452195ac83c82307c709 : FAILURE in 29m 53s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/1c637d501ecb4fd4b405fa47d778f2e2 : FAILURE in 20m 45s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/93163b17082e4a8fb08b925eca850ace : SUCCESS in 14m 50s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/ff8d367cda8d443ca17fccce7b2d919b : SUCCESS in 13m 52s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/ebae52f8d660483ebf296141abe6b377 : SUCCESS in 17m 49s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/7f98ffaa3f774f77b1db8939e704467d : SUCCESS in 3m 32s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/ad6cf6b253fc40629f468c579c7ed63d : SUCCESS in 18m 14s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/0c00e0ca2b0247ed94b43a4cdd529c0b : SUCCESS in 11m 30s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/cf5b7784eb8b4e9f92fc1e15a78a54ef : SUCCESS in 52m 06s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c5a9b55720764751863069eee2296dc4 : SUCCESS in 56m 09s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/1516919ae2fe4fc4abfa50b6f6d9c66d : SUCCESS in 55m 51s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/194f2e2e63374a9c825b130889ee024f : FAILURE in 21m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fa8297ef3e97439ab22d1fcc6a1ddceb : SUCCESS in 5m 03s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/25d632ebfc074498907224043864ce9c : SUCCESS in 24m 48s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c822883e4ca4442f88c4d5a147067d15 : SUCCESS in 53m 27s\n\nWarning:\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/docker-image/run.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/buildset-registry/post.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .local/share/containers/cache/blob-info-cache-v1.sqlite found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .local/share/containers/cache/blob-info-cache-v1.sqlite found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .local/share/containers/cache/blob-info-cache-v1.sqlite found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":2},{"id":"025561700ba137c9f215debaf02fa53104570fce","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-07-06 21:29:45.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"4156eae35b9dd250ed5b856e128d90720a4e8e15","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-06 22:48:23.000000000","message":"Patch Set 3: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/3687230d5e20453581de4defead00776\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/33258d5e336f483b82957efe5ac5009c : SUCCESS in 4m 59s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6d10f8b8b4674a6c8f277a69c58ec3d1 : SUCCESS in 9m 09s\n- grenade https://zuul.opendev.org/t/openstack/build/350141c2605045d784a48a9c230558dd : SUCCESS in 1h 04m 35s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d82eea4bfcb245e68620d9cdea2ad651 : SUCCESS in 1h 12m 29s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/826e74e74d194ec58bbb45b4212a7e01 : SUCCESS in 55m 03s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/32c1c82d552a4486a6fd4cd51f56f315 : SUCCESS in 1h 04m 38s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/3958e70a58cb4d6d9752018aa81aaf7b : SUCCESS in 20m 16s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/06d6dec67b354d96938b1a546fb1d420 : SUCCESS in 19m 18s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d3fd1f8549794693af6b9ee2655a7875 : SUCCESS in 11m 59s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/d64c04766b244588a8847709a3dd43a6 : SUCCESS in 7m 20s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/257cfdb539f74003942edd8ab01947e6 : SUCCESS in 25m 40s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/9678c9dd1a2a46f4adc5d2ba7d077198 : SUCCESS in 24m 24s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/65320351683248319b19073770411fce : SUCCESS in 31m 54s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/aaf8c532018e4e39a96ac550aa8a0e7c : SUCCESS in 19m 11s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/83b0ef07ce6b41a78185955d85ad5e05 : SUCCESS in 9m 02s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/88d2c68ca34d4340902dc794de37a5bf : SUCCESS in 13m 40s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/b6ad7364412d4ef2afc664b104c8a168 : SUCCESS in 15m 48s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/83356a187eb147d2b0f0b6211dd34fff : RETRY_LIMIT in 3m 04s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/f16d7bebcca14de8881fcf06e2563e8c : SUCCESS in 21m 51s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/43e488af696945c9bbd34d2da7bc6e98 : SUCCESS in 11m 06s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/369653e738394855ae15d2e67496d636 : SUCCESS in 48m 31s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/9c5440d9454d485c9e4806e6712f9f30 : SUCCESS in 58m 14s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/de179ffc854146e2841d404c1dab9dd0 : SUCCESS in 58m 20s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4d3584315c10421ca3f6f70003ed1bf2 : SUCCESS in 25m 18s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0857039b231d42309bdeba464bc5b17e : SUCCESS in 5m 10s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/19f901f072f040a5864aebcfd83c5ce6 : SUCCESS in 18m 08s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c0cc29a4a1fa49528c640c77273a54aa : SUCCESS in 29m 46s\n\nWarning:\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":3},{"id":"7fa97e082fa4668f827b24885907e4eb44a79379","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-07 02:58:19.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/07461a56e16c4248b1b1f6d0c90060b6\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b09689ef8541483596f2c35e2fe7839f : SUCCESS in 1h 12m 47s","accounts_in_message":[],"_revision_number":3},{"id":"fc5159170d320ebf35612e74ea5efcb4f7546a89","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-07-15 23:36:23.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"29551408ad9ca081cfb197e05524457c1011cfbb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-07-20 15:46:18.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"2c44adc6fc05c15417e54bb29f57bd68b9b91349","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-07-20 15:48:14.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"325cc34b307491ea2803760586ceaca9fdd99f6c","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 17:07:41.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cb2d4a4410744afea6ea680dd32c6fa8\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/cb90530d60694f6783c706076ea981ef : SUCCESS in 1h 05m 09s","accounts_in_message":[],"_revision_number":4},{"id":"89eef093a33e67c191f2cc46e6cbcb1686b57f9d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 17:11:41.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e2baaa7b13b648da858ad99250702e8f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/68a8ae45c2314cfab82af73d3b10f8d7 : SUCCESS in 13m 01s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/576453934d3645ad927c88a4d3d8a8d4 : SUCCESS in 8m 48s\n- grenade https://zuul.opendev.org/t/openstack/build/f6936feb5827468390789499ab610a22 : SUCCESS in 1h 10m 42s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/94feb8c186fd42b2b2cf5c0e1990278e : SUCCESS in 1h 01m 40s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/3e9e445a1d144d05acac4b3f8f198db3 : SUCCESS in 52m 25s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2f1ebd90204940afa277a919651b4492 : SUCCESS in 59m 54s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/85373ecf9fdf4613947a4f8e2af50572 : SUCCESS in 20m 58s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/37f13543b2a044cbb431d99453541f16 : SUCCESS in 22m 29s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9d14b845a384441d958fa35cb941518d : SUCCESS in 23m 25s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/266e20b4d9c84e83ae80cbe1c560a2d8 : SUCCESS in 8m 03s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/3d8369a3a43b442c89a66ed3effe9db0 : SUCCESS in 26m 39s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/9a385cb0fbac477eb6776c6dc1b70b76 : SUCCESS in 25m 05s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/5d073a85f610421e9037a796905750e5 : SUCCESS in 31m 05s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/3ab2eb25a2c94290a5dfb75453dd4573 : SUCCESS in 11m 24s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/e55162e7bc4b4f8c9988f52000718e9f : SUCCESS in 9m 45s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/3311aa6c9ab245fcb3ddb9ff5f127d7a : SUCCESS in 15m 27s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/8daeedf2dfc34cd1a41bcebd571afd94 : SUCCESS in 16m 14s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/a7d87253c90a4ec5bedf6a8401691457 : SUCCESS in 3m 58s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/5656795b8b8f4ff199f8fc70b5d23859 : FAILURE in 7m 22s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/e8f25f271171489cb6c359d2baca5fc8 : SUCCESS in 9m 28s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/d75d03a512d94b5b86ba4ef73fe77f24 : SUCCESS in 55m 34s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/612af34debfc40958b4875c0284d1d54 : SUCCESS in 54m 30s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7e37d06c900b41fe990cbfefa8b2623d : SUCCESS in 58m 14s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e65c721d075347c5ab2b8d177b199bed : SUCCESS in 30m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/41e6a3c4a9c34a45a85873dae0ffe711 : SUCCESS in 4m 11s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/4d56f4a5061144308b7a403d4738abe4 : SUCCESS in 26m 34s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/8dcde52d17cb4e249808a0194d45afb1 : SUCCESS in 52m 54s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":4},{"id":"50af21909b77e1548b58290a3e7919e32efefc2a","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-08-21 18:53:29.000000000","message":"Patch Set 4:\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"9080893d4db284510d5c82c530fdae8836781965","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-09-16 20:59:42.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"8893368747cb35a5998e810ef91ee700c35345e3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-09-16 21:04:42.000000000","message":"Uploaded patch set 6: Patch Set 5 was rebased. Commit message was updated.","accounts_in_message":[],"_revision_number":6},{"id":"8958b75b4912840a06ea20771838931d1c33b327","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 22:09:40.000000000","message":"Patch Set 6:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ab8823cb20d9481c843ac9450d4ee3cc\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/96198e7b7dc6462faec6718622a71ed9 : SUCCESS in 29m 11s","accounts_in_message":[],"_revision_number":6},{"id":"d7d5848e5dbff353fd9e7c3bf80d39104698455d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 22:19:37.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bdb7fc6b28f44cb7bf8fed94e42ca97f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4ad44e95a6bf4032947d529cd6492acf : SUCCESS in 10m 21s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d2faccd901504a3aa5f93a5e5dd7b8ed : SUCCESS in 9m 35s\n- grenade https://zuul.opendev.org/t/openstack/build/38ae3808ef734102af001ec6b7c9d61f : SUCCESS in 1h 07m 44s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f3ec640b295646babc8be8fa7d9385d2 : SUCCESS in 1h 03m 05s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/040f40211345459999d1f6f951e3a390 : SUCCESS in 37m 56s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/1dba27e8519e46b9b979d70de1c252db : SUCCESS in 1h 06m 23s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6c8b537178a041bd9b1c5a93ce111464 : SUCCESS in 23m 48s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/04d74c363bb64dd3b9232eade3b59f37 : SUCCESS in 21m 18s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d433cfde2beb448b9d5f9199fcdce006 : SUCCESS in 17m 11s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/ab01645f97cc4b7cb0a08364adf5b8e9 : SUCCESS in 7m 16s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f49c2ee34c3d45669067faf4795a4fb0 : SUCCESS in 25m 29s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/9419889404044caf8c5ef234ab8aa290 : SUCCESS in 11m 23s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/3fc78e627a4e4bdd9127b2d545b6ccca : SUCCESS in 15m 26s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/f72cc9c2275f44a4870ba21d9320d4d7 : SUCCESS in 11m 47s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/7e4a27dd9cc94bf59a0cd9851504264a : SUCCESS in 15m 20s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/5bebdefc3b464a908413f6fbcc37c49a : SUCCESS in 17m 31s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/987376b0292645a7acd57f2c902ff859 : SUCCESS in 10m 18s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/202b0f6299fd42ad9056ead9a8ab439e : SUCCESS in 17m 09s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/62ad63af65d94304b3769dfc67bad55b : SUCCESS in 6m 00s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/cd347281f320440ca0f7e49175150873 : SUCCESS in 8m 56s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/c54e6782183a4b17bf69a5402ada755c : SUCCESS in 46m 10s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8f697bfd53664f8bbdec9014fe604a73 : SUCCESS in 52m 30s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/dde1d0d415a24dd0ae527f1c55fabdb7 : SUCCESS in 31m 23s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/004d3e54434a451bb4e8382799858a93 : SUCCESS in 29m 56s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/26c611e6ff624d2389786607a10e192c : SUCCESS in 4m 08s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a78bb6f48bc646a8aaa2da8b69da0acc : SUCCESS in 18m 26s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c267f0090bea4dd98b2e763775564956 : SUCCESS in 39m 04s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":6},{"id":"ae760af8e4033a02879b632e9a0ae4363c2665ab","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-09-17 16:29:35.000000000","message":"Patch Set 6:\n\n(2 comments)","accounts_in_message":[],"_revision_number":6},{"id":"e51b77b7db5f9b10c97ac08c5f5dc7d1200b8125","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-09-17 20:44:10.000000000","message":"Uploaded patch set 7: Patch Set 6 was rebased. Commit message was updated.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":7},{"id":"f9c41bccf79e56571d2160a5eac26378b49ad89f","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-17 21:19:20.000000000","message":"Patch Set 7:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3cc98e2d1d24425eb4159c74bf9e962b\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/c6bc30ca10ed4c26aa85b5b9a9b7aea6 : SUCCESS in 32m 55s","accounts_in_message":[],"_revision_number":7},{"id":"927475ce59026118287c9d36d39ca199649c5769","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-17 21:59:45.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/74b8ff39a83241e0894d4dfa667d9b1b\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/eabfa833708a474cb054f0dcd19e4b2b : SUCCESS in 10m 13s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f481bb4cc2d9481495177afa0e69ef12 : SUCCESS in 9m 11s\n- grenade https://zuul.opendev.org/t/openstack/build/35147750570942218f5c081648bac43c : SUCCESS in 1h 04m 37s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e889f4d39bb641349e1eef1781f203a6 : SUCCESS in 57m 05s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/1b96c94b3a36466aa136bc38acdb934e : SUCCESS in 55m 13s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/7dc33e14065547fd9ec340134ba1c980 : SUCCESS in 1h 08m 33s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1a830a05525645c196e15624547fe966 : SUCCESS in 20m 10s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/97937cf8624648b4b4e9378b57d94662 : SUCCESS in 12m 37s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/3b3f3d2cb7b045eb8d4b3c513923cf6e : SUCCESS in 24m 46s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/6bc6ed1de66643d9a48b862e76a8609c : SUCCESS in 6m 26s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/e76d00f01a8043adb36bffc1a800b555 : SUCCESS in 25m 19s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/3e3f19aa7bcb4713a1bf165d99aacbfe : SUCCESS in 10m 11s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/a2c9ef7a741c4cc2a294f2f6aa8c7dcf : SUCCESS in 12m 46s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/5b2284a50d284e8fb7debf144164c596 : SUCCESS in 18m 28s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/51673cc3ec794d1b89458e4f4c2fe14b : SUCCESS in 9m 47s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/72bddc6476cb476a97ca896a2a903e0d : SUCCESS in 9m 06s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/d543b120ffb9423e904860145a8d6685 : SUCCESS in 16m 43s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/728fca8a8c4a4f9e9c534b3f848a6fab : SUCCESS in 10m 59s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/cb7ed15eb63c46569e735dc25e0edafd : SUCCESS in 6m 11s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/f1524a6e3cc24bcf8f077ce445b38921 : SUCCESS in 8m 17s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/59f078a8ec4e4b50a7d070cdfbb4d6a0 : SUCCESS in 43m 04s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/4a411520bf614ec99247fb1471658b70 : SUCCESS in 55m 43s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/e71fbf933d5540f8a3a427abd8398b93 : SUCCESS in 50m 57s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1670c1424e7543c8adc3b5d2aebf8061 : SUCCESS in 30m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/122257a9f4854223b09039da7f9228f3 : SUCCESS in 3m 30s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/e8ee494c228e4f998c188603d426cc16 : SUCCESS in 11m 39s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0460ddbc77d2483cbbda6eb2c0da2716 : SUCCESS in 52m 50s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":7},{"id":"b475c62f60892b3e09ceb12d5cc1812995c0faa3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-09-29 15:20:34.000000000","message":"Uploaded patch set 8.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":8},{"id":"11f203145159c201f20380dda79bbf435b74572f","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"date":"2026-09-29 15:32:43.000000000","message":"Topic changed from quarantine-damaged-dbs to quarantine-dbs","accounts_in_message":[],"_revision_number":8},{"id":"ba13f4af16b10244cdd4ae83dae163e2d2ef2821","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-29 16:42:37.000000000","message":"Patch Set 8:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/746b44e080da4a0b984b8fe93799c650\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/bc5b95f20b524f4fa4b15d71441c0ab6 : SUCCESS in 44m 45s","accounts_in_message":[],"_revision_number":8},{"id":"3d2f1bdfca99be23754fe0a09c717fcdde630f8a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-29 16:44:43.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cfaa5703aa5a4d41aa8a32a6eda720f4\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/174fc16c26e645cb89116ab59da258cc : SUCCESS in 10m 31s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2325f6ef53ee47bc8ae7c28268a3d8e3 : SUCCESS in 10m 36s\n- grenade https://zuul.opendev.org/t/openstack/build/b1b889b5eb9b4a30be6611eb3a97d9fb : SUCCESS in 59m 48s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/12aa3dcb1fde48eea1b7ac24e52b3599 : SUCCESS in 47m 28s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/6c39adb7c5f64e08a705870fa6b42575 : SUCCESS in 37m 38s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/ab2ab90f17f947f3a4f009d6666f8abf : SUCCESS in 1h 06m 52s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2b4404c80d4449eb9bb6a757e8e0fca4 : SUCCESS in 19m 28s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/51ce260b0c094b4e83b95b85f8a2d9c9 : SUCCESS in 21m 53s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/85aa0091979b44f1a34707435f195042 : SUCCESS in 27m 07s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/186d656b65fc413ea9d2691400bc0e1e : SUCCESS in 7m 44s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/96f42e4d77374348a4e125b159e35c07 : SUCCESS in 32m 34s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/f37846f68e9e4400af5eea7efb563793 : SUCCESS in 21m 05s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/1212726023b14094aa44012ad1a6aad4 : SUCCESS in 30m 41s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/8ffbc0eaea72487c823522ce27f07231 : SUCCESS in 21m 12s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/c92b1072c68047aea0f6446b093c8712 : SUCCESS in 16m 37s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/16922adb1c714a47ad94451e8566b3b4 : SUCCESS in 16m 47s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/1e2b99b98ece4d0fa5ce58f7f7abee6b : SUCCESS in 13m 28s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/2653cda538634aa98887ff8a91d3420c : SUCCESS in 19m 38s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/5aac3dd76b7a44b8b769d56142e57d17 : SUCCESS in 7m 08s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/24fe037aa43a453f8050e779e0dfe2b3 : SUCCESS in 7m 05s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/41bbab72eeb9410fbb7b3c208cc3bd41 : SUCCESS in 1h 07m 40s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/e6784c5f095c4294a749dee112a0ce00 : SUCCESS in 49m 34s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/bec64883321947b3b79d59fe03219390 : SUCCESS in 49m 37s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e78bdaf2bfd24c6eaa467f01bc2d93cc : SUCCESS in 11m 56s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/97b7a74da6a548b8aaf01b6cb2640bd0 : SUCCESS in 4m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/bc751e5b498f4c86a5e1ad292bdbc767 : SUCCESS in 21m 40s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2ec87fd4cd6f498ea058a18cf095f8b1 : SUCCESS in 54m 05s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":8}],"current_revision_number":8,"current_revision":"93d785e4a4f1be9756177b8f375e24825b07b5e7","revisions":{"01d6fcafae051d60f958da4545d53d1cb1c0622f":{"kind":"REWORK","_number":1,"created":"2026-06-04 00:07:11.000000000","uploader":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"ref":"refs/changes/20/991520/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/991520/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/991520/1"}}},"commit":{"parents":[{"commit":"4e2c5fb6c1cbe5ae636afa097c4f643fc0ce2536","subject":"account: Quarantine truncated DBs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4e2c5fb6c1cbe5ae636afa097c4f643fc0ce2536"}]}],"author":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-06-03 23:09:48.000000000","tz":-420},"committer":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-06-04 00:06:56.000000000","tz":-420},"subject":"container: Quarantine truncated DBs","message":"container: Quarantine truncated DBs\n\nThe account-auditor fix in covered the AccountBroker side of this bug;\nthe same pattern exists on the container side and is reachable via the\ncontainer-auditor (whose _audit is a no-op, so the audit pass goes\nstraight through is_deleted()/get_info()).\n\nThree sites in ContainerBroker SELECT the singleton container_info row\n(via the container_stat view) and assume it exists:\n\n  * _is_deleted() -- dict(info) TypeErrors when fetchone() returns None.\n  * is_old_enough_to_reclaim() -- info[\u0027delete_timestamp\u0027] TypeErrors\n    on the same shape.\n  * _do_get_info_query() -- dict(data) TypeErrors, AND the surrounding\n    `while not data:` migration-retry loop would otherwise spin forever\n    on a syntactically-valid query that returns no rows.\n\nAdd the same `if not row: self.quarantine(\"missing row in\ncontainer_stat table\")` guard at each site, matching the existing\nquarantine-message convention used by get_raw_metadata(),\nupdate_metadata(), and _reclaim_metadata() in swift/common/db.py.\n\nPartial protection was already in place: anything that touches\nmetadata (POSTs, replication metadata merges, reclaim-time metadata\nsweeps) would quarantine via the existing checks in db.py. But the\naudit pass, GETs, HEADs, and listing requests all flow through\nget_info()/is_deleted() and were unprotected -- so a truncated\ncontainer DB would log a generic failure and stay in place.\n\nChange-Id: I0b634f4bd5115da2f1cadccd58d0aed0dd9058ba\nSigned-off-by: Matthew Allen \u003cmaallen@nvidia.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/01d6fcafae051d60f958da4545d53d1cb1c0622f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/01d6fcafae051d60f958da4545d53d1cb1c0622f"}]},"branch":"refs/heads/master"},"a2478c9d0614a7f3177cb82e0df347ef48f0e61c":{"kind":"REWORK","_number":2,"created":"2026-06-28 00:15:40.000000000","uploader":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"ref":"refs/changes/20/991520/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/991520/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/991520/2"}}},"commit":{"parents":[{"commit":"4be4ff86e58898f72c958fad5fa7670dd09929ac","subject":"account: Quarantine damaged DBs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4be4ff86e58898f72c958fad5fa7670dd09929ac"}]}],"author":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-06-03 23:09:48.000000000","tz":-420},"committer":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-06-28 00:12:42.000000000","tz":-420},"subject":"container: Quarantine damaged DBs","message":"container: Quarantine damaged DBs\n\nThe account-auditor fix in covered the AccountBroker side of this bug;\nthe same pattern exists on the container side and is reachable via the\ncontainer-auditor (whose _audit is a no-op, so the audit pass goes\nstraight through is_deleted()/get_info()).\n\nFour sites in ContainerBroker SELECT the singleton container_info row\n(via the container_stat view) and assume it exists:\n\n  * _is_deleted() -- dict(row) TypeErrors when fetchone() returns None.\n  * is_old_enough_to_reclaim() -- row[\u0027delete_timestamp\u0027] TypeErrors\n    on the same shape.\n  * _do_get_info_query() -- dict(data) TypeErrors, AND the surrounding\n    `while not data:` migration-retry loop would otherwise spin forever\n    on a syntactically-valid query that returns no rows.\n  * get_reconciler_sync() -- row[0] TypeErrors; reachable from the\n    reconciler/container-sync daemons rather than the audit pass.\n\nAdd the same `if not row: self.quarantine(\"missing row in\ncontainer_stat table\")` guard at each site, matching the existing\nquarantine-message convention used by get_raw_metadata(),\nupdate_metadata(), and _reclaim_metadata() in swift/common/db.py.\n\nA fifth site, _empty(), is subtler: it reads object counts from\npolicy_stat, which survives independently of the singleton\ncontainer_stat row, so a missing row does not fault -- empty() just\nreports the damaged container as non-empty. A container DELETE then\nreturns 409 Conflict and never reaches the guarded\nget_info()/is_deleted() paths, leaving the damaged db in place. Guard\n_empty() by confirming the container_stat row exists before trusting\nthe policy_stat counts.\n\nThe empty-file case (file truncated to nothing, so the container_stat\nview is gone and the first read raises \"no such table: container_stat\")\nis handled by the possibly_quarantine() change in the parent account\ncommit, which keys on \"no such table: \u003cdb_type\u003e_stat\". The in-between\ncase -- a partial truncation that corrupts pages -- already quarantines\nvia possibly_quarantine()\u0027s \"malformed\" / \"is not a database\" handling.\n\nPartial protection was already in place: anything that touches\nmetadata (POSTs, replication metadata merges, reclaim-time metadata\nsweeps) would quarantine via the existing checks in db.py. But the\naudit pass, GETs, HEADs, and listing requests all flow through\nget_info()/is_deleted() and were unprotected -- so a damaged\ncontainer DB would log a generic failure and stay in place.\n\nAdd broker-level tests for each guarded site, real file-truncation\ntests (empty and partial), an auditor-level test asserting a damaged\nDB is moved to quarantined/containers/ on the audit pass, and a\ncontainer-server DELETE test confirming the damaged-db case quarantines\n(surfacing as 500) instead of returning 409.\n\nChange-Id: I0b634f4bd5115da2f1cadccd58d0aed0dd9058ba\nSigned-off-by: Matthew Allen \u003cmaallen@nvidia.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a2478c9d0614a7f3177cb82e0df347ef48f0e61c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a2478c9d0614a7f3177cb82e0df347ef48f0e61c"}]},"branch":"refs/heads/master"},"7c4cef29d01aa1312db2622864dc1eca30a711c6":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-07-06 21:29:45.000000000","uploader":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"ref":"refs/changes/20/991520/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/991520/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/991520/3"}}},"commit":{"parents":[{"commit":"197ad6d645cc186d46fe4a133b352f7c9d59b223","subject":"account: Quarantine damaged DBs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/197ad6d645cc186d46fe4a133b352f7c9d59b223"}]}],"author":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-06-03 23:09:48.000000000","tz":-420},"committer":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-07-06 17:45:38.000000000","tz":-420},"subject":"container: Quarantine damaged DBs","message":"container: Quarantine damaged DBs\n\nThe account-auditor fix in covered the AccountBroker side of this bug;\nthe same pattern exists on the container side and is reachable via the\ncontainer-auditor (whose _audit is a no-op, so the audit pass goes\nstraight through is_deleted()/get_info()).\n\nFour sites in ContainerBroker SELECT the singleton container_info row\n(via the container_stat view) and assume it exists:\n\n  * _is_deleted() -- dict(row) TypeErrors when fetchone() returns None.\n  * is_old_enough_to_reclaim() -- row[\u0027delete_timestamp\u0027] TypeErrors\n    on the same shape.\n  * _do_get_info_query() -- dict(data) TypeErrors, AND the surrounding\n    `while not data:` migration-retry loop would otherwise spin forever\n    on a syntactically-valid query that returns no rows.\n  * get_reconciler_sync() -- row[0] TypeErrors; reachable from the\n    reconciler/container-sync daemons rather than the audit pass.\n\nAdd the same `if not row: self.quarantine(\"missing row in\ncontainer_stat table\")` guard at each site, matching the existing\nquarantine-message convention used by get_raw_metadata(),\nupdate_metadata(), and _reclaim_metadata() in swift/common/db.py.\n\nA fifth site, _empty(), is subtler: it reads object counts from\npolicy_stat, which survives independently of the singleton\ncontainer_stat row, so a missing row does not fault -- empty() just\nreports the damaged container as non-empty. A container DELETE then\nreturns 409 Conflict and never reaches the guarded\nget_info()/is_deleted() paths, leaving the damaged db in place. Guard\n_empty() by confirming the container_stat row exists before trusting\nthe policy_stat counts.\n\nThe empty-file case (file truncated to nothing, so the container_stat\nview is gone and the first read raises \"no such table: container_stat\")\nis handled by the possibly_quarantine() change in the parent account\ncommit, which keys on \"no such table: \u003cdb_type\u003e_stat\". The in-between\ncase -- a partial truncation that corrupts pages -- already quarantines\nvia possibly_quarantine()\u0027s \"malformed\" / \"is not a database\" handling.\n\nPartial protection was already in place: anything that touches\nmetadata (POSTs, replication metadata merges, reclaim-time metadata\nsweeps) would quarantine via the existing checks in db.py. But the\naudit pass, GETs, HEADs, and listing requests all flow through\nget_info()/is_deleted() and were unprotected -- so a damaged\ncontainer DB would log a generic failure and stay in place.\n\nAdd broker-level tests for each guarded site, real file-truncation\ntests (empty and partial), an auditor-level test asserting a damaged\nDB is moved to quarantined/containers/ on the audit pass, and a\ncontainer-server DELETE test confirming the damaged-db case quarantines\n(surfacing as 500) instead of returning 409.\n\nChange-Id: I0b634f4bd5115da2f1cadccd58d0aed0dd9058ba\nSigned-off-by: Matthew Allen \u003cmaallen@nvidia.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7c4cef29d01aa1312db2622864dc1eca30a711c6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7c4cef29d01aa1312db2622864dc1eca30a711c6"}]},"branch":"refs/heads/master"},"25c6f97e52ce53cef53657a77f142f644373a5c8":{"kind":"REWORK","_number":4,"created":"2026-07-20 15:46:18.000000000","uploader":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"ref":"refs/changes/20/991520/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/991520/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/991520/4"}}},"commit":{"parents":[{"commit":"82a1607838e555d160901de6c7a6f5841070f6ad","subject":"account: Quarantine damaged DBs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/82a1607838e555d160901de6c7a6f5841070f6ad"}]}],"author":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-06-03 23:09:48.000000000","tz":-420},"committer":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-07-20 15:33:14.000000000","tz":-420},"subject":"container: Quarantine damaged DBs","message":"container: Quarantine damaged DBs\n\nThe account-auditor fix in covered the AccountBroker side of this bug;\nthe same pattern exists on the container side and is reachable via the\ncontainer-auditor (whose _audit is a no-op, so the audit pass goes\nstraight through is_deleted()/get_info()).\n\nFour sites in ContainerBroker SELECT the singleton container_info row\n(via the container_stat view) and assume it exists:\n\n  * _is_deleted() -- dict(row) TypeErrors when fetchone() returns None.\n  * is_old_enough_to_reclaim() -- row[\u0027delete_timestamp\u0027] TypeErrors\n    on the same shape.\n  * _do_get_info_query() -- dict(data) TypeErrors, AND the surrounding\n    `while not data:` migration-retry loop would otherwise spin forever\n    on a syntactically-valid query that returns no rows.\n  * get_reconciler_sync() -- row[0] TypeErrors; reachable from the\n    reconciler/container-sync daemons rather than the audit pass.\n\nRead the singleton container_stat row at each site through the\nDatabaseBroker.fetch_expected_row() helper added in the parent account\ncommit, which quarantines with \"missing row in container_stat table\"\nwhen the fetch returns no row.\n\nA fifth site, _empty(), is subtler: it reads object counts from\npolicy_stat, which survives independently of the singleton\ncontainer_stat row, so a missing row does not fault -- empty() just\nreports the damaged container as non-empty. A container DELETE then\nreturns 409 Conflict and never reaches the guarded\nget_info()/is_deleted() paths, leaving the damaged db in place. Guard\n_empty() by confirming the container_stat row exists (again via\nfetch_expected_row()) before trusting the policy_stat counts.\n\nThe empty-file case (file truncated to nothing, so the container_stat\nview is gone and the first read raises \"no such table: container_stat\")\nis handled by the possibly_quarantine() change in the parent account\ncommit, which keys on \"no such table: \u003cdb_type\u003e_stat\". The in-between\ncase -- a partial truncation that corrupts pages -- already quarantines\nvia possibly_quarantine()\u0027s \"malformed\" / \"is not a database\" handling.\n\nPartial protection was already in place: anything that touches\nmetadata (POSTs, replication metadata merges, reclaim-time metadata\nsweeps) would quarantine via the existing checks in db.py. But the\naudit pass, GETs, HEADs, and listing requests all flow through\nget_info()/is_deleted() and were unprotected -- so a damaged\ncontainer DB would log a generic failure and stay in place.\n\nAdd broker-level tests for each guarded site, real file-truncation\ntests (empty and partial), an auditor-level test asserting a damaged\nDB is moved to quarantined/containers/ on the audit pass, and a\ncontainer-server DELETE test confirming the damaged-db case quarantines\n(surfacing as 500) instead of returning 409.\n\nChange-Id: I0b634f4bd5115da2f1cadccd58d0aed0dd9058ba\nSigned-off-by: Matthew Allen \u003cmaallen@nvidia.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/25c6f97e52ce53cef53657a77f142f644373a5c8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/25c6f97e52ce53cef53657a77f142f644373a5c8"}]},"branch":"refs/heads/master"},"f85142853d489bcd4a4931d8e60766fbde8984d9":{"kind":"REWORK","_number":5,"created":"2026-09-16 20:59:42.000000000","uploader":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"ref":"refs/changes/20/991520/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/991520/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/991520/5"}}},"commit":{"parents":[{"commit":"3958b5cf65624937763e31f141f825e3dbc7e318","subject":"account: Consolidate the \"expected stat row\" check","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3958b5cf65624937763e31f141f825e3dbc7e318"}]}],"author":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-04 03:37:12.000000000","tz":-420},"committer":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-16 16:45:15.000000000","tz":-420},"subject":"container: Consolidate the \"expected stat row\" check","message":"container: Consolidate the \"expected stat row\" check\n\nThis change routes the ContainerBroker stat relation reads through the\nDatabaseBroker.get_stat_row() added in a previous revision, which ensures the\npresence of the single container_info row. If it finds that row missing, it\nquarantines the database (if quarantine_ok is True) and raises an exception.\nEvery read of the stat relation that faults on a missing row is routed\nthrough the helper; the reads left direct -- an aggregate in\nget_policy_stats(), a sub-select in get_misplaced_since() and the\n_migrate_add_storage_policy() script -- return an empty result rather than\nfaulting.\n\nNote that in some cases, calling _do_get_info_query() when the stat row was\nmissing could spin forever: the loop only exits with a row or a re-raised\nOperationalError, and a query that returns no rows produces neither, so the\nloop would reissue it forever, and nothing in the loop yields.\n\nUnit tests cover each converted read, asserting a quarantine naming\ncontainer_info where the read reaches the stat row, and that schemas whose\npre-migration fallbacks short-circuit ahead of it still pass through\nuntouched. The get_info() test also fails rather than hangs if\n_do_get_info_query() reissues the same query, guarding the spin-forever\nbehavior present before this change.\n\nAssisted-By: Claude:opus-5\nChange-Id: I0b634f4bd5115da2f1cadccd58d0aed0dd9058ba\nSigned-off-by: Matthew Allen \u003cmaallen@nvidia.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f85142853d489bcd4a4931d8e60766fbde8984d9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f85142853d489bcd4a4931d8e60766fbde8984d9"}]},"branch":"refs/heads/master"},"1d1176b40e5875a5fec33392d3f12796c74a1e45":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":6,"created":"2026-09-16 21:04:42.000000000","uploader":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"ref":"refs/changes/20/991520/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/991520/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/991520/6"}}},"commit":{"parents":[{"commit":"7dab491923df834382471c04ac28429c3777e8b0","subject":"account: Consolidate the \"expected stat row\" check","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7dab491923df834382471c04ac28429c3777e8b0"}]}],"author":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-04 03:37:12.000000000","tz":-420},"committer":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-16 21:03:29.000000000","tz":-420},"subject":"container: Consolidate the \"expected stat row\" check","message":"container: Consolidate the \"expected stat row\" check\n\nThis change routes the ContainerBroker stat relation reads through the\nDatabaseBroker.get_stat_row() added in a previous revision, which\nensures the presence of the single container_info row. If it finds that\nrow missing, it quarantines the database (if quarantine_ok is True) and\nraises an exception. Every read of the stat relation that faults on a\nmissing row is routed through the helper; the reads left direct -- an\naggregate in get_policy_stats(), a sub-select in get_misplaced_since()\nand the _migrate_add_storage_policy() script -- return an empty result\nrather than faulting.\n\nNote that in some cases, calling _do_get_info_query() when the stat row\nwas missing could spin forever: the loop only exits with a row or a\nre-raised OperationalError, and a query that returns no rows produces\nneither, so the loop would reissue it forever, and nothing in the loop\nyields.\n\nUnit tests cover each converted read, asserting a quarantine naming\ncontainer_info where the read reaches the stat row, and that schemas\nwhose pre-migration fallbacks short-circuit ahead of it still pass\nthrough untouched. The get_info() test also fails rather than hangs if\n_do_get_info_query() reissues the same query, guarding the spin-forever\nbehavior present before this change.\n\nAssisted-By: Claude:opus-5\nChange-Id: I0b634f4bd5115da2f1cadccd58d0aed0dd9058ba\nSigned-off-by: Matthew Allen \u003cmaallen@nvidia.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1d1176b40e5875a5fec33392d3f12796c74a1e45"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1d1176b40e5875a5fec33392d3f12796c74a1e45"}]},"branch":"refs/heads/master"},"f0072af89b2d09a0feac4e16b39ac17bebc5876b":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":7,"created":"2026-09-17 20:44:10.000000000","uploader":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"ref":"refs/changes/20/991520/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/991520/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/991520/7"}}},"commit":{"parents":[{"commit":"f00534bbbb8bc217b51e950be6d9c9c72a5298a2","subject":"account: Consolidate the expected stat row check","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f00534bbbb8bc217b51e950be6d9c9c72a5298a2"}]}],"author":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-04 03:37:12.000000000","tz":-420},"committer":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-17 17:24:04.000000000","tz":-420},"subject":"container: Consolidate the expected stat row check","message":"container: Consolidate the expected stat row check\n\nThis change routes the ContainerBroker stat relation reads through the\nDatabaseBroker.get_stat_row() added in a previous revision, which\nensures the presence of the single container_info row. If it finds that\nrow missing, it quarantines the database (if quarantine_ok is True) and\nraises an exception. Every read of the stat relation that faults on a\nmissing row is routed through the helper; the reads left direct -- an\naggregate in get_policy_stats(), a sub-select in get_misplaced_since()\nand the _migrate_add_storage_policy() script -- return an empty result\nrather than faulting.\n\nNote that in some cases, calling _do_get_info_query() when the stat row\nwas missing could spin forever: the loop only exits with a row or a\nre-raised OperationalError, and a query that returns no rows produces\nneither, so the loop would reissue it forever, and nothing in the loop\nyields.\n\nUnit tests cover each converted read, asserting a quarantine naming\ncontainer_info where the read reaches the stat row, and that schemas\nwhose pre-migration fallbacks short-circuit ahead of it still pass\nthrough untouched. The get_info() test also fails rather than hangs if\n_do_get_info_query() reissues the same query, guarding the spin-forever\nbehavior present before this change.\n\nAssisted-By: Claude:opus-5\nChange-Id: I0b634f4bd5115da2f1cadccd58d0aed0dd9058ba\nSigned-off-by: Matthew Allen \u003cmaallen@nvidia.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f0072af89b2d09a0feac4e16b39ac17bebc5876b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f0072af89b2d09a0feac4e16b39ac17bebc5876b"}]},"branch":"refs/heads/master"},"93d785e4a4f1be9756177b8f375e24825b07b5e7":{"kind":"REWORK","_number":8,"created":"2026-09-29 15:20:34.000000000","uploader":{"_account_id":39164,"name":"Matthew Allen","display_name":"Matthew Allen","email":"maallen@nvidia.com","username":"matthewallen"},"ref":"refs/changes/20/991520/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/20/991520/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/20/991520/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/20/991520/8"}}},"commit":{"parents":[{"commit":"39b0ad3ef7c919016a94c095c8afb29193e418f3","subject":"account: Consolidate the expected stat row check","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/39b0ad3ef7c919016a94c095c8afb29193e418f3"}]}],"author":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-04 03:37:12.000000000","tz":-420},"committer":{"name":"Matthew Allen","email":"maallen@nvidia.com","date":"2026-09-28 23:03:16.000000000","tz":-420},"subject":"container: Consolidate the expected stat row check","message":"container: Consolidate the expected stat row check\n\nThis change routes the ContainerBroker stat relation reads through\nDatabaseBroker.get_stat_row(), which ensures the stat relation holds its\nsingle row. If it finds that row missing, it quarantines the database\n(if quarantine_ok is True) and raises an exception. Every read of the\nstat relation that faults on a missing row is routed through the helper.\nThe reads left direct are the pre-migration fallback in\nget_policy_stats(), a sub-select in get_misplaced_since(), and the\n_migrate_add_storage_policy() script; these return an empty result\nrather than faulting.\n\nNote that in some cases, calling _do_get_info_query() when the stat row\nwas missing could spin forever: the loop only exits with a row or a\nre-raised OperationalError, and a query that returns no rows produces\nneither, and nothing in the loop yields.\n\nUnit tests cover each converted read, asserting a quarantine naming\ncontainer_info where the read reaches the stat row, and that schemas\nwhose pre-migration fallbacks short-circuit ahead of it still pass\nthrough untouched. The get_info() test also fails rather than hangs if\n_do_get_info_query() reissues the same query, guarding the spin-forever\nbehavior present before this change.\n\nAssisted-By: Claude:opus-5\nChange-Id: I0b634f4bd5115da2f1cadccd58d0aed0dd9058ba\nSigned-off-by: Matthew Allen \u003cmaallen@nvidia.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/93d785e4a4f1be9756177b8f375e24825b07b5e7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/93d785e4a4f1be9756177b8f375e24825b07b5e7"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
