)]}'
{"id":"openstack%2Fswift~774342","triplet_id":"openstack%2Fswift~stable%2Ftrain~I83441cb0ba600e7c26aa24a80bc3fb85803c90f3","project":"openstack/swift","branch":"stable/train","topic":"train-sharding","hashtags":[],"change_id":"I83441cb0ba600e7c26aa24a80bc3fb85803c90f3","subject":"Populate shrinking shards with shard ranges learnt from root","status":"MERGED","created":"2021-02-06 02:29:07.000000000","updated":"2021-03-01 21:31:42.000000000","submitted":"2021-03-01 21:30:01.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"774342-train-sharding","meta_rev_id":"a7674b8c67c862bb71c6628ab100db5f22428b9b","_number":774342,"virtual_id_number":774342,"owner":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-03-01 21:29:56.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2021-02-26 23:12:41.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2021-02-26 23:12:41.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}],"reviewers":{"REVIEWER":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-02-06 02:29:07.000000000","updated_by":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2021-02-06 03:44:38.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":"2021-02-26 22:41:09.000000000","updated_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"reviewer":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"state":"REVIEWER"}],"messages":[{"id":"4daf95b81b1313cf7802d3a8c57402ef3df17ca4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2021-02-06 02:29:07.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"75b76dd295354bf557316d8f621abbe85626266c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-06 03:44:38.000000000","message":"Patch Set 1: 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\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/20c051040c80442c89ae437b0eea1f60 : SUCCESS in 6m 22s\n- grenade https://zuul.opendev.org/t/openstack/build/c384e88785474080b177fca9c41e2260 : SUCCESS in 56m 35s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a725f8a3aa0f499594c516ce3a847980 : SUCCESS in 46m 48s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/ec520dc68338478aae6366a79b6952a8 : SUCCESS in 8m 37s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/b76e1b26976a49d08dff37488f825c1d : SUCCESS in 13m 02s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/48c66935bda24fe9b59a75ebfbd04435 : SUCCESS in 13m 36s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f8374b53b237452a9fb90536c45fb169 : SUCCESS in 13m 04s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/07f74a3847734343be7c66dbbe4724e3 : SUCCESS in 9m 28s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/da87f5711b7b451d8dfeb23674e2812b : SUCCESS in 9m 24s\n- swift-tox-func-domain-remap-staticweb-py27 https://zuul.opendev.org/t/openstack/build/5a6798e33bc1446e9d202bd1f44404dc : SUCCESS in 14m 16s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/d63145f91f964c58b287778cd8950e0c : SUCCESS in 9m 55s\n- swift-tox-func-s3api-py27 https://zuul.opendev.org/t/openstack/build/a1fd36af9efb4136b88f69aa15e72fd4 : SUCCESS in 12m 06s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/0b7ce3ffb6a845a48c1644b8bbee5159 : SUCCESS in 13m 50s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/f79371ee6ab74c21836f01f4ec1b1f4e : SUCCESS in 10m 21s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/e03643db212d432987061e4c5b23474c : SUCCESS in 10m 22s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/870fd1b9d8ed45169961089072e67ff1 : SUCCESS in 9m 52s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/81f923012cb14aa4be2fa5f84524b2dc : SUCCESS in 13m 25s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/6b0fa6f8ea274eb68ed6c12f95c2b5f5 : RETRY_LIMIT in 4m 16s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/4e8deb51dba542509afeee329636ea60 : RETRY_LIMIT in 4m 10s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/6b4f09f1eb5745f8ac3ce5e16bce6ea9 : SUCCESS in 28m 25s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/f4f68d6f8d3e498ea27a6852b4acd5a5 : SUCCESS in 28m 03s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/42b45194a3f242d090ef94b25189c76a : SUCCESS in 27m 49s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/37995aacbd8e4825b6d917d9605722db : SUCCESS in 11m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c679b5621d574139ba5d15684c7f1af5 : SUCCESS in 6m 12s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/8aa7063923ed49f9a444b18031c29032 : RETRY_LIMIT in 6m 38s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/448fe47f49484079acf2dbade7b80be5 : SUCCESS in 47m 31s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/fba5384ee4d6479fa0d776663f897e94 : SUCCESS in 50m 58s","accounts_in_message":[],"_revision_number":1},{"id":"4ba7cf766f5824980dbfcb1561f51d263c769126","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2021-02-25 02:02:32.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.","accounts_in_message":[],"_revision_number":2},{"id":"eac0293cb5d3dfcf2c710aebfa2c4d915486a59e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-25 04:43:02.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2dbbbc63262244db8241f48c7b0323c6 : SUCCESS in 5m 37s\n- grenade https://zuul.opendev.org/t/openstack/build/1ca82f4f6b87438bb3c59637ce597e99 : SUCCESS in 59m 13s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/2d4b330387e6406095257b5e374bf7b9 : SUCCESS in 42m 38s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e1dca5ffda254e7196359914c2314037 : SUCCESS in 9m 08s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/2449ead0f88a4e268b0c9fcd106a4ea5 : SUCCESS in 12m 39s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/b8554dcef054479bb5fe48a19b585b8c : SUCCESS in 12m 42s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a2359b5b1ccc44e3a13dfa7112f2fdb8 : SUCCESS in 12m 29s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/e1471bb940644ee5976a2fa0f7e7845d : SUCCESS in 10m 52s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/50e1e65587974d6fa97ab0a3cb36b457 : SUCCESS in 9m 28s\n- swift-tox-func-domain-remap-staticweb-py27 https://zuul.opendev.org/t/openstack/build/b6936b02975c44a0a42a45706b999396 : SUCCESS in 9m 34s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/9ca0d166342749ddbb0f9e4d6ce4aefe : SUCCESS in 10m 35s\n- swift-tox-func-s3api-py27 https://zuul.opendev.org/t/openstack/build/80043ad513284198b8d2544080b7148d : SUCCESS in 14m 22s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/3e08c69738db4199a29b3e9e12906935 : SUCCESS in 18m 53s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/431ef6ff09b54416af04d1bb26b8a5b4 : SUCCESS in 20m 24s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/773e665fcbe64710b72d1ba035a2bea1 : SUCCESS in 11m 38s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/b1e49f426b234ddab294de81c71ad89e : SUCCESS in 11m 47s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/6b255fd5c677474b8b60615fe97347c6 : SUCCESS in 15m 51s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/3536c57c2d8e4b7e9a79257232a5ece9 : SUCCESS in 22m 26s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/2e566fa5d11f4c5c961dca3188295673 : SUCCESS in 39m 02s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/f52fb0ad73c2454ab80b60e87c861ebc : SUCCESS in 41m 05s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/707a46ffa112459aa0b42ddcade90e58 : SUCCESS in 29m 34s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ee2f6f2273c249e199b6e4dd24beecd8 : SUCCESS in 29m 04s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2da8d7e89ae0461b9f75806fa782f6e0 : SUCCESS in 13m 43s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/10d16f1e527541bd8a88941860c800a8 : SUCCESS in 7m 20s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a2f1d7c033654cb9a08a4db22ca0e26a : FAILURE in 10m 40s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ea156bcb7e224378a1d1da27a790eaa5 : SUCCESS in 55m 37s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/42457132849848e684fd3929f9db6f34 : SUCCESS in 1h 06m 16s","accounts_in_message":[],"_revision_number":2},{"id":"059a771f0974714e77bf082e986c795bc29d1129","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-02-26 22:41:09.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.","accounts_in_message":[],"_revision_number":3},{"id":"cf0e1d447d06f6a395502899b39a8b6d3bf7899c","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-02-26 23:12:41.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"9df5663d3b31defb95c8452ed52e2d4c48ce3b35","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-26 23:55:55.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fc38c758de0c4fa9bb2785e4eafdfc5b : SUCCESS in 5m 55s\n- grenade https://zuul.opendev.org/t/openstack/build/f7335e316eb3420ebfb74b9a229f5469 : SUCCESS in 1h 02m 50s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/0060d5791a6e445690d22a5fe8545dbf : SUCCESS in 46m 04s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/84bbd22d856a4744879ea65cac745f72 : SUCCESS in 9m 18s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/c601a07b891c4037a754d9c12a488295 : SUCCESS in 13m 41s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/ef87e045243a4b53bb8127a3af13d210 : SUCCESS in 12m 24s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/c1d0151c90054780aec6525e4cc0a864 : SUCCESS in 14m 38s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/fd76d1031e3a4b269f2afedfdeff7d36 : SUCCESS in 10m 26s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/5e4861ab4cd24522a1e11514842dfa1c : SUCCESS in 10m 43s\n- swift-tox-func-domain-remap-staticweb-py27 https://zuul.opendev.org/t/openstack/build/cca6a1d45c894fb784c9de3277bb7f7f : SUCCESS in 11m 18s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/ab2eb5f2d5db4eeebca3fca32a58ae48 : SUCCESS in 13m 00s\n- swift-tox-func-s3api-py27 https://zuul.opendev.org/t/openstack/build/56c03801cd1444d7b1229b8d6b35ccbb : SUCCESS in 13m 47s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/7e0399faf68d4a54a3068a609315e73f : SUCCESS in 12m 14s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/47531ea79dec4e0ca5daa70e37ca89ac : SUCCESS in 11m 02s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/4ce6158e4ba14e6999340a42b4f7b9bd : SUCCESS in 11m 09s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/55021d48fa5742c2b02ee1094c39f6b6 : SUCCESS in 11m 22s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/e20f7d3ed5c24632a487d9895f9fb7d2 : SUCCESS in 14m 24s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/0ea4bf21eeb64b8fad5f7825944a3dc4 : SUCCESS in 19m 24s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/45a6601f2d78452789919e928bdbbc47 : SUCCESS in 36m 43s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/06e7d681be704c9b9e1df84c9cb9891e : SUCCESS in 30m 52s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/ec43871423724736922d97e7784a78b4 : SUCCESS in 28m 41s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/054a9cdc5b624f0bbfc7de2f35b9a88b : SUCCESS in 28m 13s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1d056eff2af34417aa78f83dda59f6ba : SUCCESS in 12m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c16fec7c53a84b8a8018788a54296bd5 : SUCCESS in 6m 29s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/cffd4c8f5f6d4be784a62d5fef0cb60a : FAILURE in 26m 29s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/8b3b20dd29de4f25878a2277ee68a9eb : SUCCESS in 1h 07m 00s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/a8191903c8954939af438895182f0838 : SUCCESS in 1h 05m 22s","accounts_in_message":[],"_revision_number":3},{"id":"8f02c59d15a0a42b9a5e0a96c8932c65343f5852","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-28 02:31:31.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"4e8cd9bebc0230e79616199f4f2b440df37ec5a1","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-28 03:34:32.000000000","message":"Patch Set 3: Verified-2\n\nThis change depends on a change that failed to merge.","accounts_in_message":[],"_revision_number":3},{"id":"9af8e50af22df194c4fcef1731ae38ef5f4c6d4e","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-03-01 16:37:11.000000000","message":"Patch Set 3:\n\nrecheck","accounts_in_message":[],"_revision_number":3},{"id":"a516e721078ffd5dd156bc744795779f2c5bb8b9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-03-01 18:24:56.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fdf049ecfb8d496e8e88f3e6b8ec780d : SUCCESS in 6m 11s\n- grenade https://zuul.opendev.org/t/openstack/build/6da30a7a786948e4b1a647a70bd5d038 : SUCCESS in 57m 13s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/dc2daa28acbc4fc8afe02654a4dd2a17 : SUCCESS in 41m 17s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/78a47d4a21d946ffaeedfdd5711682fb : SUCCESS in 10m 46s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/b501187dbd8241f489ec475b47ccceec : SUCCESS in 14m 54s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/32f1cc8b094b49b6ae23b6029aa9a1af : SUCCESS in 17m 25s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/b74d8350b59b400681af6c9e0e1820e0 : SUCCESS in 14m 03s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/8f01410c750740f28dfecf7dbf41f60e : SUCCESS in 11m 57s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/a6f57192b0164265a75d98c77cbddf53 : SUCCESS in 10m 14s\n- swift-tox-func-domain-remap-staticweb-py27 https://zuul.opendev.org/t/openstack/build/84fdae83ead646d2ad3d27a32d193ee0 : SUCCESS in 11m 01s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/d8493efb290e43bfa055f54d7866a049 : SUCCESS in 17m 59s\n- swift-tox-func-s3api-py27 https://zuul.opendev.org/t/openstack/build/e6a921c59b524d5dbcb191d646416426 : SUCCESS in 20m 50s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/efeb244d60364f499fdfcf2a3f37f8f8 : SUCCESS in 16m 35s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/1d7b61e48cd7420f94e1dbf72bb2eb50 : SUCCESS in 14m 52s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/b78bda3c5dad4d81838bb34ce29b202a : SUCCESS in 14m 42s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/fee7f10e917e41c38b8282edff7df6d7 : SUCCESS in 16m 09s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/35989a3a31c74dfebec99d19c77f5247 : SUCCESS in 15m 44s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/4ce86a5d195b4c87bfeef5f9f81b502f : SUCCESS in 24m 34s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/1ade28858a7b45499c5b893c8ce3deb5 : SUCCESS in 38m 44s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/6357d4b237b344879e6338c0bd281dc2 : SUCCESS in 42m 38s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/87bf29cee88b4ccaa5fc46ac0dfa4758 : SUCCESS in 30m 40s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/703c3f7b514e42e183ed3e968fd86c46 : SUCCESS in 31m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d90d8ddb101f4cdfb8e9a23706dfeebc : SUCCESS in 14m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f7ad9a49c4574bfe8c3adeef62a98f70 : SUCCESS in 6m 58s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/9f03ca0bed054c8f92a8b697042b1419 : FAILURE in 11m 15s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b3c582375d634a82bfa1ca9b551db65f : SUCCESS in 57m 44s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/dd99fb7573084156a5fdeb164dedc9a5 : SUCCESS in 1h 08m 24s","accounts_in_message":[],"_revision_number":3},{"id":"779a2405a537db4b588392ac822fdb69761085a7","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-03-01 18:25:41.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"c7528184ce8cc6597bbee526a524aa12d06b7290","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-03-01 21:29:56.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b5c0cf1b1c344ec094423f110e453071 : SUCCESS in 6m 22s\n- grenade https://zuul.opendev.org/t/openstack/build/15244168e552493e963c19cf35fbd08d : SUCCESS in 59m 26s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/7df608467e834cd4abcef191dc77c5f0 : SUCCESS in 52m 21s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/373465a67d0d486bb0bb81554a4c553b : SUCCESS in 10m 58s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/a135a79eab2b40db830dcc5af98a3b4d : SUCCESS in 15m 40s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/204f27efee844132b1740b78d19d33d3 : SUCCESS in 13m 08s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/adf77758a4a94c0495b88eb9ccec0997 : SUCCESS in 13m 25s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/957f78ce1e694daab384b1d2b94e1bd7 : SUCCESS in 10m 24s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/0d8d83e8b0e0492e9027bb44c137b851 : SUCCESS in 12m 22s\n- swift-tox-func-domain-remap-staticweb-py27 https://zuul.opendev.org/t/openstack/build/37aaa1ae2ab54b618dd8508c3da1d5d2 : SUCCESS in 12m 45s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/d6f228f3b88b4ee498f8d2b0ce653ab1 : SUCCESS in 12m 01s\n- swift-tox-func-s3api-py27 https://zuul.opendev.org/t/openstack/build/5f9bfb29d7c14d2db26947f019802a17 : SUCCESS in 16m 37s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/ae6ffe0edeb3434f80542438ce3a2d16 : SUCCESS in 11m 17s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/5e82007f52c24314a8187c9df367c6ff : SUCCESS in 11m 04s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/212b8cd939734bb49adbf1e95b65b191 : SUCCESS in 12m 28s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/d49bdb366b124cf29b38f2f94938f6b2 : SUCCESS in 13m 50s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/ebd4fa058a6543d68e5c43e9f13563a7 : SUCCESS in 50m 59s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/b62d5b43d5064444a2e3def210e22716 : SUCCESS in 42m 39s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/d19216d4df77487ca5ca4ace76cbc5c0 : SUCCESS in 28m 37s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/725c78186bce43afb3a0f6b7fba3bd40 : SUCCESS in 28m 44s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b09a6cfa3cd74dd0a539f018ac7cb98e : SUCCESS in 12m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/df5fd9e1a89b4a3a9b1d6807ebc6692a : SUCCESS in 7m 42s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f775e8b89b524d929987d51133bc64dd : SUCCESS in 1h 04m 41s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/6034fdc6380f4fd0b9c52757b6164557 : SUCCESS in 1h 03m 51s","accounts_in_message":[],"_revision_number":3},{"id":"5224d67f4cb150ca0db2ac260780aa564fbe2622","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-03-01 21:30:01.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":3},{"id":"a7674b8c67c862bb71c6628ab100db5f22428b9b","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-03-01 21:31:42.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/05a1dab6e1f848e9bc29060db679018c : SUCCESS in 55s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/db03160579cd4a3db8433f890bbfd394 : SUCCESS in 42s (non-voting)","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"80b7892266389d04f122dd7b870fd64c98c0fe29","revisions":{"cf8f1517eab3a50cdf4744103cc0893c47fdff36":{"kind":"REWORK","_number":1,"created":"2021-02-06 02:29:07.000000000","uploader":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"ref":"refs/changes/42/774342/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/42/774342/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/42/774342/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/42/774342/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/42/774342/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/42/774342/1"}}},"commit":{"parents":[{"commit":"202c98340e3fedb8398c9401551a9b3efcae2b46","subject":"Use swiftclient Connections in sharding probe tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/202c98340e3fedb8398c9401551a9b3efcae2b46"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2020-11-09 21:46:45.000000000","tz":-360},"committer":{"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","date":"2021-02-06 02:23:58.000000000","tz":-360},"subject":"Populate shrinking shards with shard ranges learnt from root","message":"Populate shrinking shards with shard ranges learnt from root\n\nShard shrinking can be instigated by a third party modifying shard\nranges, moving one shard to shrinking state and expanding the\nnamespace of one or more other shard(s) to act as acceptors. These\nstate and namespace changes must propagate to the shrinking and\nacceptor shards. The shrinking shard must also discover the acceptor\nshard(s) into which it will shard itself.\n\nThe sharder audit function already updates shards with their own state\nand namespace changes from the root. However, there is currently no\nmechanism for the shrinking shard to learn about the acceptor(s) other\nthan by a PUT request being made to the shrinking shard container.\n\nThis patch modifies the shard container audit function so that other\noverlapping shards discovered from the root are merged into the\naudited shard\u0027s db. In this way, the audited shard will have acceptor\nshards to cleave to if shrinking.\n\nThis new behavior is restricted to when the shard is shrinking. In\ngeneral, a shard is responsible for processing its own sub-shard\nranges (if any) and reporting them to root. Replicas of a shard\ncontainer synchronise their sub-shard ranges via replication, and do\nnot rely on the root to propagate sub-shard ranges between shard\nreplicas. The exception to this is when a third party (or\nauto-sharding) wishes to instigate shrinking by modifying the shard\nand other acceptor shards in the root container.  In other\ncircumstances, merging overlapping shard ranges discovered from the\nroot is undesirable because it risks shards inheriting other unrelated\nshard ranges. For example, if the root has become polluted by\nsplit-brain shard range management, a sharding shard may have its\nsub-shards polluted by an undesired shard from the root.\n\nDuring the shrinking process a shard range\u0027s own shard range state may\nbe either shrinking or, prior to this patch, sharded. The sharded\nstate could occur when one replica of a shrinking shard completed\nshrinking and moved the own shard range state to sharded before other\nreplica(s) had completed shrinking. This makes it impossible to\ndistinguish a shrinking shard (with sharded state), which we do want\nto inherit shard ranges, from a sharding shard (with sharded state),\nwhich we do not want to inherit shard ranges.\n\nThis patch therefore introduces a new shard range state, \u0027SHRUNK\u0027, and\napplies this state to shard ranges that have completed shrinking.\nShards are now restricted to inherit shard ranges from the root only\nwhen their own shard range state is either SHRINKING or SHRUNK.\n\nThis patch also:\n\n - Stops overlapping shrinking shards from generating audit warnings:\n   overlaps are cured by shrinking and we therefore expect shrinking\n   shards to sometimes overlap.\n\n - Extends an existing probe test to verify that overlapping shard\n   ranges may be resolved by shrinking a subset of the shard ranges.\n\n - Adds a --no-auto-shard option to swift-container-sharder to enable the\n   probe tests to disable auto-sharding.\n\n - Improves sharder logging, in particular by decrementing ranges_todo\n   when a shrinking shard is skipped during cleaving.\n\n - Adds a ShardRange.sort_key class method to provide a single definition\n   of ShardRange sort ordering.\n\n - Improves unit test coverage for sharder shard auditing.\n\nCo-Authored-By: Tim Burke \u003ctim.burke@gmail.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nCherry-Picked-From: I9034a5715406b310c7282f1bec9625fe7acd57b6\nChange-Id: I83441cb0ba600e7c26aa24a80bc3fb85803c90f3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cf8f1517eab3a50cdf4744103cc0893c47fdff36"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cf8f1517eab3a50cdf4744103cc0893c47fdff36"}]},"branch":"refs/heads/stable/train"},"c250aa74bccb5c122c1881b4c00f8fd8dc2b5308":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2021-02-25 02:02:32.000000000","uploader":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"ref":"refs/changes/42/774342/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/42/774342/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/42/774342/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/42/774342/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/42/774342/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/42/774342/2"}}},"commit":{"parents":[{"commit":"d6d027342d3580004aa3e90d4fbd31b560116783","subject":"Use swiftclient Connections in sharding probe tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d6d027342d3580004aa3e90d4fbd31b560116783"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2020-11-09 21:46:45.000000000","tz":-360},"committer":{"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","date":"2021-02-25 01:51:54.000000000","tz":-360},"subject":"Populate shrinking shards with shard ranges learnt from root","message":"Populate shrinking shards with shard ranges learnt from root\n\nShard shrinking can be instigated by a third party modifying shard\nranges, moving one shard to shrinking state and expanding the\nnamespace of one or more other shard(s) to act as acceptors. These\nstate and namespace changes must propagate to the shrinking and\nacceptor shards. The shrinking shard must also discover the acceptor\nshard(s) into which it will shard itself.\n\nThe sharder audit function already updates shards with their own state\nand namespace changes from the root. However, there is currently no\nmechanism for the shrinking shard to learn about the acceptor(s) other\nthan by a PUT request being made to the shrinking shard container.\n\nThis patch modifies the shard container audit function so that other\noverlapping shards discovered from the root are merged into the\naudited shard\u0027s db. In this way, the audited shard will have acceptor\nshards to cleave to if shrinking.\n\nThis new behavior is restricted to when the shard is shrinking. In\ngeneral, a shard is responsible for processing its own sub-shard\nranges (if any) and reporting them to root. Replicas of a shard\ncontainer synchronise their sub-shard ranges via replication, and do\nnot rely on the root to propagate sub-shard ranges between shard\nreplicas. The exception to this is when a third party (or\nauto-sharding) wishes to instigate shrinking by modifying the shard\nand other acceptor shards in the root container.  In other\ncircumstances, merging overlapping shard ranges discovered from the\nroot is undesirable because it risks shards inheriting other unrelated\nshard ranges. For example, if the root has become polluted by\nsplit-brain shard range management, a sharding shard may have its\nsub-shards polluted by an undesired shard from the root.\n\nDuring the shrinking process a shard range\u0027s own shard range state may\nbe either shrinking or, prior to this patch, sharded. The sharded\nstate could occur when one replica of a shrinking shard completed\nshrinking and moved the own shard range state to sharded before other\nreplica(s) had completed shrinking. This makes it impossible to\ndistinguish a shrinking shard (with sharded state), which we do want\nto inherit shard ranges, from a sharding shard (with sharded state),\nwhich we do not want to inherit shard ranges.\n\nThis patch therefore introduces a new shard range state, \u0027SHRUNK\u0027, and\napplies this state to shard ranges that have completed shrinking.\nShards are now restricted to inherit shard ranges from the root only\nwhen their own shard range state is either SHRINKING or SHRUNK.\n\nThis patch also:\n\n - Stops overlapping shrinking shards from generating audit warnings:\n   overlaps are cured by shrinking and we therefore expect shrinking\n   shards to sometimes overlap.\n\n - Extends an existing probe test to verify that overlapping shard\n   ranges may be resolved by shrinking a subset of the shard ranges.\n\n - Adds a --no-auto-shard option to swift-container-sharder to enable the\n   probe tests to disable auto-sharding.\n\n - Improves sharder logging, in particular by decrementing ranges_todo\n   when a shrinking shard is skipped during cleaving.\n\n - Adds a ShardRange.sort_key class method to provide a single definition\n   of ShardRange sort ordering.\n\n - Improves unit test coverage for sharder shard auditing.\n\nCo-Authored-By: Tim Burke \u003ctim.burke@gmail.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nCherry-Picked-From: I9034a5715406b310c7282f1bec9625fe7acd57b6\nChange-Id: I83441cb0ba600e7c26aa24a80bc3fb85803c90f3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c250aa74bccb5c122c1881b4c00f8fd8dc2b5308"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c250aa74bccb5c122c1881b4c00f8fd8dc2b5308"}]},"branch":"refs/heads/stable/train"},"80b7892266389d04f122dd7b870fd64c98c0fe29":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2021-02-26 22:41:09.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/42/774342/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/42/774342/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/42/774342/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/42/774342/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/42/774342/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/42/774342/3"}}},"commit":{"parents":[{"commit":"1f8c16fcaa9a2fe95c325a1c8b526c09bbf227b6","subject":"Use swiftclient Connections in sharding probe tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1f8c16fcaa9a2fe95c325a1c8b526c09bbf227b6"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2020-11-09 21:46:45.000000000","tz":-360},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-02-26 22:39:05.000000000","tz":-480},"subject":"Populate shrinking shards with shard ranges learnt from root","message":"Populate shrinking shards with shard ranges learnt from root\n\nShard shrinking can be instigated by a third party modifying shard\nranges, moving one shard to shrinking state and expanding the\nnamespace of one or more other shard(s) to act as acceptors. These\nstate and namespace changes must propagate to the shrinking and\nacceptor shards. The shrinking shard must also discover the acceptor\nshard(s) into which it will shard itself.\n\nThe sharder audit function already updates shards with their own state\nand namespace changes from the root. However, there is currently no\nmechanism for the shrinking shard to learn about the acceptor(s) other\nthan by a PUT request being made to the shrinking shard container.\n\nThis patch modifies the shard container audit function so that other\noverlapping shards discovered from the root are merged into the\naudited shard\u0027s db. In this way, the audited shard will have acceptor\nshards to cleave to if shrinking.\n\nThis new behavior is restricted to when the shard is shrinking. In\ngeneral, a shard is responsible for processing its own sub-shard\nranges (if any) and reporting them to root. Replicas of a shard\ncontainer synchronise their sub-shard ranges via replication, and do\nnot rely on the root to propagate sub-shard ranges between shard\nreplicas. The exception to this is when a third party (or\nauto-sharding) wishes to instigate shrinking by modifying the shard\nand other acceptor shards in the root container.  In other\ncircumstances, merging overlapping shard ranges discovered from the\nroot is undesirable because it risks shards inheriting other unrelated\nshard ranges. For example, if the root has become polluted by\nsplit-brain shard range management, a sharding shard may have its\nsub-shards polluted by an undesired shard from the root.\n\nDuring the shrinking process a shard range\u0027s own shard range state may\nbe either shrinking or, prior to this patch, sharded. The sharded\nstate could occur when one replica of a shrinking shard completed\nshrinking and moved the own shard range state to sharded before other\nreplica(s) had completed shrinking. This makes it impossible to\ndistinguish a shrinking shard (with sharded state), which we do want\nto inherit shard ranges, from a sharding shard (with sharded state),\nwhich we do not want to inherit shard ranges.\n\nThis patch therefore introduces a new shard range state, \u0027SHRUNK\u0027, and\napplies this state to shard ranges that have completed shrinking.\nShards are now restricted to inherit shard ranges from the root only\nwhen their own shard range state is either SHRINKING or SHRUNK.\n\nThis patch also:\n\n - Stops overlapping shrinking shards from generating audit warnings:\n   overlaps are cured by shrinking and we therefore expect shrinking\n   shards to sometimes overlap.\n\n - Extends an existing probe test to verify that overlapping shard\n   ranges may be resolved by shrinking a subset of the shard ranges.\n\n - Adds a --no-auto-shard option to swift-container-sharder to enable the\n   probe tests to disable auto-sharding.\n\n - Improves sharder logging, in particular by decrementing ranges_todo\n   when a shrinking shard is skipped during cleaving.\n\n - Adds a ShardRange.sort_key class method to provide a single definition\n   of ShardRange sort ordering.\n\n - Improves unit test coverage for sharder shard auditing.\n\nCo-Authored-By: Tim Burke \u003ctim.burke@gmail.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nCherry-Picked-From: I9034a5715406b310c7282f1bec9625fe7acd57b6\nChange-Id: I83441cb0ba600e7c26aa24a80bc3fb85803c90f3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/80b7892266389d04f122dd7b870fd64c98c0fe29"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/80b7892266389d04f122dd7b870fd64c98c0fe29"}]},"branch":"refs/heads/stable/train"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
