)]}'
{"id":"openstack%2Fswift~790550","triplet_id":"openstack%2Fswift~master~Iaa66b9fe57c924445a5ede908053e78fc0ed8817","project":"openstack/swift","branch":"master","topic":"ring-v2","attention_set":{"15343":{"account":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"last_update":"2022-04-27 23:01:19.000000000","reason":"Matthew Oliver replied on the change"}},"removed_from_attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2022-04-27 23:01:19.000000000","reason":"Matthew Oliver replied on the change"}},"hashtags":[],"change_id":"Iaa66b9fe57c924445a5ede908053e78fc0ed8817","subject":"ring: Keep track of last primary nodes from last rebalance","status":"NEW","created":"2021-05-11 05:24:34.000000000","updated":"2022-04-27 23:01:19.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":39,"unresolved_comment_count":18,"has_review_started":true,"meta_rev_id":"f0646f655fef58c6866d369095fcfe3516b6d552","_number":790550,"virtual_id_number":790550,"owner":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:check","value":1,"date":"2021-10-13 01:24:37.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"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"]},{"value":0,"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":{"all":[{"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"]},{"value":0,"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":[],"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-05-11 07:52:08.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-05-11 15:08:07.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":"REVIEWER"},{"updated":"2021-05-12 00:59:42.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":"CC"},{"updated":"2021-09-11 01:05:55.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":"5f803d266b29ef6f01cfc1cfa32b54ca66eaef29","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-05-11 05:24:34.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"22920668eba44c64d74673157b1871957b4718ba","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-11 07:52:08.000000000","message":"Patch Set 1: Verified-1\n\n(1 comment)\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/48f69f678d224f6a98e865372aaee3b6 : SUCCESS in 9m 24s\n- grenade https://zuul.opendev.org/t/openstack/build/6c9c2e674bd34368aac9cb10c2d70cf1 : SUCCESS in 58m 11s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/8194471e85284b1ca96bd8c27d715cc1 : FAILURE in 23m 26s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/af2367e829a04b1293b08a72425bc9cf : SUCCESS in 9m 19s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/fd4e7272309a4c75b4661939a324f79a : SUCCESS in 7m 18s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/14ff0c3286114f43a938ea232b39139c : FAILURE in 13m 56s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/2e08f9e5ed3648fa9f381c0634207f14 : FAILURE in 14m 52s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/b9b2d680721b4911a4a5ef49bbe9ea05 : FAILURE in 14m 30s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/9bd5c4c422104ca3bd9dd28c70842167 : FAILURE in 14m 43s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/bae233935117470a8f2a14369e8fb1fa : FAILURE in 13m 53s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/2e8a2d1cefe642deb5baf1c2b060c4c7 : SUCCESS in 20m 33s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/8f80205b827042d4b4e1d7313dbdd188 : SUCCESS in 20m 39s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/09b8103b69d94b23adda153681ecbfb4 : SUCCESS in 18m 20s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/599bb1261db646f1a7ecebbf7431030c : SUCCESS in 16m 04s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/16b97dce5a3c49e489ade9925ae486ba : SUCCESS in 23m 03s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/7d9875d0553645abad50fcbb41a61892 : SUCCESS in 17m 53s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/92025e48090247a7a52f4fbc9c227a0e : FAILURE in 7m 03s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/74c9e5e8444b40729364450754be3d6b : FAILURE in 4m 55s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/abc170274c7f4deda1dade5a8238e9f6 : TIMED_OUT in 2h 01m 37s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/f01df9eb6cf54ef188fb94a1b470ff06 : TIMED_OUT in 2h 01m 04s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/3dc24d30f407449ebb72163184d6b8dd : TIMED_OUT in 1h 32m 23s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7ca6c63e09b0466aa5c53a7546faa74c : TIMED_OUT in 1h 32m 15s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0ed1a73845dd4a3fab1840b6b7ffe4ea : FAILURE in 17m 29s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e76bb584d8b2434fb2f8fd21ad21c394 : FAILURE in 5m 45s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/28eb3bdb36194b599632cd6876e3f648 : SUCCESS in 23m 22s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0b7c6e375e0043ce895b29d15d862a74 : FAILURE in 24m 08s","accounts_in_message":[],"_revision_number":1},{"id":"bcc9e63b1a321db6f9fa73238b3ae46a50e8d3cb","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-05-11 15:08:07.000000000","message":"Patch Set 1: Code-Review+1\n\n(5 comments)\n\nthis is super cool!","accounts_in_message":[],"_revision_number":1},{"id":"1044c73edbb4a6f38759d358ad6caa8b046b817a","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-05-11 23:43:41.000000000","message":"Patch Set 1:\n\n(4 comments)\n\nThanks Clay, I was going it in gather because it I didn\u0027t want to add an additional loop through the ring and initially I wanted to avoid adding devices that had been removed.\n\nBut `_build_dispersion_graph` does seems like a great place to put it.. and infact storing the old removed devices might be cool anyway, if they\u0027re not in devs then we can still return None or whatever.. and it gives us an internal diff from last rebalance, which could be much more useful data structure that might be of use in the future.\n\nWill re-work it 😊","accounts_in_message":[],"_revision_number":1},{"id":"62cf4028748cf2238fb52a2990d680b224301e55","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-05-12 00:59:42.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"c8ca39a96e419d2278edbd6fb82dc6bb35dd89ae","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-05-12 05:37:34.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"1cde988d5c3b4fccc0f3d8080f84dd80006e5f29","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-05-12 05:48:05.000000000","message":"Patch Set 2:\n\n(1 comment)\n\nthanks Tim for the review, I was too busy fixing deserialization and getting a new version going with for_read happening to notice your review until after pushing the last. So not ignoring your suggestions :P","accounts_in_message":[],"_revision_number":2},{"id":"776f25b8791dbc9c73053606d3343c52a5ccc0c9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-12 06:43:53.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/57a2ab6efd514c9bb0c4d8bf36e7cd56 : SUCCESS in 8m 20s\n- grenade https://zuul.opendev.org/t/openstack/build/4311dcfe181749fab6e224b4f9393379 : SUCCESS in 1h 05m 04s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/84cd8d1ee3e447d4b69dfca22ca450fd : SUCCESS in 38m 08s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e325a2c2b7954fd2b36aa86c0c40842c : SUCCESS in 8m 01s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/0d2524a4bb6b42c19bc28acd90fb152c : SUCCESS in 6m 44s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/f5b2559b18b04a1d96050f4ced6017c4 : SUCCESS in 17m 07s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/5a238c7763284a6f8ed6dc2b403c68d0 : SUCCESS in 15m 15s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/66687d5dd3b1448fb85afd24c1265089 : SUCCESS in 20m 12s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/c9a7e3d8be394f85aed0414ad85f4654 : SUCCESS in 19m 49s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/c3a00a64563d4a4898c81ad0a987496c : SUCCESS in 20m 08s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/11b3dbff9e724ff1905efb62c4886297 : SUCCESS in 26m 54s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/9a8e003c88ad410891293c297d0dd683 : SUCCESS in 26m 50s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/559efeb9438942058c86074ee4660919 : SUCCESS in 28m 57s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/60e685ab8d2f44899cc162103dceb945 : SUCCESS in 21m 49s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/0a6b0c19e4534077ac2139304976b468 : SUCCESS in 28m 30s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/c435a054724f456a9e0d95a4589d426f : SUCCESS in 28m 06s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/172483fa9eea4cbeadbbb0b8d2eaf9e3 : SUCCESS in 5m 37s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/0c0dacac20124a08af76dd4c361c67d7 : SUCCESS in 26m 17s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/5cf1f449825f4f3b9ba24bb743f9ec27 : SUCCESS in 47m 36s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/797e7e204587448aba1b834c39f90b58 : SUCCESS in 53m 09s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/cc962b39fba244aebdd0bdaab2c471c7 : SUCCESS in 40m 06s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/38c7c887549a47f2a25280e7f78950f1 : SUCCESS in 32m 19s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d81da063d9934e7192c2b68cdd838492 : SUCCESS in 17m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/84b10d86769548e5b8e80e4969235485 : SUCCESS in 5m 25s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/c0cb52462091414da6cae65048c81384 : SUCCESS in 25m 08s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/51a70952c9854f5e8bf63c4d31fdb3e5 : SUCCESS in 48m 25s","accounts_in_message":[],"_revision_number":2},{"id":"f9d496f3b52909e242b942a5acd3f6819030eec3","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-05-12 21:01:42.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"95ba94de7d81a4e4e51fac3722bdcf48780e1241","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-05-13 04:29:16.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.","accounts_in_message":[],"_revision_number":3},{"id":"0a9866e1867b78907d6e3a9aa6f4ec82d612eb03","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-13 05:34:33.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fb410b38fc614c768c76fb1b1d7d5b29 : SUCCESS in 7m 14s\n- grenade https://zuul.opendev.org/t/openstack/build/c608d027ceaf4ed8aa6209b8b9c7e3d4 : SUCCESS in 1h 04m 12s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/aedb26069b5d46c0a8b07efaba86ee20 : SUCCESS in 40m 33s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/c33c5eee0e274f148e818dcdbbfb6728 : SUCCESS in 8m 20s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/9db5e4fa7be44b1a8a253b79654e35fc : SUCCESS in 6m 46s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/8598845a0af648109c38e4d3d97e2894 : SUCCESS in 19m 48s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/66babeaaec8e43a68a219011ec40eb97 : SUCCESS in 17m 35s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/25d1205f11594d0cab8d18809530a783 : SUCCESS in 17m 05s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/c2e11dc5c09c4c34a20bb77da43dd462 : SUCCESS in 11m 06s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/0804e9154b064457a822b0aa905e5b60 : SUCCESS in 20m 20s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/e430a8292fb7453bba2c14ebab27ebd4 : SUCCESS in 14m 02s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/272272eadf5e4695b16b7d7d0553f15d : SUCCESS in 17m 10s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/3831041e3aa9408b9f3e850107f97451 : SUCCESS in 27m 59s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/5762decac975491c90066c89d5027c04 : SUCCESS in 31m 50s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/943fb9d835a14399ae88ce28a5c27554 : SUCCESS in 13m 43s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/018bb43bdce544958cc1e703bdcd18f3 : SUCCESS in 19m 38s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/a455be5f261646eb844e98d6ea2b9413 : SUCCESS in 7m 10s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/85a3eae0910b45e696330c1a8779a6be : FAILURE in 14m 31s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/e4f2ae86219e4702995bfa7f69dec9ae : SUCCESS in 49m 49s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/52d830f8daa44ab5b8dced680f87f94a : SUCCESS in 46m 49s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/ef0e37d43d5d4ea697c2d5e4182d1613 : SUCCESS in 25m 36s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/6ce8270f439b4b1faf468a802f8ec770 : SUCCESS in 27m 10s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c259c0b08dba419897e7d5445ea337a1 : SUCCESS in 19m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1d5ac066f1264e189aa48a0a75ebd825 : SUCCESS in 5m 51s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/74ebdc8e4f764d16871db4958154023a : SUCCESS in 17m 24s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6eae0bc0e2824f269eef0b0714bf29f5 : SUCCESS in 37m 54s","accounts_in_message":[],"_revision_number":3},{"id":"2c4881730e091f12b155272dd2f5f9c575240971","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-08-03 23:33:49.000000000","message":"Patch Set 3:\n\n(9 comments)","accounts_in_message":[],"_revision_number":3},{"id":"fb395993799ee1623ae5d304c58dbd3d12ef5ab5","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-08-04 00:31:31.000000000","message":"Patch Set 3:\n\n(7 comments)\n\nThanks Tim! great comments and questions, and also gives me a chance to look at this code and reload it myself :P","accounts_in_message":[],"_revision_number":3},{"id":"62f5b7e8d691285f1937206f522abf8e14d17b38","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-08-04 18:51:01.000000000","message":"Patch Set 3:\n\n(3 comments)","accounts_in_message":[],"_revision_number":3},{"id":"1f955b880dd534c97d2c58effd093a5b2d549dde","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-08-04 23:42:20.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"6869b170b87ae40d53ee52c0bd47a77d9e539252","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-08-06 01:40:17.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"71c19363d51b176a6e4b054376d9a42c2bafff5a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-06 02:41:28.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c5c9563356c24fada11914974cbcff74 : SUCCESS in 9m 22s\n- grenade https://zuul.opendev.org/t/openstack/build/c39eddf30ee942ff98fd844fa88c05c4 : SUCCESS in 58m 49s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/950575af4ee64952919a4b77500d747d : SUCCESS in 43m 16s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/845dbf4f00d9492e827a052f8b6eb847 : SUCCESS in 8m 06s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/6c9645f3c34841e8b3ce25677b847e83 : SUCCESS in 9m 39s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/310363add30841fdb109727ac26edc43 : SUCCESS in 21m 32s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/3019df47761d4d60af567173f7f7813f : SUCCESS in 14m 07s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/4d8562e5cdca45429b1ac0f3c1e49e23 : SUCCESS in 16m 23s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/d0f5d3d39d744aed8014e7574c1514d6 : SUCCESS in 46m 13s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/d53e1e1992f54c46ae683714a5907316 : SUCCESS in 17m 34s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/f9efd7d52ca84dc0a2909be0b6d3a988 : SUCCESS in 18m 40s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/f936e2f7cc034b1ea5969f3fd8888122 : SUCCESS in 18m 47s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/cff4db0a20474d2ab34e0661e2c24b94 : SUCCESS in 18m 25s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/29e84a15920247bdaeb4a7942251a380 : SUCCESS in 18m 32s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/04e2778544a548f0b325b284a91bd114 : SUCCESS in 16m 46s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/a0a4bfee586447f89b2955ed6753d5a3 : SUCCESS in 17m 49s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/6606a214af8641c2a1a8832a6a0341ef : SUCCESS in 6m 47s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/48261e2676f24571a4f735d1d2ec105e : SUCCESS in 24m 19s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/76f96207a5cf4b23b56cc647945ab51e : SUCCESS in 43m 51s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/c99da86a688c4d34a4edabf46e07dd53 : SUCCESS in 50m 21s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/0da64e18c9c34b93b5a4a5a54852ccc7 : SUCCESS in 35m 16s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/53c57325a9de4d9fb68eec9664bb9679 : SUCCESS in 38m 52s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0fc9b59788e54dadab674b2657340c7b : SUCCESS in 17m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1f32918a7e6b4b9891b924bfb3ac24bc : SUCCESS in 6m 18s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/b7dfaae7f19142d994e287995c3cbcbd : SUCCESS in 24m 18s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/241ff1f8c7bc46b7b1c166f4fc0a0bf6 : SUCCESS in 45m 22s","accounts_in_message":[],"_revision_number":4},{"id":"7f4898404832e4757f131f977a2a0bec264610b9","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-06 02:59:23.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/199324c453e3480ea757f33c2b2fa323 : SUCCESS in 32m 01s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/b10e897ef1d24238b57212bfcf25a0bc : SUCCESS in 30m 44s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/7ab43441fde04ec6adf36260a87c2f1d : SUCCESS in 1h 11m 40s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/de9c29ef1a5744ac965aefb236e5c0c3 : SUCCESS in 31m 11s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/f5e38ca9634d4965b521598c6402a4ee : SUCCESS in 54m 51s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"e2413c9b06457e9e1a67ecffb3bce70391ebf762","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-08-12 17:55:29.000000000","message":"Patch Set 4:\n\n(2 comments)\n\nI think we should play with the interface a little more, I know it\u0027s hard to merge a new data-structure to the ring witout the code that will use it... but a stronger argument could be made for adding a new *interface method* that no-one besides tests actually call.\n\nI wrote a test while thinking about the interface:\nhttps://review.opendev.org/c/openstack/swift/+/804424","accounts_in_message":[],"_revision_number":4},{"id":"0beeea41dbe844b2d6d56ccf42a69ad59e9c0973","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-08-13 07:02:48.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"542b1036518b47ebaaf16ff5e19bcadab2c2ae3a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-13 08:19:06.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2d20eba5bc4b4fc0a07665d98ad7ea48 : SUCCESS in 8m 57s\n- grenade https://zuul.opendev.org/t/openstack/build/390c2782076547048bc067d90099d85c : SUCCESS in 1h 11m 09s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a951a3e80d9d44009a961f3288aaa556 : SUCCESS in 41m 50s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/1811ea0f59614ae29b8892ad1dcd84c2 : SUCCESS in 8m 03s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/c6f4dccea27f4b0ab0cb02ae49181179 : SUCCESS in 8m 38s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/6a74be3a93e0493c93eab13a6073c32f : SUCCESS in 17m 51s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/2861fa0d8345443098acc495abcb454c : SUCCESS in 17m 15s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/e7c4888150e64851aed4a1550c822328 : SUCCESS in 18m 08s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/fe832cf514174bac8ba1a0ed83da785b : SUCCESS in 17m 13s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/764b2c8ebe3a43d4b9adbb3c569151fe : SUCCESS in 17m 24s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/40421cf81ed2495a9eed5557d2b05d58 : SUCCESS in 18m 41s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/c2e5d8d9633b431f9de1d2bb83352dec : SUCCESS in 16m 39s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/8fe37ca20e3c41bfa71417685d8e5b06 : SUCCESS in 17m 07s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/3cd128c6111e4b54a48d11cea32f4366 : SUCCESS in 16m 46s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/3661b4904d2342a98d2baf38f5f6994b : SUCCESS in 16m 52s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/d8bfceacaa564df19cd07c3ce3aedf6a : SUCCESS in 17m 19s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f495c85e1b094b31802f4e1e66eaf627 : SUCCESS in 8m 46s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/9ce65ee27d0248039d958d8c6e194292 : SUCCESS in 20m 19s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/12129bc09f2a418985c3845d67b1bc48 : SUCCESS in 49m 13s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/d0d0a7ec22d74bd999631425c4d81d18 : SUCCESS in 49m 34s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/fce25b1bf95243d9a266ebe8c81fe847 : SUCCESS in 36m 51s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/bedfb62a215c439b893841ebc0908ad7 : SUCCESS in 43m 02s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/cfaa2672876b471391bfe4dd65f824fc : SUCCESS in 16m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bf1332ea095a4dfb93a857713e669b0c : SUCCESS in 7m 06s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/6bc9b48282754d248d2433e76287b26c : SUCCESS in 32m 35s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a7e7fe32407241cc9c75034af3b87dc6 : SUCCESS in 49m 32s","accounts_in_message":[],"_revision_number":5},{"id":"8c054385ac70aa65145e3910387dd4234e7377ba","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-13 09:02:44.000000000","message":"Patch Set 5:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/e2cdb0444ef8405ca592abb018739ec2 : SUCCESS in 44m 45s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/60f06134f2114c82a44db7c8d7d42ba9 : SUCCESS in 44m 43s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/063a08e28626478cba9afbc51110b7e0 : FAILURE in 1h 57m 04s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/b7eca08aa42e40eb8422998a1f0c6d02 : SUCCESS in 50m 56s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/e7a0bb8da2a949f9b986bbc74c4635a9 : SUCCESS in 49m 34s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"0c7bf49c594688e3577e51507697582dafdca8fc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-09-11 01:05:55.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"4d3766c9ab81a1d558da89a3d2dddb1e7ba360fe","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-11 02:49:11.000000000","message":"Patch Set 6:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/c2b6fa22ee114d6a93b3c8d41f80f053 : FAILURE in 32m 58s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/a756e8ad069648f6a7a08a3a9c2dad6a : FAILURE in 34m 27s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/c28ab1babe7848519b47083e3410b6d5 : FAILURE in 1h 28m 58s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/83a729218e5f43409db3cc0a7b80e251 : FAILURE in 9m 27s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/fabb3b5cfe39457c8c8d7ae58b21429c : FAILURE in 7m 41s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"ff696008644f186908b84bc5d140b944af57846a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-11 02:49:15.000000000","message":"Patch Set 6: 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/a1595f1cbd5449b9b0d5ff50069d386b : SUCCESS in 18m 17s\n- grenade https://zuul.opendev.org/t/openstack/build/815ca056b87341a8967e4fc5b4c2e97e : SUCCESS in 56m 30s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/7896744bc1bb4f649a323c409a1a7df6 : SUCCESS in 1h 36m 08s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/37042f29cce2426a9adede98a3018afd : SUCCESS in 10m 53s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/df6ea3ed4f2240969cc4fd8eb0f79abf : SUCCESS in 9m 42s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/0af0030d56cd4a319ac8884de2c20dcd : FAILURE in 13m 41s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/e19625d9c6da4cfb90253ec54cbdd10b : FAILURE in 13m 31s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/77a01146c9524c308546c23004b0dcf9 : FAILURE in 13m 56s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/6f724e8bfb1e4cc9a6de63ee6794dd86 : FAILURE in 14m 16s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/5e96563f3fb64f8789ea14d12e3378f9 : FAILURE in 14m 27s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/99cd18d2f24044afb0caca993b8098c0 : FAILURE in 4m 57s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/28c1caf650934b66b38610c5aff27250 : FAILURE in 6m 14s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/5b7066f4627745d7abeabeb36e9e0a9a : FAILURE in 5m 07s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/e572cdf3c63d4808ad51846bc4a2aff9 : FAILURE in 5m 38s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/32d661a4ff554a85bfd7ca0474948eb4 : FAILURE in 5m 21s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/51fec3aa0c3b4844a233a4dcb427ad8e : FAILURE in 5m 36s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/9078c240386f422c85f77909e2f053d8 : SUCCESS in 6m 34s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/b897fa0bf3a9474c9c272cbc1cff4705 : SUCCESS in 23m 39s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/8d8bb57735424ef3b8c1b378bf2cbc53 : SUCCESS in 52m 40s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/6882f07e05f54fc8ada7cdf0cfbb324d : SUCCESS in 51m 15s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/2e5bdd89ac484e9ca5dd48c77399f15d : SUCCESS in 37m 31s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/febf3fd8185b4bfab4db2bd4de06c896 : SUCCESS in 37m 40s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/04dd4c6e82934cbeac234517ce94dbc8 : FAILURE in 14m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/40850fb5259b44a483010c662c3396f2 : SUCCESS in 6m 35s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/589679abc74b46d69608661e541d8ea5 : SUCCESS in 23m 49s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f3fcaf98333e438b95162a31e8b26cba : SUCCESS in 48m 17s","accounts_in_message":[],"_revision_number":6},{"id":"183f2416b768ceec22eeab5afa9335454ce216a4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-09-14 22:24:54.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"51bb3603983b8045f27b5c6326b22ac4c4c62764","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-14 23:30:42.000000000","message":"Patch Set 7: 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/5da8398eddab4939a0149dfa145268f8 : SUCCESS in 9m 55s\n- grenade https://zuul.opendev.org/t/openstack/build/1edbad058be84997b14fd15f3fcc437d : SUCCESS in 1h 04m 18s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/56c26bb641fd4bafa2d162d802b7fcfc : SUCCESS in 47m 57s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/1fc8e0fd66914f8698a57a71ee147729 : SUCCESS in 9m 30s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/5415705c04d7409c8f66a65e2252ddf2 : SUCCESS in 9m 06s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/956f7b7dcba64623af408dda6c069dd6 : FAILURE in 17m 29s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/f02328521e1a4bf7a6fd7fb7301e659d : SUCCESS in 17m 42s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/30607c6972ab408db3ba1ec3faab6e17 : SUCCESS in 17m 03s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/e08ed079d3e6402584b34f74c121cf60 : SUCCESS in 16m 52s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/d345638271364e3988ad75e817bff424 : SUCCESS in 17m 30s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/0937507a6efb45398d2588e80ce9290e : FAILURE in 5m 32s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/fcfa2463558646a6be1f3108f82229e2 : FAILURE in 4m 46s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/a42c82d1d3fc4185956510666bca1f55 : FAILURE in 4m 35s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/647f7ffbf68840a898ff978d08148075 : FAILURE in 4m 49s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/1f64c9cdca02475983c0f6ec30da749a : FAILURE in 5m 29s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/e0a33c89de5a44e8bd6f1a7e4ad25aba : FAILURE in 4m 58s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/107f05724b9b4380a09f0c58da0eb93b : SUCCESS in 7m 16s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/c0049433c3e74f1d8b206cd2d0215ee3 : SUCCESS in 20m 53s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/7a02281e736144f98640a2db4c05805e : SUCCESS in 50m 26s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/407dee17ed874c8090be38398cec6dd3 : SUCCESS in 53m 11s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/2fab99f867dd4125ac97113d5c49de67 : SUCCESS in 37m 13s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7255cb0584014b4eb142d76f6e2edfa8 : SUCCESS in 39m 06s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/bb6bcc6ff5be451092c5ca82faeac451 : FAILURE in 16m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8849f205b47343aca614db7b4c4e2603 : SUCCESS in 5m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/8ea4800990744c7f8ac702377d72aac3 : SUCCESS in 23m 32s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/35209d008e7343c1ab9f41c0fba31d14 : SUCCESS in 50m 03s","accounts_in_message":[],"_revision_number":7},{"id":"887bbe3c71755f100fc3a3b9ea9b93e41b0b460f","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-15 00:13:53.000000000","message":"Patch Set 7:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/96b25ad753a349d2baba4a6628756dfa : SUCCESS in 49m 09s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/83db527a714d423eb2b2c24e1836b1b8 : SUCCESS in 44m 57s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/6b5cb516188d4d6eb00385c40fa21736 : FAILURE in 1h 45m 32s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/b82e00b191584042a034d1571daba9af : FAILURE in 7m 43s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/5b86affe30604525be89d95a60e76c82 : FAILURE in 7m 27s (non-voting)","accounts_in_message":[],"_revision_number":7},{"id":"502c8d7c7a67cd4291286f4eab5dbc3e7895e56a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-09-16 18:21:30.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"9b56755890cad2a6a72c5d96d324353bb4c16296","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-16 19:30:22.000000000","message":"Patch Set 8: Verified-1\n\n(1 comment)\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/f77d3d9543104af7bf7b5b98c9daadfb : SUCCESS in 9m 33s\n- grenade https://zuul.opendev.org/t/openstack/build/20ea6c91e3ba415fbe1b634885df4f30 : SUCCESS in 1h 03m 26s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/566bb3ea3db54ab0b9832e9114e8eb09 : SUCCESS in 39m 16s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/f4d2e9b677a64f1faa7292ac9f49f100 : SUCCESS in 9m 21s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/54ff65847290462dae4a07fe3cd1701d : SUCCESS in 9m 46s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/dd6c970131ac481ba49c142c65ec0a1a : FAILURE in 16m 53s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/9b7972d8d8264706b0073b03d790e6a2 : FAILURE in 20m 20s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/297c591bfef647f184d511fbf08c4cff : FAILURE in 22m 01s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/8ced35268d274302ae2eb73da0e462d3 : FAILURE in 15m 56s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/327ee35879d74ec98d9ebe54af837c03 : FAILURE in 16m 31s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/7a814bf1662649b98d6e5124b81ec578 : FAILURE in 4m 58s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/e38c0b85e0914d5b97ebb46eda0304a6 : FAILURE in 5m 10s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/5ca04c0acbcd4056878b07fb2911ad11 : FAILURE in 5m 59s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/fc02dfd3198c4947a21286d151138237 : FAILURE in 5m 54s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/6ac55df3298243069a5fd8776e2ba279 : FAILURE in 6m 01s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/6ede1c78014b4608a2f481b50ada2ec7 : FAILURE in 5m 17s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/63c0ef8f6a4e47ebb7959a46b774b2be : SUCCESS in 7m 24s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/f4a4d95c547440d7aac2457d9ce2863e : SUCCESS in 22m 57s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/64fc27a972bf48f5b117e4a304bd6510 : SUCCESS in 52m 58s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/845f66a203064daabc7f2c75f6c17bbe : SUCCESS in 54m 03s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/29759c7e12584cfaa46f049f7c8d3feb : SUCCESS in 38m 28s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/23e12d03ad9a4292a1de72a52e272093 : SUCCESS in 41m 28s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/893c1ab1e67e42c38e50589beae787d4 : FAILURE in 16m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0b9c330db9a749fa88ab363569f7703c : FAILURE in 6m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/9ced95ca948a4faabdd1640f98b18f8b : SUCCESS in 26m 32s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/af42bbdffb72401494539aa245fe669d : SUCCESS in 51m 54s","accounts_in_message":[],"_revision_number":8},{"id":"35e618f6b94c7fd12d70a04a80b6941ffd7c95ff","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-16 19:58:30.000000000","message":"Patch Set 8:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/00215740bc324bd5b396b92fe05b4691 : FAILURE in 1h 05m 47s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/f9ac9acaba91413e8e5a607e12086ddb : FAILURE in 52m 00s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/3680bf1999e44d8fa59d853409971161 : SUCCESS in 1h 25m 28s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/1cafaac4117d46ba9232ff1871f5dc4d : FAILURE in 7m 44s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/1407f12bf786434f9a5ddb1f278af2b5 : FAILURE in 8m 34s (non-voting)","accounts_in_message":[],"_revision_number":8},{"id":"f6b6e5d3ac1899fa0f75da9344dd81659dc049a0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-09-20 17:14:17.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"04c44ff83f3cf6aaec30c67977ee461faa5cca28","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-20 18:55:52.000000000","message":"Patch Set 9: 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/f629a3d3683345eebb55abdb719bc8fa : SUCCESS in 9m 44s\n- grenade https://zuul.opendev.org/t/openstack/build/c9cb4bc7bf234a9392e47af02b04a7c9 : SUCCESS in 59m 51s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/55028b83e3164c35910b204c5e77a5ed : SUCCESS in 43m 31s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/49bfb87b574f4ddab36af961d531c73c : SUCCESS in 12m 46s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/1246070b73a4453a9a6311cd602015a1 : SUCCESS in 10m 37s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/7d94fcdf73e5422b86a282c102305a17 : SUCCESS in 17m 05s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/aa063572815b462b9824bcfbffdf8a13 : SUCCESS in 19m 30s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/fd85472fdcde4159a2c2ad281cfbdfed : SUCCESS in 21m 57s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/31ae4b8e9a35475d8455ae01493a4dbd : SUCCESS in 17m 37s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/69ef2175b7ef4e149200554f9f532108 : SUCCESS in 17m 07s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/24896783b62947ec8237eb3236da3bd6 : FAILURE in 5m 11s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/dd1e0467ed5f45bfbe399161cc1acfbe : FAILURE in 5m 17s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/3ead1124758844bb823ccfc26167388d : FAILURE in 5m 17s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/1bea873a6a254f46b27d24bbec8711bb : FAILURE in 5m 08s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/5bcbe43db5c943a09bf01db53500269b : FAILURE in 6m 01s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/2a9bc52a2285430ca2b176d45ce60331 : FAILURE in 5m 35s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/0ab31caa1ed6487c995d33abaa521156 : SUCCESS in 7m 48s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e3d422ade3294b0da97b56f9b3b337f1 : SUCCESS in 20m 24s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/ce4e208fee1c46be96b634e588d28d1c : SUCCESS in 48m 10s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/7dae2b6cd42b405281874270a9156544 : SUCCESS in 51m 43s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7112ce124b29426b8e38b4048ae59cfc : SUCCESS in 38m 12s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/3b853814fb0e4eaf97080b8e1304b3cc : SUCCESS in 37m 59s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/53cbf77ce3f34fde92abc5d28ab24731 : SUCCESS in 16m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/38614680f5be420381ab42e4bb2ba74e : SUCCESS in 6m 29s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/39ee54adfd7d40b8ab605f44baaff6ee : SUCCESS in 23m 30s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/5bf432934948434eb4fc6358b5275482 : SUCCESS in 1h 39m 32s","accounts_in_message":[],"_revision_number":9},{"id":"290fa508202bb87bd201bb6dd8c4a11092a1d689","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-20 19:19:53.000000000","message":"Patch Set 9:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/106af76f214b4bd79d3daf74f7a3e3eb : SUCCESS in 40m 09s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/287a3e663d90474e9dd8e2d90b2db569 : SUCCESS in 43m 32s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/606ab217b10c4a738d8f1624e3fc5d26 : TIMED_OUT in 2h 01m 36s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/f6e0ba6d25c04257aaeb7ea9fd25016b : FAILURE in 7m 55s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/470fcdb01000494ab112b1c02cabd7f1 : FAILURE in 8m 22s (non-voting)","accounts_in_message":[],"_revision_number":9},{"id":"03951e8831e446093185dc66adf7e91ca8288bf2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-09-21 20:08:25.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"63541e56aa1665d11e825e698297a38e84ac83b7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-21 21:08:57.000000000","message":"Patch Set 10: Verified-1\n\n(1 comment)\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/8998dd8f86f640b8b28594cfed59b413 : SUCCESS in 8m 44s\n- grenade https://zuul.opendev.org/t/openstack/build/f6489a2a44a8406db874c8c041223ffe : SUCCESS in 58m 38s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/62258e138bcf4d2b91ca0d2e549b8ad6 : SUCCESS in 33m 18s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/c3041e0804744cd0ba45c1546003ab84 : SUCCESS in 9m 15s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/1734cc5542eb4a6aabd69db84e09b342 : SUCCESS in 8m 37s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/d0a42ea4443c40aca99067d7211bf6fa : FAILURE in 15m 22s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/36b23f52bc7848bfaec7ddb6e9bc31f5 : FAILURE in 21m 46s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/e33415e6e8474139a6480440a2d0c172 : FAILURE in 15m 54s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/878559534ed54f4b87428503445bf0cc : FAILURE in 16m 33s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/f722acf9c38f4133bb82e4695b200574 : FAILURE in 21m 17s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/bf7adec19a3a4f73a1691f9aaf6ef575 : SUCCESS in 16m 29s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/0a5df7b4945147a285a41f16b6d4b2b1 : SUCCESS in 25m 02s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/44df1663b2294949836e483a544c6b23 : SUCCESS in 22m 47s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/e52ec71ea4ff49dcb94f86d6d214757f : SUCCESS in 26m 12s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/dff4c313f4204ba799c64b9cdbe6de43 : SUCCESS in 22m 10s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/490092d6708a49adbbb9483a6094ad57 : SUCCESS in 20m 45s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/3c295d11388e415da977df9e1d523615 : SUCCESS in 7m 25s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/d9dbe5a88b69469b83fff0806af1549f : SUCCESS in 19m 59s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/b45af5a11a3f4d938b79d8b5cda813dc : SUCCESS in 52m 08s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/e57113c9c70a4f00b1e1209bfac550f4 : SUCCESS in 53m 20s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/fd7de422e30b4a2db78723e591b4b48b : SUCCESS in 39m 16s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/50894485032d405a96691f40c782331b : SUCCESS in 42m 32s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/145aa01c797b480d979cec3c7a8d9c48 : FAILURE in 14m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8f02c49f08a742a3a3f3239f61f3dea3 : FAILURE in 6m 43s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/e3f25a90203f456fa2107a2f1745b27e : SUCCESS in 23m 18s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/67f5752d8b9a4f60baed92be3bbb9a38 : SUCCESS in 38m 59s\n\nWarning:\n  Comments left for invalid file test/unit/cli/test_ringbuilder.py","accounts_in_message":[],"_revision_number":10},{"id":"f0013bac97890aa32ac88ee13cf82e1ec21865a9","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-21 22:13:10.000000000","message":"Patch Set 10:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/24524964d43241bab43faea3117636d5 : FAILURE in 44m 49s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/25029955cfcb4189adeab7626579ef1d : FAILURE in 52m 02s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/64927f2d916e439ca804a6561aa98c21 : TIMED_OUT in 2h 01m 46s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/0455982cd4c14dc29f87a6780ea5559f : SUCCESS in 1h 01m 48s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/5eed10f0443546118412fb42d95df599 : SUCCESS in 1h 13m 02s (non-voting)","accounts_in_message":[],"_revision_number":10},{"id":"cac611fd78da557db9c88a18557c640f8c95cbbe","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-09-23 19:48:29.000000000","message":"Uploaded patch set 11: Patch Set 10 was rebased.","accounts_in_message":[],"_revision_number":11},{"id":"be13a48b0bd0edeac7bbef97bde5d59949b130d9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-09-23 20:31:52.000000000","message":"Uploaded patch set 12: Patch Set 11 was rebased.","accounts_in_message":[],"_revision_number":12},{"id":"5664cf44b50c30fa920740a2653f96762356471c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-23 21:37:19.000000000","message":"Patch Set 12: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b9499f50507c4ccb88da7d432f072e84 : SUCCESS in 9m 29s\n- grenade https://zuul.opendev.org/t/openstack/build/79a3280fb59c452497cc57242b566824 : SUCCESS in 1h 01m 30s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/0365f800a71e48198c036d2f8eaf57f9 : SUCCESS in 44m 17s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a73fb5343fdf4eac9e5b44971f798ba9 : SUCCESS in 10m 19s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/2ad75304b7bb49658155f94f103a7c88 : SUCCESS in 10m 23s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/f44f25e8602245008ed4259b0e3a488f : SUCCESS in 17m 21s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/e717c7fca1ff487fa85bd5489a876bdb : SUCCESS in 25m 13s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/ea008ffc7be44765bc220f7701afe9f0 : SUCCESS in 17m 41s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/a759cdc1fd714e25b7b39ccab6f239e5 : SUCCESS in 22m 10s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/dddac02ae0484cb59d91d852e7577915 : SUCCESS in 25m 53s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/be7c82ef1a9244c1bf7a7bdff6d6bce0 : SUCCESS in 25m 56s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/6afbdc67703e4b17b641037336231ff2 : SUCCESS in 20m 30s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/e44c61e306b64da0bbb4df57df73d3ef : SUCCESS in 27m 16s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/795839c0c02c4144a962f8b190689a58 : SUCCESS in 24m 14s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/66cadbc78ded41ccae5805ad38fbe187 : SUCCESS in 25m 11s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/300466916ffc4b43b3227c5fe5efbcc3 : SUCCESS in 26m 40s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/0d2b8f059f2c4fe9b108a7af46f8c4a1 : SUCCESS in 10m 05s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/9e3b050684b74ece98516379b48dad80 : SUCCESS in 29m 08s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/da6fcf6db148416aa2e9f24898a77983 : SUCCESS in 49m 26s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/d9cbfe3fe82a47519f5a87fac7177410 : SUCCESS in 52m 26s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/208d53374f0e470d8cfdb9263fde5a6f : SUCCESS in 47m 42s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/98a4bc9b8a6c48c0ba8eef9254522f3e : SUCCESS in 48m 44s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/72139f900c7140a8ad34fd558bb69f16 : SUCCESS in 17m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/81f898cea55446fca016f5314382ab9b : SUCCESS in 6m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/e5c57984027e4fce900d0582226e612e : SUCCESS in 24m 53s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/dc71fe6d8aca4f578b2700baeccc3ef3 : SUCCESS in 50m 54s","accounts_in_message":[],"_revision_number":12},{"id":"5c5384deacc0f9caf2808b81aa162d24d85a9d0d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-23 22:10:18.000000000","message":"Patch Set 12:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/335cf1cd53c8492c8e99ffd202eaeb6e : SUCCESS in 49m 10s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/e06bae436b1e484993d217cf5a8539b5 : SUCCESS in 1h 02m 07s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/3150e850ffc74a51a3194ef1c8938b95 : SUCCESS in 1h 31m 35s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/2d295c3859f94ce8bf05ccb60a7b7e8d : SUCCESS in 39m 20s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/5b37001022aa451aa1ac1b3c03fa34b6 : SUCCESS in 42m 56s (non-voting)","accounts_in_message":[],"_revision_number":12},{"id":"437e449b4473659fa2f15ae77869597748321287","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-10-12 20:42:34.000000000","message":"Uploaded patch set 13.","accounts_in_message":[],"_revision_number":13},{"id":"9b6546c2619b64bb1c9411eb09204c5f146ba977","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-12 21:57:09.000000000","message":"Patch Set 13: Verified-1\n\n(2 comments)\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/0944988238c746f09bbe331dcbd2891d : SUCCESS in 10m 01s\n- grenade https://zuul.opendev.org/t/openstack/build/78c7cd15f5c3478eab9bd04e332ebd65 : FAILURE in 43m 58s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/ddb5e7bf6df6452b93c95902e775c52e : FAILURE in 31m 51s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/78b633d1424e49998a867f40b053a430 : SUCCESS in 8m 39s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/c1fab8a9127c436cbda52c98df08a092 : SUCCESS in 9m 55s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/1bcfd79d1b5e47c3b2ab27475d959a4e : FAILURE in 24m 37s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/6af1e5e409df43d78ecf8e3370ff30a0 : FAILURE in 34m 38s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/2f2ce801c6e84423bae04eb8886b25a1 : FAILURE in 19m 52s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/8533e6fc83c04f398508468cccbaf248 : FAILURE in 17m 06s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/e846681d01e64ccda8e2844c7bb5d20a : FAILURE in 19m 39s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/b53196c63885405fad147812df25ec76 : FAILURE in 6m 04s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/e216c316733f42ec9053c85cfa984ffd : FAILURE in 5m 23s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/0db48f4777bc49ecbfb6821eb7845ce7 : FAILURE in 5m 12s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/81bafa722eb0464b8057e7687c5d72f2 : FAILURE in 5m 36s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/35aecb1007b74f77afea8bdf2e586117 : FAILURE in 6m 17s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/151539585b2b493c922069428d5b0170 : FAILURE in 5m 35s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/883a9979e4aa43bba635c031d4c2a1b6 : FAILURE in 6m 15s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/17402a390424417daa2ef532e9a8bf3d : FAILURE in 6m 03s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/843d93d5b39b47be94e6ae72720f81fe : FAILURE in 16m 52s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/02f5de6a36b34306a90a30ef5dcf5038 : FAILURE in 22m 50s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/ab1eddcf67e34f949625277bcda2fb68 : RETRY_LIMIT in 17m 37s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b0c9e97ab9b441bca26a99ce745dcfb6 : RETRY_LIMIT in 21m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/923254dd4faa46deac3ec8a336110cfd : FAILURE in 15m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/919e91cf29e24f3ba21cf1eec333b163 : FAILURE in 6m 21s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/688fad2b2ccf47adbf0068be88273b47 : SUCCESS in 25m 34s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/aa2f81cacc7f4a93a589a81f8d15c72c : FAILURE in 34m 31s","accounts_in_message":[],"_revision_number":13},{"id":"40a1a78708aab9653bf4e580c18bf727207c0fd3","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-12 23:15:10.000000000","message":"Patch Set 13:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/6cb2cbcc535b4785904b1863314fb956 : FAILURE in 43m 07s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/707d820290b94c0d886ec9f8b9a7f8fb : FAILURE in 1h 09m 50s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/b468c822f2c04c888ab2a7c4dbad4844 : FAILURE in 33m 59s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/ee9f9c42652245a6afd0c9b01d2cb8cd : FAILURE in 8m 07s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/2e55a0161ae34bee9872c0296b54e31c : FAILURE in 7m 10s (non-voting)","accounts_in_message":[],"_revision_number":13},{"id":"2134ff1e5ce605dc6261a127a1bdd17f9eea35ba","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-10-13 00:27:30.000000000","message":"Uploaded patch set 14: Patch Set 13 was rebased.","accounts_in_message":[],"_revision_number":14},{"id":"a0709ef5c157c81b6b61783ba6bdfd1363f52496","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-13 01:24:37.000000000","message":"Patch Set 14: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b018ec2ac78f49db9a4a9d43b84f5578 : SUCCESS in 10m 16s\n- grenade https://zuul.opendev.org/t/openstack/build/164803a64043409a9bdfa571a8bfc00c : SUCCESS in 53m 23s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/b2896c1d093f4e2b9c8483f4121c3620 : SUCCESS in 41m 49s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/9f3495ab581c4f6a883c1c6055f60449 : SUCCESS in 8m 09s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/31be913714fd45c2b063d599beb7689f : SUCCESS in 9m 33s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/afd3a58c17cb4da0b048adc10d89905f : SUCCESS in 18m 01s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/aea81fdf9fcc47c79c2eaa7b223136a2 : SUCCESS in 15m 33s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8d5fc5e9378f44a7a47c444e56d21def : SUCCESS in 16m 26s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/21c589283f634cc888c5dd71476cdb19 : SUCCESS in 18m 04s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/0d91293c097f48e393f5573d0038f1c8 : SUCCESS in 16m 39s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/a1ddde23f1d9470eafbf107a32047508 : SUCCESS in 16m 17s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/3c86b49a1f5a431cb90e52f734188222 : SUCCESS in 16m 51s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/5b3e84d9c0f2476ea95de7a8aefd9014 : SUCCESS in 22m 26s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/4b8b2bc0198c4ef5bf63d0a4aae1f88c : SUCCESS in 18m 03s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/a8efb4e19625480c9b98eca3fe07e821 : SUCCESS in 15m 57s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/4f9e3bbefc52451186afb17e6cbd32f6 : SUCCESS in 21m 33s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/5275c32bdf154532b71d585780091739 : SUCCESS in 6m 40s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/8bfe9ba6f16f46d18013df217388768b : SUCCESS in 19m 27s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/fecfe0deaf884d57872d6c0427dc09f2 : SUCCESS in 52m 13s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/2abce5d3afad4a96b602ee5185727dce : SUCCESS in 52m 18s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a81e2dbef39f4a8597075838845d3de1 : SUCCESS in 43m 13s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/0655f6705cfa421abfa6da48e5b017d9 : SUCCESS in 32m 33s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/daaa22b0a58847e3bb87614611097147 : SUCCESS in 16m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/aa2a2d79349c4f44bebdd9521dd3cadd : SUCCESS in 7m 12s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/8c20fa6c819b414081e11d84935ebd98 : SUCCESS in 28m 57s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/7e99c199172d4d718b179f1a92449d7a : SUCCESS in 52m 18s","accounts_in_message":[],"_revision_number":14},{"id":"041bb9e49056f8e85cb05460db494da877b89844","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-13 03:33:19.000000000","message":"Patch Set 14:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/e916b0af3e8e414fb65bc826ffb79f5d : SUCCESS in 42m 44s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/50dda8c7f161457d986f36aa8e05f278 : SUCCESS in 42m 18s (non-voting)\n- swift-probetests-centos-8-arm64 https://zuul.opendev.org/t/openstack/build/1fceb5fb57ad4676aea5e4891262d978 : FAILURE in 2h 00m 44s (non-voting)\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/0913625303a8487a93fea13ca632d2d7 : SUCCESS in 1h 03m 37s (non-voting)\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/ed2b6b895e8944d48b7bdb7d3e1372e5 : SUCCESS in 1h 00m 30s (non-voting)","accounts_in_message":[],"_revision_number":14},{"id":"2bce4caf43bba76680656ca7fcaaee0a75efe601","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2022-04-25 21:01:37.000000000","message":"Patch Set 14:\n\n(1 comment)","accounts_in_message":[],"_revision_number":14},{"id":"f0646f655fef58c6866d369095fcfe3516b6d552","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2022-04-27 23:01:19.000000000","message":"Patch Set 14:\n\n(2 comments)","accounts_in_message":[],"_revision_number":14}],"current_revision_number":14,"current_revision":"5ab3c6aebb8b6e536de64ec646a33ecc79a4efb5","revisions":{"5ae5178abc79890373c02ef4dc5509eaa17fb445":{"kind":"REWORK","_number":1,"created":"2021-05-11 05:24:34.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/50/790550/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/1"}}},"commit":{"parents":[{"commit":"46ea3aeae817132957fb4fee737a1ad8d1e07837","subject":"Quarantine stale EC fragments after checking handoffs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/46ea3aeae817132957fb4fee737a1ad8d1e07837"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-11 04:58:21.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-11 05:20:41.000000000","tz":600},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5ae5178abc79890373c02ef4dc5509eaa17fb445"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5ae5178abc79890373c02ef4dc5509eaa17fb445"}]},"branch":"refs/heads/master"},"5d6d68bb645d3f0142d7eb87a76e281f1e49201d":{"kind":"REWORK","_number":2,"created":"2021-05-12 05:37:34.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/50/790550/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/2"}}},"commit":{"parents":[{"commit":"46ea3aeae817132957fb4fee737a1ad8d1e07837","subject":"Quarantine stale EC fragments after checking handoffs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/46ea3aeae817132957fb4fee737a1ad8d1e07837"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-11 04:58:21.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-12 05:24:31.000000000","tz":600},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nFinally, it also fixes deserialize_v1 to deal with fractional replicas\nproperly.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5d6d68bb645d3f0142d7eb87a76e281f1e49201d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5d6d68bb645d3f0142d7eb87a76e281f1e49201d"}]},"branch":"refs/heads/master"},"5610b1f1a524f0bd861d9aee49b58d01bcfa1d12":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2021-05-13 04:29:16.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/50/790550/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/3"}}},"commit":{"parents":[{"commit":"6e5620944183a42b7908f24e25fe66ba3f3aec57","subject":"swift-get-nodes: move --path-as-is to end of curl commands","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6e5620944183a42b7908f24e25fe66ba3f3aec57"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-11 04:58:21.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-05-13 04:27:49.000000000","tz":600},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nFinally, it also fixes deserialize_v1 to deal with fractional replicas\nproperly.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5610b1f1a524f0bd861d9aee49b58d01bcfa1d12"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5610b1f1a524f0bd861d9aee49b58d01bcfa1d12"}]},"branch":"refs/heads/master"},"b611c12e62834a2adfb04c2007c0d24000d71ded":{"kind":"REWORK","_number":4,"created":"2021-08-06 01:40:17.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/50/790550/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/4"}}},"commit":{"parents":[{"commit":"03e2721887906faaada9657047f4ee9e89f7c686","subject":"ring: store actual ring replica count to better deserialize","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/03e2721887906faaada9657047f4ee9e89f7c686"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:36:10.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:38:18.000000000","tz":600},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b611c12e62834a2adfb04c2007c0d24000d71ded"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b611c12e62834a2adfb04c2007c0d24000d71ded"}]},"branch":"refs/heads/master"},"58d95d649a98f61f2118a05d334a0f9f32ba0dc0":{"kind":"REWORK","_number":5,"created":"2021-08-13 07:02:48.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/50/790550/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/5"}}},"commit":{"parents":[{"commit":"d4415fcd5c1ea8bd220c5dcf0a13d79ffaa51880","subject":"ring: store actual ring replica count to better deserialize","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d4415fcd5c1ea8bd220c5dcf0a13d79ffaa51880"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:36:10.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-13 07:02:27.000000000","tz":600},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/58d95d649a98f61f2118a05d334a0f9f32ba0dc0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/58d95d649a98f61f2118a05d334a0f9f32ba0dc0"}]},"branch":"refs/heads/master"},"8915edc07b039bdd7012be714b4806fd1045ed89":{"kind":"REWORK","_number":6,"created":"2021-09-11 01:05:55.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/50/790550/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/6"}}},"commit":{"parents":[{"commit":"49a7c488bd779ec57dee4e30895e632d24e8d1ef","subject":"ring: Allow builder to vary dev_id_bytes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/49a7c488bd779ec57dee4e30895e632d24e8d1ef"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:36:10.000000000","tz":600},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-09-11 01:05:44.000000000","tz":-420},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects. Note that this\nmay only be serialized to ring.gz files if using ring-format version 2.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8915edc07b039bdd7012be714b4806fd1045ed89"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8915edc07b039bdd7012be714b4806fd1045ed89"}]},"branch":"refs/heads/master"},"cc3a1653f900254a442e8aed787017a3871a9196":{"kind":"REWORK","_number":7,"created":"2021-09-14 22:24:54.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/50/790550/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/7"}}},"commit":{"parents":[{"commit":"54b3fb266243d638dca98900f18ac685c23e2b5f","subject":"ring: Allow builder to vary dev_id_bytes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/54b3fb266243d638dca98900f18ac685c23e2b5f"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:36:10.000000000","tz":600},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-09-14 21:30:51.000000000","tz":0},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects. Note that this\nmay only be serialized to ring.gz files if using ring-format version 2.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cc3a1653f900254a442e8aed787017a3871a9196"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cc3a1653f900254a442e8aed787017a3871a9196"}]},"branch":"refs/heads/master"},"8fe149c8e4a83094ca1fba71eb7f74e43cfddf71":{"kind":"REWORK","_number":8,"created":"2021-09-16 18:21:30.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/50/790550/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/8"}}},"commit":{"parents":[{"commit":"fd072b0cef2884f8fa7db2c63181466a6622f6db","subject":"ring: Allow builder to vary dev_id_bytes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fd072b0cef2884f8fa7db2c63181466a6622f6db"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:36:10.000000000","tz":600},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-09-16 18:20:36.000000000","tz":-420},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects. Note that this\nmay only be serialized to ring.gz files if using ring-format version 2.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8fe149c8e4a83094ca1fba71eb7f74e43cfddf71"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8fe149c8e4a83094ca1fba71eb7f74e43cfddf71"}]},"branch":"refs/heads/master"},"f60aca1b1d8fac2d4112f2c54fc28b3d48217534":{"kind":"REWORK","_number":9,"created":"2021-09-20 17:14:17.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/50/790550/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/9"}}},"commit":{"parents":[{"commit":"fd90d4a3de1fc9dcb90561ca6764cbb94266c7e1","subject":"ring: Allow builder to vary dev_id_bytes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fd90d4a3de1fc9dcb90561ca6764cbb94266c7e1"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:36:10.000000000","tz":600},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-09-20 17:14:10.000000000","tz":-420},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects. Note that this\nmay only be serialized to ring.gz files if using ring-format version 2.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f60aca1b1d8fac2d4112f2c54fc28b3d48217534"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f60aca1b1d8fac2d4112f2c54fc28b3d48217534"}]},"branch":"refs/heads/master"},"3cbddaee3dbc2d6bb4fdaa7eb079db8c830fc844":{"kind":"REWORK","_number":10,"created":"2021-09-21 20:08:25.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/50/790550/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/10"}}},"commit":{"parents":[{"commit":"2e88f667844a529435ed466ad51129385a4c9d58","subject":"ring: Allow builder to vary dev_id_bytes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2e88f667844a529435ed466ad51129385a4c9d58"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:36:10.000000000","tz":600},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-09-21 20:08:11.000000000","tz":-420},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects. Note that this\nmay only be serialized to ring.gz files if using ring-format version 2.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3cbddaee3dbc2d6bb4fdaa7eb079db8c830fc844"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3cbddaee3dbc2d6bb4fdaa7eb079db8c830fc844"}]},"branch":"refs/heads/master"},"bfbaa63a27feef68f64d904fbcc6c5d226fed85c":{"kind":"TRIVIAL_REBASE","_number":11,"created":"2021-09-23 19:48:29.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/50/790550/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/11"}}},"commit":{"parents":[{"commit":"3689d035fa6b6d756ca60b1cbb1913a8f0ad74d9","subject":"ring: Allow builder to vary dev_id_bytes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3689d035fa6b6d756ca60b1cbb1913a8f0ad74d9"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:36:10.000000000","tz":600},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-09-23 19:48:19.000000000","tz":-420},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects. Note that this\nmay only be serialized to ring.gz files if using ring-format version 2.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bfbaa63a27feef68f64d904fbcc6c5d226fed85c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bfbaa63a27feef68f64d904fbcc6c5d226fed85c"}]},"branch":"refs/heads/master"},"5bac7c33d84b35dc5bf550639c7d48fc6c72f634":{"kind":"TRIVIAL_REBASE","_number":12,"created":"2021-09-23 20:31:52.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/50/790550/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/12"}}},"commit":{"parents":[{"commit":"f350d09506a0fd48e3df8acc91391637344cb8a9","subject":"ring: Allow builder to vary dev_id_bytes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f350d09506a0fd48e3df8acc91391637344cb8a9"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:36:10.000000000","tz":600},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-09-23 20:31:41.000000000","tz":-420},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects. Note that this\nmay only be serialized to ring.gz files if using ring-format version 2.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5bac7c33d84b35dc5bf550639c7d48fc6c72f634"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5bac7c33d84b35dc5bf550639c7d48fc6c72f634"}]},"branch":"refs/heads/master"},"1e37c8f3849948e9fb756552176b7e8c3d422373":{"kind":"REWORK","_number":13,"created":"2021-10-12 20:42:34.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/50/790550/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/13"}}},"commit":{"parents":[{"commit":"3dd15814a919221a792fed9251c0ec14e353949b","subject":"ring: Allow builder to vary dev_id_bytes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3dd15814a919221a792fed9251c0ec14e353949b"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:36:10.000000000","tz":600},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-10-12 20:39:08.000000000","tz":-420},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects. Note that this\nmay only be serialized to ring.gz files if using ring-format version 2.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1e37c8f3849948e9fb756552176b7e8c3d422373"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1e37c8f3849948e9fb756552176b7e8c3d422373"}]},"branch":"refs/heads/master"},"5ab3c6aebb8b6e536de64ec646a33ecc79a4efb5":{"kind":"TRIVIAL_REBASE","_number":14,"created":"2021-10-13 00:27:30.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/50/790550/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/790550/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/790550/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/790550/14"}}},"commit":{"parents":[{"commit":"0736c4e591aef065ea8dcb5ad085048679eb7e9c","subject":"ring: Allow builder to vary dev_id_bytes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0736c4e591aef065ea8dcb5ad085048679eb7e9c"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2021-08-06 01:36:10.000000000","tz":600},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-10-13 00:26:17.000000000","tz":-420},"subject":"ring: Keep track of last primary nodes from last rebalance","message":"ring: Keep track of last primary nodes from last rebalance\n\nThis patch adds an additional part2dev array to the ring, which is\nplumbed through the ring, ring_data and builder objects. Note that this\nmay only be serialized to ring.gz files if using ring-format version 2.\n\nBecause we only ever move 1 partition replica at a time during a\nrebalance we can store the last node that was the primary for a\npartition before the last rebalance.\nThis will allow us to be smarter in places like the reconstructor and\nreplicators as we\u0027ll know where to look for a missing replica/fragment\nafter a rebalance.\n\nThe array is filled with NONE_DEVs at the start of a rebalance, and then\nan old device is placed inside when wanting assigning new partitions.\n\nA ring method `get_last_part_node(part)` now exists which will return\nthe last primary node for a part or None if there wasn\u0027t any. The latter\ncan occur if a device is removed or a part didn\u0027t move during the last\nrebalance.\n\nThis patch also adds a \u0027for_read\u0027 optional parameter for get_more_nodes\nwhich when true will add the last primary to the front of the handoff\nlist, if there is is one.\n\nChange-Id: Iaa66b9fe57c924445a5ede908053e78fc0ed8817\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5ab3c6aebb8b6e536de64ec646a33ecc79a4efb5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5ab3c6aebb8b6e536de64ec646a33ecc79a4efb5"}]},"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":""}}}]}
