)]}'
{"id":"openstack%2Fswift~838831","triplet_id":"openstack%2Fswift~master~I48632c8d0490963870ce071a5fa253d248902529","project":"openstack/swift","branch":"master","attention_set":{"15343":{"account":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"last_update":"2022-04-29 00:28:51.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-29 00:28:51.000000000","reason":"Matthew Oliver replied on the change"}},"hashtags":[],"change_id":"I48632c8d0490963870ce071a5fa253d248902529","subject":"WIP: Merge ring builder into ring v2","status":"NEW","created":"2022-04-21 07:06:19.000000000","updated":"2022-04-29 00:28:51.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":27,"unresolved_comment_count":15,"has_review_started":true,"meta_rev_id":"8426565784e1d84603f5f797172a42887d392b3c","_number":838831,"virtual_id_number":838831,"owner":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2022-04-28 05:31:19.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2022-04-21 08:06:03.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":"CC"},{"updated":"2022-04-21 08:41:10.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":"2022-04-29 00:20:27.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"}],"messages":[{"id":"7ba25ae3889ddd1e86d27cb58708b4e5fb5d31d0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2022-04-21 07:06:19.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"dbedb9ea7119a3c6d841cb4b5f1fcc7e9a6059df","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2022-04-21 07:21:05.000000000","message":"Patch Set 1:\n\n(14 comments)","accounts_in_message":[],"_revision_number":1},{"id":"97416e2c41a17aab6126698c2941c80976c72e47","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2022-04-21 07:21:57.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"76465814dbce1ad29e92935bd7973db8aee75559","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2022-04-21 07:23:09.000000000","message":"Patch Set 2:\n\n(4 comments)","accounts_in_message":[],"_revision_number":2},{"id":"c89587461048c062df0d8b51331b79903c1510d2","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-04-21 08:06:03.000000000","message":"Patch Set 2:\n\nBuild failed (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/6113fd3ab6074c199417d957e41316b0 : FAILURE in 31m 08s\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/4b0f4334c02b4bfb80fab4cb0ac977a7 : FAILURE in 35m 17s\n- swift-probetests-centos-8-stream-arm64 https://zuul.opendev.org/t/openstack/build/9cd5df04c9c749a4887d7f6bb5aa0529 : RETRY_LIMIT in 5m 58s\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/78100a37473a4fef99fbeec96ae04b27 : SUCCESS in 42m 01s\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/d3457983542b40acb7fdbb5ed452cc37 : SUCCESS in 35m 51s","accounts_in_message":[],"_revision_number":2},{"id":"b3f3382b3685b13114a7a6624f942cd7ea364fd6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-04-21 08:41:10.000000000","message":"Patch Set 2: Verified-1\n\n(7 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/882ffbca868a4a078cc7de435aad7a40 : SUCCESS in 8m 59s\n- grenade https://zuul.opendev.org/t/openstack/build/6f20b90fd761455aac1da63ff69407a1 : SUCCESS in 1h 05m 09s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/10c3ac33e6044845b2353d50d7fa5b5f : FAILURE in 29m 49s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/87188f08da5648e4b283bfd0dc67b6fb : POST_FAILURE in 19m 32s\n- swift-tox-func-py36-centos-8-stream-fips https://zuul.opendev.org/t/openstack/build/cad9efcb370245d1b7c8471b23548deb : SUCCESS in 20m 17s (non-voting)\n- swift-tox-func-encryption-py36-centos-8-stream-fips https://zuul.opendev.org/t/openstack/build/6323aabf5ecc43a68e81170029d264c6 : SUCCESS in 19m 12s (non-voting)\n- swift-tox-func-ec-py36-centos-8-stream-fips https://zuul.opendev.org/t/openstack/build/9f3a7c69b16c4f76829bbee01191e27d : SUCCESS in 19m 40s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/778a9ed180484d49b2a136dbbba41475 : SUCCESS in 10m 45s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/44cea298522249239b1e4bc37f5834b9 : SUCCESS in 5m 54s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/06690494ea65458094340158cb00613c : FAILURE in 5m 02s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/b654195f386b4e48b67ac923a9dfce15 : FAILURE in 18m 09s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/f91f10121aa8470a942a28556d9347e0 : FAILURE in 15m 26s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/c591029824f042af8c715c49703f6c91 : FAILURE in 4m 36s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/6639e7ca72fa4e06a4a4abb2e3663b65 : FAILURE in 4m 36s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/87402de81c88475f9eed8524bd1de3d3 : FAILURE in 4m 20s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/9e24dcf34c2b4f7188404e6c6889d874 : SUCCESS in 15m 11s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/bf409c068dc340d9882cd21c8312a6f4 : SUCCESS in 16m 00s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/1a5d362f5b3e4153a13a3715eb4bd436 : SUCCESS in 16m 34s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f25722af4e4a49a59ef476edacef8baa : RETRY_LIMIT in 5m 12s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/f151812c22ff4a00b15f1025ce87056d : RETRY_LIMIT in 5m 07s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/16999ef08f814cf7b6d846a6e1070224 : RETRY_LIMIT in 4m 37s\n- swift-probetests-centos-8-stream https://zuul.opendev.org/t/openstack/build/21128d1a98bb4a5f91aef784ef148c6c : RETRY_LIMIT in 4m 24s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/057da9c01d204eef86c46084214a8b4a : RETRY_LIMIT in 13m 53s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/a607853841d149a3a06ae11a0302a7dd : RETRY_LIMIT in 25m 15s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d66ebe24ca3644a694b5c96aa7cb81d5 : FAILURE in 4m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2463851b262c4d0d9c759fc2674a4860 : FAILURE in 6m 06s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/5fe0785d114c4205916aa4e053e8d5be : SUCCESS in 19m 15s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9ceabe524c754309a714a1dba1a19232 : FAILURE in 31m 28s","accounts_in_message":[],"_revision_number":2},{"id":"e872e98090c96e6a99f8b5aceca8bf32e7d211d7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2022-04-28 00:23:46.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"d0f4c393f5633308800d8e5259409727fff015a0","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-04-28 00:24:22.000000000","message":"Patch Set 3:\n\nMerge Failed.\n\nThis change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.\nWarning:\n  Error merging gerrit/openstack/swift for 834423,3","accounts_in_message":[],"_revision_number":3},{"id":"04ae2ad2d7eec5d66d0154b2b081f0b3fa85bcc3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-04-28 00:24:28.000000000","message":"Patch Set 3: Verified-1\n\nMerge Failed.\n\nThis change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.\nWarning:\n  Error merging gerrit/openstack/swift for 834423,3","accounts_in_message":[],"_revision_number":3},{"id":"071695f7c9dbe2b428820f80c92eb5c973b50649","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2022-04-28 04:20:33.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"6197ae9645037bbd1d493f8b70d069f1b8ece710","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-04-28 05:31:19.000000000","message":"Patch Set 4: 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/9a456abe93254af691e32da5ed01e2db : SUCCESS in 9m 52s\n- grenade https://zuul.opendev.org/t/openstack/build/5572b07886e44e0d9face1b734c87541 : SUCCESS in 1h 04m 35s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/de691fce1c3149e085499765de212f95 : FAILURE in 31m 04s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/1cf4ca415c644247a61e9d6f96db00b4 : POST_FAILURE in 31m 04s\n- swift-tox-func-py36-centos-8-stream-fips https://zuul.opendev.org/t/openstack/build/ee84ccb8ae1f487c9e1b2b0f58f9c9aa : SUCCESS in 22m 27s (non-voting)\n- swift-tox-func-encryption-py36-centos-8-stream-fips https://zuul.opendev.org/t/openstack/build/f86da86abb73427d9d657f9c67c03957 : SUCCESS in 19m 08s (non-voting)\n- swift-tox-func-ec-py36-centos-8-stream-fips https://zuul.opendev.org/t/openstack/build/08c62509e7914e26b7bfb18c60745072 : SUCCESS in 23m 39s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7cdf5f15540344fab9220bce6989bbc1 : SUCCESS in 7m 38s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/549bae2e7a0a4acfa79768e0e47cb170 : SUCCESS in 5m 47s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/590881c8bd104a76a1672402fe53b43e : FAILURE in 18m 39s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/3cd93a0030f446298ef4f09b2b3a049b : FAILURE in 16m 48s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/051c44cf5c5d45afa1aa75bc0798bf14 : FAILURE in 21m 04s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/bc21125f44404b9ca3ec6aa6a86b7961 : SUCCESS in 19m 47s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/52765de6f8d845c9b97190ac2049df21 : SUCCESS in 17m 16s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/17d9bd013ea74fceafed945697039dc6 : SUCCESS in 21m 29s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/bf51f6c3f1494e689c8980395679834d : SUCCESS in 15m 53s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/173b35d0538c44908b5f3135dc278acb : SUCCESS in 17m 52s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/2dcc93748a8a4f5eb67bd4bf25d9a622 : SUCCESS in 21m 39s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/951e6cfffb3b4934ba4b82173d49ceae : RETRY_LIMIT in 4m 59s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/5de23fbfec284503965e4750613c432f : RETRY_LIMIT in 5m 40s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/62d33eeb203842f8befd88f9a08eb77f : RETRY_LIMIT in 4m 18s\n- swift-probetests-centos-8-stream https://zuul.opendev.org/t/openstack/build/5cd480800355449eb9c6077ef9babb71 : RETRY_LIMIT in 4m 51s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/db783486fc28488ebcf97f25ab814045 : RETRY_LIMIT in 19m 53s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/37ab9a16217e42ec996a5bb780065411 : RETRY_LIMIT in 13m 57s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a5757f0f205d421c9402fb07cab36826 : FAILURE in 18m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/523b7c8282d0457b95de74b51c2d2bee : FAILURE in 5m 27s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/14f2f1e1ef5d468cbe2182149c03413a : SUCCESS in 19m 31s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9c1e8e6547bc42ca930d192531755c7e : FAILURE in 28m 51s\n\nWarning:\n  Comments left for invalid file swift/common/ring/ring.py","accounts_in_message":[],"_revision_number":4},{"id":"64c35d097c8f4970a255c2c946b8e9f5f84c5e5d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-04-28 06:41:07.000000000","message":"Patch Set 4:\n\nBuild failed (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/39ec1161b5894ebb818adab64504b8c6 : FAILURE in 45m 58s\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/58a5e655caaa486bb5164a05af7ca7c5 : FAILURE in 42m 00s\n- swift-probetests-centos-8-stream-arm64 https://zuul.opendev.org/t/openstack/build/aca98bd71ca441e08d58b1842b00f6b4 : RETRY_LIMIT in 7m 34s\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/25a71bf1c8314d88a472fd2307ae12c7 : SUCCESS in 48m 00s\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/08089aaa27fa4c76ac1a3017b9384630 : SUCCESS in 48m 14s","accounts_in_message":[],"_revision_number":4},{"id":"56fa0a3979267d6ae0ec845cea1d1ed00c3b49e8","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2022-04-28 23:47:37.000000000","message":"Patch Set 4:\n\n(5 comments)","accounts_in_message":[],"_revision_number":4},{"id":"c3211fe5652da8492fd0d3926add582d400c8edd","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2022-04-29 00:20:27.000000000","message":"Patch Set 4:\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"8426565784e1d84603f5f797172a42887d392b3c","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2022-04-29 00:28:51.000000000","message":"Patch Set 4:\n\n(2 comments)","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"bd27b04c3c9f6c23599d0640e85e53ce84449384","revisions":{"84cd92a7a43f742afc557d0aea3cac288da383d2":{"kind":"REWORK","_number":1,"created":"2022-04-21 07:06:19.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/31/838831/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/31/838831/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/31/838831/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/31/838831/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/31/838831/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/31/838831/1"}}},"commit":{"parents":[{"commit":"b168a662d2918b4c769863ffd4b04ee0a236ad04","subject":"reconstructor: Use last_part_node when building SYNC jobs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b168a662d2918b4c769863ffd4b04ee0a236ad04"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2022-04-21 06:53:20.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2022-04-21 06:53:20.000000000","tz":600},"subject":"WIP: Merge ring builder into ring v2","message":"WIP: Merge ring builder into ring v2\n\nThis is very rough, but done enough that it actually seems to work!\nThe builder and ringdata objects could be unified better. For example\none side had part_power with a part_shift property, the other a\npart_shift with a part_power property. Some of the naming of things\naren\u0027t the same.\n\nOne annoyance is the dispersion graph because it uses tuples as keys\ncan\u0027t be json-ified. So will need to find a different way to serialize\nthat... please don\u0027t let it be pickle :P\n\nThis is still a WIP. Hacked enough to to make it work. But surprisingly\nseems to work. I can add devs, rebalance, run dispersion report etc.\nA ringdata load gives us just a rings POV. Builder load grabs everything and\nreturns it as a builder dict. So it has everything it needs.\nThese 2 load methods could probably be merged better seeing as they\nbasically do the same thing.\n\nChange-Id: I48632c8d0490963870ce071a5fa253d248902529\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/84cd92a7a43f742afc557d0aea3cac288da383d2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/84cd92a7a43f742afc557d0aea3cac288da383d2"}]},"branch":"refs/heads/master"},"933d0a0121c2e9ed23b693e18140031d085b0111":{"kind":"REWORK","_number":2,"created":"2022-04-21 07:21:57.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/31/838831/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/31/838831/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/31/838831/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/31/838831/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/31/838831/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/31/838831/2"}}},"commit":{"parents":[{"commit":"b168a662d2918b4c769863ffd4b04ee0a236ad04","subject":"reconstructor: Use last_part_node when building SYNC jobs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b168a662d2918b4c769863ffd4b04ee0a236ad04"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2022-04-21 06:53:20.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2022-04-21 07:21:43.000000000","tz":600},"subject":"WIP: Merge ring builder into ring v2","message":"WIP: Merge ring builder into ring v2\n\nThis is very rough, but done enough that it actually seems to work!\nThe builder and ringdata objects could be unified better. For example\none side had part_power with a part_shift property, the other a\npart_shift with a part_power property. Some of the naming of things\naren\u0027t the same.\n\nOne annoyance is the dispersion graph because it uses tuples as keys\ncan\u0027t be json-ified. So will need to find a different way to serialize\nthat... please don\u0027t let it be pickle :P\n\nThis is still a WIP. Hacked enough to to make it work. But surprisingly\nseems to work. I can add devs, rebalance, run dispersion report etc.\nA ringdata load gives us just a rings POV. Builder load grabs everything and\nreturns it as a builder dict. So it has everything it needs.\nThese 2 load methods could probably be merged better seeing as they\nbasically do the same thing.\n\nChange-Id: I48632c8d0490963870ce071a5fa253d248902529\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/933d0a0121c2e9ed23b693e18140031d085b0111"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/933d0a0121c2e9ed23b693e18140031d085b0111"}]},"branch":"refs/heads/master"},"46a19145e5c7e72d968e97aa83d9f4a2c481905a":{"kind":"REWORK","_number":3,"created":"2022-04-28 00:23:46.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/31/838831/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/31/838831/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/31/838831/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/31/838831/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/31/838831/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/31/838831/3"}}},"commit":{"parents":[{"commit":"b168a662d2918b4c769863ffd4b04ee0a236ad04","subject":"reconstructor: Use last_part_node when building SYNC jobs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b168a662d2918b4c769863ffd4b04ee0a236ad04"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2022-04-21 06:53:20.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2022-04-28 00:18:39.000000000","tz":600},"subject":"WIP: Merge ring builder into ring v2","message":"WIP: Merge ring builder into ring v2\n\nThis is very rough, but done enough that it actually seems to work!\nThe builder and ringdata objects could be unified better. For example\none side had part_power with a part_shift property, the other a\npart_shift with a part_power property. Some of the naming of things\naren\u0027t the same.\n\nOne annoyance is the dispersion graph because it uses tuples as keys\ncan\u0027t be json-ified. So will need to find a different way to serialize\nthat... please don\u0027t let it be pickle :P\n\nThis is still a WIP. Hacked enough to to make it work. But surprisingly\nseems to work. I can add devs, rebalance, run dispersion report etc.\nA ringdata load gives us just a rings POV. Builder load grabs everything and\nreturns it as a builder dict. So it has everything it needs.\nThese 2 load methods could probably be merged better seeing as they\nbasically do the same thing.\n\nChange-Id: I48632c8d0490963870ce071a5fa253d248902529\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/46a19145e5c7e72d968e97aa83d9f4a2c481905a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/46a19145e5c7e72d968e97aa83d9f4a2c481905a"}]},"branch":"refs/heads/master"},"bd27b04c3c9f6c23599d0640e85e53ce84449384":{"kind":"REWORK","_number":4,"created":"2022-04-28 04:20:33.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/31/838831/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/31/838831/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/31/838831/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/31/838831/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/31/838831/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/31/838831/4"}}},"commit":{"parents":[{"commit":"27e1fd27af08d2db3895cce211b32fa06f5a5325","subject":"reconstructor: Use last_part_node when building SYNC jobs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/27e1fd27af08d2db3895cce211b32fa06f5a5325"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2022-04-21 06:53:20.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2022-04-28 04:20:03.000000000","tz":600},"subject":"WIP: Merge ring builder into ring v2","message":"WIP: Merge ring builder into ring v2\n\nThis is very rough, but done enough that it actually seems to work!\nThe builder and ringdata objects could be unified better. For example\none side had part_power with a part_shift property, the other a\npart_shift with a part_power property. Some of the naming of things\naren\u0027t the same.\n\nOne annoyance is the dispersion graph because it uses tuples as keys\ncan\u0027t be json-ified. So will need to find a different way to serialize\nthat... please don\u0027t let it be pickle :P\n\nThis is still a WIP. Hacked enough to to make it work. But surprisingly\nseems to work. I can add devs, rebalance, run dispersion report etc.\nA ringdata load gives us just a rings POV. Builder load grabs everything and\nreturns it as a builder dict. So it has everything it needs.\nThese 2 load methods could probably be merged better seeing as they\nbasically do the same thing.\n\nChange-Id: I48632c8d0490963870ce071a5fa253d248902529\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bd27b04c3c9f6c23599d0640e85e53ce84449384"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bd27b04c3c9f6c23599d0640e85e53ce84449384"}]},"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":""}}}]}
