)]}'
{"id":"openstack%2Fswift~939681","triplet_id":"openstack%2Fswift~master~Iafaeefe7028c825432078b5db37eccdcc580d245","project":"openstack/swift","branch":"master","topic":"ring-v2","attention_set":{},"removed_from_attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2025-02-11 10:01:00.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"Iafaeefe7028c825432078b5db37eccdcc580d245","subject":"ringbuilder: Always save with a 2 byte minimum dev_id size","status":"ABANDONED","created":"2025-01-21 06:12:50.000000000","updated":"2025-02-11 10:01:00.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"fc58d8261fa67a70fa5ebed219a824e6603c530b","_number":939681,"virtual_id_number":939681,"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":[{"tag":"autogenerated:zuul:check","value":1,"date":"2025-01-21 07:32:24.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":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2025-01-30 22:39:16.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_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":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":"2025-01-21 07:32:24.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":"2025-01-30 22:39:16.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":"42e37a6a3a6860166c7d00e60262066f73ad44d5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2025-01-21 06:12:50.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"9f4c9be9328906fabeb2d0a45a0b6db561cdb147","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-21 07:32:24.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/99cab1a0c1af447b976ed79aa441147f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bf00aedc009648e0889cd7679c65aa94 : SUCCESS in 7m 26s\n- grenade https://zuul.opendev.org/t/openstack/build/9ca840bb8a3b420cb7888801d57b5a2d : SUCCESS in 1h 01m 15s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/bb455db748ea42088f4709a9689e8603 : SUCCESS in 41m 12s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/b25ebf23fa6140f8aa14625b0f6d634c : SUCCESS in 1h 02m 37s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/53686d79eac64b528120b677336fa0ea : SUCCESS in 1h 15m 11s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e88d1553a5c84934b3a993f88b807827 : SUCCESS in 19m 52s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/60f9699240034ea5bfc7852df865516e : SUCCESS in 18m 52s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5faeb7bcbc3749ccb11fc66aa296749c : SUCCESS in 12m 25s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/689de51cfc204d388854fadd0840b4d8 : SUCCESS in 4m 59s (non-voting)\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/001b63a904ac4a6d964188c0a9b54e5f : SUCCESS in 9m 27s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/2b9b2b243cdc456e88ee660fe6b0f061 : SUCCESS in 22m 22s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/abdb746b49aa48c78e9747b27c92bab6 : SUCCESS in 13m 09s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/3739cb8e587f4f09b4e8e79a195dce5d : SUCCESS in 13m 47s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/8904aad2e75048f8be5a2e9709fe7484 : SUCCESS in 9m 13s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/3a58c9dd80e140d4bd0e53aeaf502f6c : SUCCESS in 16m 45s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/e6fded51de8e4ba0a22822ecca367d47 : SUCCESS in 6m 32s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/8317eb3587c847259f671e20a8cc9a9f : FAILURE in 16m 22s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/e70db0e5461447a2a30e3f2d912d2192 : SUCCESS in 7m 06s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/98fa0eca8ac2490482ec24c23d1a2883 : SUCCESS in 54m 08s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/1c8d22f43d174442b54bb7d11a8eddfd : SUCCESS in 47m 35s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/0ed7d6398ba0496a860378d348402429 : SUCCESS in 43m 29s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/434a0061b9c74a60bd3424e97a3fecff : SUCCESS in 19m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f31653d85f6a42a39739a1337e9d846d : SUCCESS in 4m 23s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/627db1586dee4f70b38e9074f5d086a5 : SUCCESS in 16m 37s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/259b6fed0bc349f3b77ae0f5fe674887 : SUCCESS in 1h 03m 53s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/7e4a02bfe0264ad9985fad44c7f107c1 : SUCCESS in 1h 02m 43s","accounts_in_message":[],"_revision_number":1},{"id":"3b83ed385944e7bb5a7f3e821db372a536e3d03f","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-21 08:07:56.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cd76d2322b7146e990fbd4bacc3bc2f8\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/6157cf483bd04e129a613feb017e6d90 : SUCCESS in 1h 51m 36s","accounts_in_message":[],"_revision_number":1},{"id":"451a4b69856261b8d6aa282fc2947e3d59b7e8e8","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2025-01-30 22:39:16.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"fc58d8261fa67a70fa5ebed219a824e6603c530b","tag":"autogenerated:gerrit:abandon","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2025-02-11 10:01:00.000000000","message":"Abandoned\n\nSqaushed into first patch in the chain","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"e8befaa12c44d6669217e336cca6aed9757b7e77","revisions":{"e8befaa12c44d6669217e336cca6aed9757b7e77":{"kind":"REWORK","_number":1,"created":"2025-01-21 06:12:50.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/81/939681/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/81/939681/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/81/939681/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/81/939681/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/81/939681/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/81/939681/1"}}},"commit":{"parents":[{"commit":"0e578dce16a19071b594ea6d8125d98cb4efe56e","subject":"ring: add cli/ringbuilder version command","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0e578dce16a19071b594ea6d8125d98cb4efe56e"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2025-01-21 06:02:13.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2025-01-21 06:02:13.000000000","tz":660},"subject":"ringbuilder: Always save with a 2 byte minimum dev_id size","message":"ringbuilder: Always save with a 2 byte minimum dev_id size\n\nTo keep ringbuilders backwards compatible, especally on small clusters\nand dev environments like a SAIO, always serialize with a minimum of\n2 byte arrays for the replica2part2dev structures.\n\nPre ringv2 serialization, all builders would use 2 bytes for the device\nID. But in new v2, the bytes can change. There is already code in\nrebalance to stop shrinking down unless the byte length \u003e 2. So on older\nrings this keeps things backwards compatible. BUT if you build a new\nbuilder for something like a SAIO with v2 code, it\u0027ll happy start out at\n1 byte, as that makes sense for it. And also fine for our v2 rings.\n\nHowever, if you create a new builder/ring in v2 with \u003c 1 byte devices\nand then want to open it in an older swift. You can write_ring, but\nnever rebalance it, because the none_dev is \u003e then 1 byte.\n\nThis patch adds a check to the RingBuilder.save() code that if its \u003c 2\nbytes then adjust and save as 2 bytes anyway. It might be a waste of\nspace, but gives us better backwards compatibility.\n\nOld code will fail to open builders with 4-byte dev_ids, but if you have\nthat many devices, you might already know what your doing.\n\nChange-Id: Iafaeefe7028c825432078b5db37eccdcc580d245\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e8befaa12c44d6669217e336cca6aed9757b7e77"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e8befaa12c44d6669217e336cca6aed9757b7e77"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"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":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"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":{}}}]}
