)]}'
{"id":"openstack%2Fblazar~930755","triplet_id":"openstack%2Fblazar~master~If4ff1c8da32c3be47bf1523058f83effd7340f02","project":"openstack/blazar","branch":"master","attention_set":{"15197":{"account":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"last_update":"2026-01-08 15:21:42.000000000","reason":"\u003cGERRIT_ACCOUNT_37598\u003e replied on the change","reason_account":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"}},"782":{"account":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"last_update":"2025-02-07 22:42:42.000000000","reason":"\u003cGERRIT_ACCOUNT_33582\u003e replied on the change","reason_account":{"_account_id":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"}},"35263":{"account":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"last_update":"2026-01-08 15:21:42.000000000","reason":"\u003cGERRIT_ACCOUNT_37598\u003e replied on the change","reason_account":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"}}},"removed_from_attention_set":{},"hashtags":[],"change_id":"If4ff1c8da32c3be47bf1523058f83effd7340f02","subject":"Add extra on_end calls on reservation failure","status":"NEW","created":"2024-09-27 17:12:31.000000000","updated":"2026-01-08 15:21:42.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"2dd4bd5a1193a487fb30bf89b4fa20945d5ec30e","_number":930755,"virtual_id_number":930755,"owner":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2024-09-27 18:06:34.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},{"_account_id":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"},{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"}],"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":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"},"all":[{"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":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},{"value":1,"date":"2026-01-08 15:21:42.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},{"value":2,"date":"2025-02-07 22:42:42.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"}],"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":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":2},"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},{"value":0,"permitted_voting_range":{"min":-1,"max":2},"_account_id":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"},{"value":0,"permitted_voting_range":{"min":-1,"max":2},"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"},{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2024-09-27 18:06:34.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-02-07 22:42:42.000000000","updated_by":{"_account_id":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"},"reviewer":{"_account_id":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"},"state":"REVIEWER"},{"updated":"2026-01-08 15:21:42.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"state":"REVIEWER"},{"updated":"2026-01-08 15:21:42.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"state":"REVIEWER"},{"updated":"2026-01-08 15:21:42.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"state":"REVIEWER"}],"messages":[{"id":"c9dec16aa6681c7450b17df8185f3ca88ac9452a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"date":"2024-09-27 17:12:31.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"f10adba5a6a53785e9f0e62190f1a66db95506ec","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"date":"2024-09-27 17:13:36.000000000","message":"Topic flavor-based-reservation4 removed","accounts_in_message":[],"_revision_number":1},{"id":"786b22424c7cf0053528a145bdfca9311cf00f51","author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"date":"2024-09-27 17:15:14.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"ffbcf1e7870556c68a8f864472af74ea0f524dde","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"date":"2024-09-27 17:22:43.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"f912607223121a53029798911c4bf80302c353da","author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"date":"2024-09-27 17:22:56.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"d767478961d597a140a98e2c4c06c5a31e68b97d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-09-27 18:06:34.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/52017e93df7e4b97bab126d06f899de4\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/453d689e005c40f8a78ecad5f69a7a3c : SUCCESS in 4m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3f39a9fd66e74698937aaec8a7a6d0ba : SUCCESS in 3m 22s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/98db7e63ebe94137b61434aedd0910fb : SUCCESS in 5m 16s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/5ac79d6b201c4095ad1ef50afa9438f2 : SUCCESS in 4m 54s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fafe4688802a4b04b23a1d5054acdbfe : SUCCESS in 6m 08s\n- blazar-tempest-plugin-base https://zuul.opendev.org/t/openstack/build/01f8342b506e40a4a1723b41ffd433cc : SUCCESS in 41m 14s\n- blazar-tempest-plugin-ipv6-only https://zuul.opendev.org/t/openstack/build/b0f48f03713d4aef980e4263dfd7859e : SUCCESS in 42m 30s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/5f4c06a618e64f7fbdc2a9bbd358cb07 : FAILURE in 3m 42s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"80968b52567391c04a504bb70eedb5a648437c95","author":{"_account_id":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"},"date":"2025-02-07 22:42:42.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"2dd4bd5a1193a487fb30bf89b4fa20945d5ec30e","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-01-08 15:21:42.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"db69073828f76dadc2a7d915484ee1f2a6f9bcbc","revisions":{"f91c039597212ed52325bad28352e1b477daa263":{"kind":"REWORK","_number":1,"created":"2024-09-27 17:12:31.000000000","uploader":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"ref":"refs/changes/55/930755/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/blazar","ref":"refs/changes/55/930755/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/blazar refs/changes/55/930755/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/blazar refs/changes/55/930755/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/blazar refs/changes/55/930755/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/blazar refs/changes/55/930755/1"}}},"commit":{"parents":[{"commit":"728ef497f33166a40abe25a32087f3b457a26ca1","subject":"Ensure check_create gets the lease_id","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/728ef497f33166a40abe25a32087f3b457a26ca1"}]}],"author":{"name":"John Garbutt","email":"john.garbutt@stackhpc.com","date":"2024-09-27 17:09:37.000000000","tz":60},"committer":{"name":"John Garbutt","email":"john.garbutt@stackhpc.com","date":"2024-09-27 17:09:37.000000000","tz":60},"subject":"Add extra on_end calls on reservation failure","message":"Add extra on_end calls on reservation failure\n\nIf we use check_create to keep state about reserverations\nwe need an on_end callback to be attempted when the lease\nis deleted early due to a failure, such as reserve_resource\nfailing due to some race with another reservation request.\n\nIn other error cases, we would expect a lease db object\nto still be created at the end of the create lease call,\nsuch that delete will be called that triggers on_end.\n\nChange-Id: If4ff1c8da32c3be47bf1523058f83effd7340f02\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/f91c039597212ed52325bad28352e1b477daa263"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/f91c039597212ed52325bad28352e1b477daa263"}]},"branch":"refs/heads/master"},"db69073828f76dadc2a7d915484ee1f2a6f9bcbc":{"kind":"REWORK","_number":2,"created":"2024-09-27 17:22:43.000000000","uploader":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"ref":"refs/changes/55/930755/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/blazar","ref":"refs/changes/55/930755/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/blazar refs/changes/55/930755/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/blazar refs/changes/55/930755/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/blazar refs/changes/55/930755/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/blazar refs/changes/55/930755/2"}}},"commit":{"parents":[{"commit":"827cdb048c7700e623cd9281f334d6e3f69eef93","subject":"Simplify create_lease by removing some indenting","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/827cdb048c7700e623cd9281f334d6e3f69eef93"}]}],"author":{"name":"John Garbutt","email":"john.garbutt@stackhpc.com","date":"2024-09-27 17:20:48.000000000","tz":60},"committer":{"name":"John Garbutt","email":"john.garbutt@stackhpc.com","date":"2024-09-27 17:20:48.000000000","tz":60},"subject":"Add extra on_end calls on reservation failure","message":"Add extra on_end calls on reservation failure\n\nIf we use check_create to keep state about reserverations\nwe need an on_end callback to be attempted when the lease\nis deleted early due to a failure, such as reserve_resource\nfailing due to some race with another reservation request.\n\nIn other error cases, we would expect a lease db object\nto still be created at the end of the create lease call,\nsuch that delete will be called that triggers on_end.\n\nOne alternative is to move check_create after operations\nsuch as reserve_resource, but in that case we need to\nmake all of the plugins capable of cleaning up the resources\nthey have just created, which seems a bad idea when it is\nnot uncommon that a request is rejected due to the\nenforcement logic.\n\nChange-Id: If4ff1c8da32c3be47bf1523058f83effd7340f02\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/db69073828f76dadc2a7d915484ee1f2a6f9bcbc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/db69073828f76dadc2a7d915484ee1f2a6f9bcbc"}]},"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","applied_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"}},{"label":"Workflow","status":"MAY"},{"label":"Review-Priority","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":"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":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{"label:Review-Priority\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":""}}}]}
