)]}'
{"id":"openstack%2Fopenstacksdk~1006236","triplet_id":"openstack%2Fopenstacksdk~master~Ibee143140878f4032a44e5c93547e9951b8f6cb2","project":"openstack/openstacksdk","branch":"master","topic":"placement-gaps","attention_set":{},"removed_from_attention_set":{"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-09-21 21:14:47.000000000","reason":"\u003cGERRIT_ACCOUNT_15334\u003e replied on the change","reason_account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}}},"hashtags":[],"change_id":"Ibee143140878f4032a44e5c93547e9951b8f6cb2","subject":"placement: Allow empty commit on resource class","status":"MERGED","created":"2026-09-18 15:12:08.000000000","updated":"2026-09-21 22:47:07.000000000","submitted":"2026-09-21 22:45:08.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"1006236-placement-gaps","meta_rev_id":"eba4a56819e5eb3fcb18ab393ab6e1390480fae1","_number":1006236,"virtual_id_number":1006236,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-09-21 22:45:07.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":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"all":[{"value":2,"date":"2026-09-21 15:50:43.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_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":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":0,"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":1,"date":"2026-09-21 21:14:47.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_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},"Allow-Post-Review":{"all":[{"value":0,"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Abstain","+1":"Approved for Zuul Post Review Pipeline"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-18 16:41:09.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-09-21 14:32:42.000000000","updated_by":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"reviewer":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"state":"REVIEWER"}],"messages":[{"id":"55da263a9903da8f510ffbfaf4efbc7aa936713d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-09-18 15:12:08.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"d292912eb410db1af4315e0a1d536a51b8de8c49","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 16:41:09.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/59b87c8f42f24d7688c2c4e6e1009d41\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/53545bcddb2844a3ab2263a1efeb9711 : SUCCESS in 5m 27s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/0aeb6815b71240f8a9fcb6ffad211166 : SUCCESS in 5m 11s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/904cf4795db3439da5c8dd20943b6bb9 : SUCCESS in 3m 30s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/eb7392102b214c09aa2ecea7c346099c : SUCCESS in 4m 08s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ac8dfb8c50cf40cc8bdcdceaca2564de : SUCCESS in 6m 08s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/b1df1f5a1c0649fa83cb7fda8658d7be : SUCCESS in 9m 51s (non-voting)\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/f5125e405cec4975973c9b4fc5c2dc4f : SUCCESS in 1h 05m 34s\n- os-client-config-tox-py311-tips https://zuul.opendev.org/t/openstack/build/280ab33d84924ea1a68380ebc9a6c1ef : SUCCESS in 5m 44s\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/921d8fa6388e4a35abe31caf58f25c8c : SUCCESS in 5m 58s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/65eeb7c4b45f4169b47e32e92a090c01 : SUCCESS in 5m 11s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f0eee762ec544112b066da983a0203d4 : SUCCESS in 11m 12s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6d5cef8411f3425eb7e1b565c6b0dd4e : SUCCESS in 5m 40s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e49c7315e7ce48789857df754c0964d6 : SUCCESS in 1h 04m 29s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/b9033af79b72458986aebb8ae4a781ec : SUCCESS in 1h 20m 36s\n- openstacksdk-functional-devstack-networking-ext https://zuul.opendev.org/t/openstack/build/fefc61c088e94888ab82728e7db2a16d : FAILURE in 1h 03m 57s (non-voting)\n- openstacksdk-functional-devstack-magnum https://zuul.opendev.org/t/openstack/build/72387dfe2d5147208b81325f023f978b : SUCCESS in 22m 59s\n- openstacksdk-functional-devstack-manila https://zuul.opendev.org/t/openstack/build/3f08062e10ec4b348cedf6494f06137b : SUCCESS in 37m 25s\n- openstacksdk-functional-devstack-compute-manila https://zuul.opendev.org/t/openstack/build/5c953cce2bb24706be1431384d9aaf92 : SUCCESS in 16m 03s\n- openstacksdk-functional-devstack-cyborg https://zuul.opendev.org/t/openstack/build/1a17bdfa6ef644888d1083230d3fe0ad : SUCCESS in 28m 29s\n- openstacksdk-functional-devstack-masakari https://zuul.opendev.org/t/openstack/build/84ed8bb03fe94fad929d15ec6a92e463 : SUCCESS in 21m 03s\n- openstacksdk-functional-devstack-ironic https://zuul.opendev.org/t/openstack/build/e281903fef3c4b698d65fe3f4834ddf8 : SUCCESS in 41m 21s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/6e5798043d5946cfb5f6c46d016280f4 : SUCCESS in 49m 37s (non-voting)\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/a8dc0dfdd79c47f58256b6c55fa08f1f : SUCCESS in 1h 17m 55s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"cb7a364755458146c2f1295f8a4a26b228756ba2","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-09-21 14:32:42.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"92b9b2de245ae9df73893a7941bee5fff5e64ce6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-09-21 15:50:43.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"d3d8550314c130fbe3f7ac64f7f0be9db86f3f68","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-21 17:33:25.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e3603fc8ae7b435286ae9253c5ba0a5e\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/be9f64c8fba34946a2232107a13f5c2c : SUCCESS in 4m 49s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/530ebbc6abf9453babe03fdf321829aa : SUCCESS in 4m 23s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/d8d2fa5ed7c54f1db65435645a00a12d : SUCCESS in 4m 31s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/1143394ca99741a0b49f90be6ee24a3e : SUCCESS in 4m 26s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2cca4c2ffcd14e1eaba7326a6632f62e : SUCCESS in 7m 41s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/033bc74fc6264827b1a995ea686ea997 : SUCCESS in 7m 57s (non-voting)\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/7c61f9fbf778439c81de9aff91fc36d8 : SUCCESS in 1h 07m 34s\n- os-client-config-tox-py311-tips https://zuul.opendev.org/t/openstack/build/eb26c5c88287466b84674141fdf7d12a : SUCCESS in 4m 11s\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/ea11b63d13f449faa3aec0d30ae53b72 : SUCCESS in 6m 23s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/07f108818bc84f75b087933bf19d32b7 : SUCCESS in 10m 01s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fecf658fb466462abd904f9ed02c0d05 : SUCCESS in 10m 28s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/70b69876e1604229a3d646593f6bdfbf : SUCCESS in 6m 52s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c49ab08eae14466ea8586f0d9ffe8d25 : SUCCESS in 1h 07m 48s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/2c8e6eb06ba640a68e2c4dc651630775 : SUCCESS in 1h 20m 01s\n- openstacksdk-functional-devstack-networking-ext https://zuul.opendev.org/t/openstack/build/e8cce663fc024000887905f8d909715e : FAILURE in 1h 30m 05s (non-voting)\n- openstacksdk-functional-devstack-magnum https://zuul.opendev.org/t/openstack/build/d6cc2025083445aabec1d5e3bbbd666a : SUCCESS in 41m 31s\n- openstacksdk-functional-devstack-manila https://zuul.opendev.org/t/openstack/build/ca35a70bc0d64e89a457f6d4f5810939 : SUCCESS in 33m 46s\n- openstacksdk-functional-devstack-compute-manila https://zuul.opendev.org/t/openstack/build/6fb7080ff87d4cb7b7c5907bad0a289f : SUCCESS in 32m 01s\n- openstacksdk-functional-devstack-cyborg https://zuul.opendev.org/t/openstack/build/1f5ef4217eeb408680b1c555b6fd8db0 : SUCCESS in 36m 02s\n- openstacksdk-functional-devstack-masakari https://zuul.opendev.org/t/openstack/build/44732c49e8ca48b69048faeb7c432239 : SUCCESS in 33m 05s\n- openstacksdk-functional-devstack-ironic https://zuul.opendev.org/t/openstack/build/59c6dec1fd044c1a9e770079604e685a : SUCCESS in 49m 35s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/3911d0ccb12645cfa770102e0498fad2 : SUCCESS in 1h 12m 30s (non-voting)\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/f1be0b64276041db9a40cc7f70554c34 : FAILURE in 42m 27s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"b068689a38c920458e6cb38d7ea234de288a36ce","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-09-21 21:14:47.000000000","message":"Patch Set 2: Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"eef3f29249f53b22e806ce83fabf9178c17dca60","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-21 21:15:35.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"fe96d3f4208a15490e689496bbc0faca48a62fa5","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-21 22:45:07.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/964ae279c3c249249efd847f5f84f17d\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/077a2a4043314036a2cd55fc14c7048d : SUCCESS in 5m 24s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7043014a50154ffa9d7424aa7eb4e2cd : SUCCESS in 3m 04s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ba6faae844de49f29f6a052dc28240e8 : SUCCESS in 2m 45s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/8f419ee35ba0452f8a16f1054a28a583 : SUCCESS in 10m 26s\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/f60c8d8470234c0396e2511651e9166a : SUCCESS in 1h 10m 05s\n- os-client-config-tox-py311-tips https://zuul.opendev.org/t/openstack/build/fb43ca0c4d42402d87636ca117d4c648 : SUCCESS in 2m 30s\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/69ce61828ed34db89821225541228e25 : SUCCESS in 2m 49s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/d8e4a2acb3964cb1a0ef487c4dc42b2b : SUCCESS in 11m 06s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/092c3721f95f44df94246b522331e2db : SUCCESS in 11m 47s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/311251c78eb14a30aa5d2ed0e46e794d : SUCCESS in 5m 07s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/1d1b4509672644b0a7bca5521326e812 : SUCCESS in 34m 26s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/83199828146c4406b719acb4451a8b99 : SUCCESS in 1h 23m 18s\n- openstacksdk-functional-devstack-ironic https://zuul.opendev.org/t/openstack/build/bb1f1a52d2f54b30a9aec4cd384b4e72 : SUCCESS in 30m 53s","accounts_in_message":[],"_revision_number":2},{"id":"355fe58140039506d64a033bc7fe5ff8304cc22c","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-21 22:45:08.000000000","message":"Change has been successfully merged\n\n1 is the latest approved patch-set.\nNo files were changed between the latest approved patch-set and the submitted one.\n","accounts_in_message":[],"_revision_number":2},{"id":"eba4a56819e5eb3fcb18ab393ab6e1390480fae1","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-21 22:47:07.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7d42888c853a4166b6b08a44fda7e602\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c03320050ef14927a06d8077acdbe4a1 : SUCCESS in 52s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"a0a2eefac605014c991b994b5cd97d785e58f6b0","revisions":{"f1fb8eaf896641e8ab59d088c715120730781dfa":{"kind":"REWORK","_number":1,"created":"2026-09-18 15:12:08.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/36/1006236/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstacksdk","ref":"refs/changes/36/1006236/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/36/1006236/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/36/1006236/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/36/1006236/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstacksdk refs/changes/36/1006236/1"}}},"commit":{"parents":[{"commit":"00b37a0a8b9c7ad6e05e97223e40b44b56a7532b","subject":"placement: Fix trait create and exists","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/00b37a0a8b9c7ad6e05e97223e40b44b56a7532b"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2024-07-25 13:10:07.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-09-18 15:11:39.000000000","tz":60},"subject":"placement: Allow empty commit on resource class","message":"placement: Allow empty commit on resource class\n\nThe \u0027PUT /resource_classes\u0027 placement API is a bit weird, in that it\ndoesn\u0027t accept any parameters. Instead, it\u0027s used purely as an\nidempotent check or create API. Doing this requires an empty body.\n\nChange-Id: Ibee143140878f4032a44e5c93547e9951b8f6cb2\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/f1fb8eaf896641e8ab59d088c715120730781dfa"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/f1fb8eaf896641e8ab59d088c715120730781dfa"}]},"branch":"refs/heads/master"},"a0a2eefac605014c991b994b5cd97d785e58f6b0":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-09-21 15:50:43.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/36/1006236/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstacksdk","ref":"refs/changes/36/1006236/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/36/1006236/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/36/1006236/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/36/1006236/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstacksdk refs/changes/36/1006236/2"}}},"commit":{"parents":[{"commit":"f5f5c8d818110549b1b53ddee9aade4b71bfc4f6","subject":"placement: Fix trait create and exists","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/f5f5c8d818110549b1b53ddee9aade4b71bfc4f6"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2024-07-25 13:10:07.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-09-21 15:46:56.000000000","tz":60},"subject":"placement: Allow empty commit on resource class","message":"placement: Allow empty commit on resource class\n\nThe \u0027PUT /resource_classes\u0027 placement API is a bit weird, in that it\ndoesn\u0027t accept any parameters. Instead, it\u0027s used purely as an\nidempotent check or create API. Doing this requires an empty body.\n\nChange-Id: Ibee143140878f4032a44e5c93547e9951b8f6cb2\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/a0a2eefac605014c991b994b5cd97d785e58f6b0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/a0a2eefac605014c991b994b5cd97d785e58f6b0"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Allow-Post-Review","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Allow-Post-Review","description":"Allow Post Review","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
