)]}'
{"id":"openstack%2Fblazar~589899","triplet_id":"openstack%2Fblazar~master~Ie2339db18e8baee379fbea082f1238ec44fca6b1","project":"openstack/blazar","branch":"master","topic":"bug/1785841","attention_set":{},"removed_from_attention_set":{"29100":{"account":{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},"last_update":"2022-02-24 15:35:43.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ie2339db18e8baee379fbea082f1238ec44fca6b1","subject":"Prevent conflicting events from running concurrently","status":"MERGED","created":"2018-08-08 13:35:56.000000000","updated":"2022-02-24 15:37:26.000000000","submitted":"2022-02-24 15:35:43.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":4,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"589899-bug/1785841","meta_rev_id":"46a9853dd5a86b46398263c43df6cb8fabcb3117","_number":589899,"virtual_id_number":589899,"owner":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2022-02-24 15:35:42.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},{"value":0,"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},{"value":0,"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"}],"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":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"all":[{"value":0,"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},{"value":2,"date":"2022-02-24 14:43:50.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},{"value":0,"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"}],"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":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"all":[{"value":0,"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},{"value":1,"date":"2022-02-24 14:43:50.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},{"value":0,"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},{"value":0,"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},{"value":0,"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"}],"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":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},{"_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":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2018-08-23 07:24:40.000000000","updated_by":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"reviewer":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"state":"REVIEWER"},{"updated":"2018-08-28 09:36:03.000000000","updated_by":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"reviewer":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"state":"REVIEWER"},{"updated":"2020-11-09 21:49:53.000000000","updated_by":{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},"reviewer":{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},"state":"REVIEWER"},{"updated":"2020-11-09 22:44:11.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"}],"messages":[{"id":"fb36e2d679948dd4789c3ef24f3c6a68276670c9","author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"date":"2018-08-08 13:35:56.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"262a57cc3882a854496e62b744f07fe39e1c6ec1","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-08-08 14:45:32.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/99/589899/1/check/openstack-tox-pep8/7575f35/ : SUCCESS in 5m 00s\n- openstack-tox-py27 http://logs.openstack.org/99/589899/1/check/openstack-tox-py27/c6a4150/ : SUCCESS in 5m 39s\n- openstack-tox-py35 http://logs.openstack.org/99/589899/1/check/openstack-tox-py35/ae8f79c/ : SUCCESS in 5m 32s\n- build-openstack-sphinx-docs http://logs.openstack.org/99/589899/1/check/build-openstack-sphinx-docs/2224d7d/html/ : SUCCESS in 5m 28s\n- openstack-tox-pylint http://logs.openstack.org/99/589899/1/check/openstack-tox-pylint/2703ad4/ : SUCCESS in 7m 20s (non-voting)\n- blazar-devstack-dsvm http://logs.openstack.org/99/589899/1/check/blazar-devstack-dsvm/2a0bc7e/ : SUCCESS in 43m 43s\n- blazar-devstack-dsvm-py35 http://logs.openstack.org/99/589899/1/check/blazar-devstack-dsvm-py35/3ecefa4/ : SUCCESS in 39m 45s\n- openstack-tox-lower-constraints http://logs.openstack.org/99/589899/1/check/openstack-tox-lower-constraints/640419f/ : SUCCESS in 5m 43s","accounts_in_message":[],"_revision_number":1},{"id":"cdba91514b71dbec259055209fcb2c85c71354a1","author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"date":"2018-08-09 13:43:16.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.","accounts_in_message":[],"_revision_number":2},{"id":"eaef0b0529108bf79096658a394e89d24aa90821","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-08-09 14:33:25.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/99/589899/2/check/openstack-tox-pep8/dce0ae8/ : SUCCESS in 5m 32s\n- openstack-tox-py27 http://logs.openstack.org/99/589899/2/check/openstack-tox-py27/6f7429c/ : SUCCESS in 5m 46s\n- openstack-tox-py35 http://logs.openstack.org/99/589899/2/check/openstack-tox-py35/78f4dc5/ : SUCCESS in 5m 25s\n- build-openstack-sphinx-docs http://logs.openstack.org/99/589899/2/check/build-openstack-sphinx-docs/03b47db/html/ : SUCCESS in 5m 42s\n- openstack-tox-pylint http://logs.openstack.org/99/589899/2/check/openstack-tox-pylint/4b547b5/ : SUCCESS in 6m 19s (non-voting)\n- blazar-devstack-dsvm http://logs.openstack.org/99/589899/2/check/blazar-devstack-dsvm/12f5a86/ : SUCCESS in 44m 27s\n- blazar-devstack-dsvm-py35 http://logs.openstack.org/99/589899/2/check/blazar-devstack-dsvm-py35/b4591ce/ : SUCCESS in 38m 11s\n- openstack-tox-lower-constraints http://logs.openstack.org/99/589899/2/check/openstack-tox-lower-constraints/2caa9a7/ : SUCCESS in 5m 25s","accounts_in_message":[],"_revision_number":2},{"id":"dc69ec72535e5988cc55afb73d6f8ab3551387aa","author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"date":"2018-08-23 07:24:40.000000000","message":"Patch Set 2: Code-Review+1\n\n(1 comment)\n\nOne concern is that this can increase the execution time if the cloud is big... but I\u0027m good with this if this patch actually helps your cloud now.\n\nSuggested a shortcut that might help relieve the execution time problem.","accounts_in_message":[],"_revision_number":2},{"id":"a41def351df43dbeaa1c79bc15aa707e44b51dd9","author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"date":"2018-08-28 09:36:03.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"d4a825dbcca9fa49b12650b96718a9095fc55e8d","author":{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},"date":"2020-11-09 21:49:53.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"4f83543413cc047049d5d19c002e59f066a15906","author":{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},"date":"2020-11-09 21:54:02.000000000","message":"Patch Set 2:\n\n(2 comments)\n\nI\u0027m doing some cleanup of our Blazar fork and am revisiting some of these patches and getting them ready for prime time. We use these patches in production so I\u0027m pretty motivated to have them properly released :)\n\nThanks Pierre for the nice patch!","accounts_in_message":[],"_revision_number":2},{"id":"bc052af6fe392856d5c262433203885c3ffa5801","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-11-09 22:44:11.000000000","message":"Patch Set 3: 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-cover https://zuul.opendev.org/t/openstack/build/1bc0a15544ee4199a03e1a31c8287863 : FAILURE in 7m 34s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/bdfb2a072ded4daeb9b3af60ab7a8c96 : FAILURE in 5m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4001019d59a545238f760262f900b677 : SUCCESS in 4m 26s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/9f61e0c60cdf430182b9d0924aa498d7 : FAILURE in 5m 31s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/e7354b59978e4eaf8d898c4710b62f18 : FAILURE in 9m 00s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/39402f88ec964abfbef0b2a9f9944f84 : FAILURE in 5m 46s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4fe73136e125447ab5afdef5581b698a : SUCCESS in 6m 48s\n- blazar-tempest-plugin-base https://zuul.opendev.org/t/openstack/build/3e38b681c5eb4d71a48b9dc64e20019f : SUCCESS in 51m 28s\n- blazar-tempest-plugin-ipv6-only https://zuul.opendev.org/t/openstack/build/7e4b5bcc90384d96a6149dcf983383d8 : SUCCESS in 41m 29s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/e66d0c3a511643a4be5226f32d92d69e : FAILURE in 4m 15s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"2816c9811d04cb585065188ea81a5225ec23d385","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},"date":"2021-12-13 20:26:49.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"1d9ec329c8360cef11dbd9926fc88add88704a5e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-12-13 21:01:57.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2364abea41774e6fae79d3e0b67aec98 : SUCCESS in 5m 17s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0a89fe63f00d44aab418582f2b8f5b5e : SUCCESS in 4m 22s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1dd883bf48a0486ea07d5f386159a7ca : SUCCESS in 4m 35s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/e120985e39de43cfb7f4b3a23e27b0f2 : SUCCESS in 4m 59s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/c2814f5d71d74c2f8ab4dc30f2110e38 : SUCCESS in 5m 02s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7ad270f7f9da4c4084ef00e85f0fd981 : SUCCESS in 6m 12s\n- blazar-tempest-plugin-base https://zuul.opendev.org/t/openstack/build/e7549c73354546648e8cede83f665cd3 : SUCCESS in 32m 14s\n- blazar-tempest-plugin-ipv6-only https://zuul.opendev.org/t/openstack/build/c0545445f80548b8b9ad66e91c1dbacb : SUCCESS in 30m 09s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/88335125dc494f35a2366bc610109be2 : FAILURE in 3m 49s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"36c6a4c45e9306cb386d98ca9e91db5e5b7f2347","author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"date":"2022-02-24 14:43:50.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":4},{"id":"c4900ed7fe21cabd6127ce6f885e281bca261aa0","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-02-24 14:44:54.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"2c67c169b7f98a5c4ce3e489a048789abfc23834","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-02-24 15:35:42.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e6f2a9b3342b4a87be2d274681c76583 : SUCCESS in 5m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/236074c818c5458b9ba8b07b2eed6092 : SUCCESS in 5m 25s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/ad46d0664178449d9b83cf9a7f428191 : SUCCESS in 5m 46s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/9934f96e3b7143f29451431a3648d4f4 : SUCCESS in 5m 52s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8f7694bbf0bc4829a737cd14274a1476 : SUCCESS in 8m 10s\n- blazar-tempest-plugin-base https://zuul.opendev.org/t/openstack/build/5f66d6c4c02246aabd8f6adc6db19748 : SUCCESS in 46m 30s\n- blazar-tempest-plugin-ipv6-only https://zuul.opendev.org/t/openstack/build/04cf4d5c16384263b023129fda2a593e : SUCCESS in 44m 50s","accounts_in_message":[],"_revision_number":4},{"id":"4fd158754eacd7bed8c0be163ceca7c3ce2f7b09","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-02-24 15:35:43.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"46a9853dd5a86b46398263c43df6cb8fabcb3117","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-02-24 15:37:26.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a73702dc099e446fb3b25b5bbb4a936b : SUCCESS in 1m 05s","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"c92edb8a177de51862ad2a4f9cbac2c50d31ef84","revisions":{"d898b6cb7632610967c0b5b69b7bc7abe39e5216":{"kind":"REWORK","_number":1,"created":"2018-08-08 13:35:56.000000000","uploader":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"ref":"refs/changes/99/589899/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/blazar","ref":"refs/changes/99/589899/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/blazar refs/changes/99/589899/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/blazar refs/changes/99/589899/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/blazar refs/changes/99/589899/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/blazar refs/changes/99/589899/1"}}},"commit":{"parents":[{"commit":"be6e6fd0574d9f8a8c55f4905ace89e44a9c9e3e","subject":"Allow leases to transition to ERROR status if start_lease fails","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/be6e6fd0574d9f8a8c55f4905ace89e44a9c9e3e"}]}],"author":{"name":"Pierre Riteau","email":"pierre@stackhpc.com","date":"2018-08-08 10:46:28.000000000","tz":120},"committer":{"name":"Pierre Riteau","email":"pierre@stackhpc.com","date":"2018-08-08 10:46:28.000000000","tz":120},"subject":"Prevent conflicting events from running concurrently","message":"Prevent conflicting events from running concurrently\n\nIf two leases have compute hosts in common, and the second lease starts\nexactly when the first lease ends, there is the possibility of a race.\nThe Blazar manager can first run the start_lease event of the second\nlease. This event would fail since the end_lease event of the first\nlease would still be UNDONE, and the compute hosts in common would still\nbe in the aggregate associated with the first lease, instead of being in\nthe freepool.\n\nThis patch changes event execution code so that events are executed\nconcurrently if possible, with the following constraints:\n\n- events are executed strictly in order, i.e. events are started only\n  after all previous events have completed\n- when events are at the same time, we first execute before_end_lease\n  events (unless there is a start_lease at the same time), then\n  end_lease events, followed by start_lease events, ensuring the bug\n  described above does not happen. Finally, we run any before_end_lease\n  which had a corresponding start_lease event at the same time.\n\nIt also has the side effect of providing better stack traces for event\nexecution failures, since we call wait() on all GreenThread objects.\n\nChange-Id: Ie2339db18e8baee379fbea082f1238ec44fca6b1\nCloses-Bug: #1785841\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/d898b6cb7632610967c0b5b69b7bc7abe39e5216"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/d898b6cb7632610967c0b5b69b7bc7abe39e5216"}]},"branch":"refs/heads/master"},"a996653da4b6194cab606d04c7c871d46297d10b":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2018-08-09 13:43:16.000000000","uploader":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"ref":"refs/changes/99/589899/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/blazar","ref":"refs/changes/99/589899/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/blazar refs/changes/99/589899/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/blazar refs/changes/99/589899/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/blazar refs/changes/99/589899/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/blazar refs/changes/99/589899/2"}}},"commit":{"parents":[{"commit":"a449aea611c5c4e10c1d634d4e7748416b0dd7c0","subject":"Allow leases to transition to ERROR status if start_lease fails","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/a449aea611c5c4e10c1d634d4e7748416b0dd7c0"}]}],"author":{"name":"Pierre Riteau","email":"pierre@stackhpc.com","date":"2018-08-08 10:46:28.000000000","tz":120},"committer":{"name":"Pierre Riteau","email":"pierre@stackhpc.com","date":"2018-08-09 13:43:05.000000000","tz":120},"subject":"Prevent conflicting events from running concurrently","message":"Prevent conflicting events from running concurrently\n\nIf two leases have compute hosts in common, and the second lease starts\nexactly when the first lease ends, there is the possibility of a race.\nThe Blazar manager can first run the start_lease event of the second\nlease. This event would fail since the end_lease event of the first\nlease would still be UNDONE, and the compute hosts in common would still\nbe in the aggregate associated with the first lease, instead of being in\nthe freepool.\n\nThis patch changes event execution code so that events are executed\nconcurrently if possible, with the following constraints:\n\n- events are executed strictly in order, i.e. events are started only\n  after all previous events have completed\n- when events are at the same time, we first execute before_end_lease\n  events (unless there is a start_lease at the same time), then\n  end_lease events, followed by start_lease events, ensuring the bug\n  described above does not happen. Finally, we run any before_end_lease\n  which had a corresponding start_lease event at the same time.\n\nIt also has the side effect of providing better stack traces for event\nexecution failures, since we call wait() on all GreenThread objects.\n\nChange-Id: Ie2339db18e8baee379fbea082f1238ec44fca6b1\nCloses-Bug: #1785841\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/a996653da4b6194cab606d04c7c871d46297d10b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/a996653da4b6194cab606d04c7c871d46297d10b"}]},"branch":"refs/heads/master"},"72b8e2602a1c6a130a6674e06a9d470b30f6ed2a":{"kind":"REWORK","_number":3,"created":"2020-11-09 21:49:53.000000000","uploader":{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},"ref":"refs/changes/99/589899/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/blazar","ref":"refs/changes/99/589899/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/blazar refs/changes/99/589899/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/blazar refs/changes/99/589899/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/blazar refs/changes/99/589899/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/blazar refs/changes/99/589899/3"}}},"commit":{"parents":[{"commit":"368403ea806e76405a773eb3cb679ff7c77334f4","subject":"Remove the unused coding style modules","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/368403ea806e76405a773eb3cb679ff7c77334f4"}]}],"author":{"name":"Pierre Riteau","email":"pierre@stackhpc.com","date":"2018-08-08 10:46:28.000000000","tz":120},"committer":{"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","date":"2020-11-09 21:49:47.000000000","tz":-360},"subject":"Prevent conflicting events from running concurrently","message":"Prevent conflicting events from running concurrently\n\nIf two leases have compute hosts in common, and the second lease starts\nexactly when the first lease ends, there is the possibility of a race.\nThe Blazar manager can first run the start_lease event of the second\nlease. This event would fail since the end_lease event of the first\nlease would still be UNDONE, and the compute hosts in common would still\nbe in the aggregate associated with the first lease, instead of being in\nthe freepool.\n\nThis patch changes event execution code so that events are executed\nconcurrently if possible, with the following constraints:\n\n- events are executed strictly in order, i.e. events are started only\n  after all previous events have completed\n- when events are at the same time, we first execute before_end_lease\n  events (unless there is a start_lease at the same time), then\n  end_lease events, followed by start_lease events, ensuring the bug\n  described above does not happen. Finally, we run any before_end_lease\n  which had a corresponding start_lease event at the same time.\n\nIt also has the side effect of providing better stack traces for event\nexecution failures, since we call wait() on all GreenThread objects.\n\nCo-Authored-By: Jason Anderson \u003cjasonanderson@uchicago.edu\u003e\nChange-Id: Ie2339db18e8baee379fbea082f1238ec44fca6b1\nCloses-Bug: #1785841\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/72b8e2602a1c6a130a6674e06a9d470b30f6ed2a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/72b8e2602a1c6a130a6674e06a9d470b30f6ed2a"}]},"branch":"refs/heads/master"},"c92edb8a177de51862ad2a4f9cbac2c50d31ef84":{"kind":"REWORK","_number":4,"created":"2021-12-13 20:26:49.000000000","uploader":{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},"ref":"refs/changes/99/589899/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/blazar","ref":"refs/changes/99/589899/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/blazar refs/changes/99/589899/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/blazar refs/changes/99/589899/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/blazar refs/changes/99/589899/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/blazar refs/changes/99/589899/4"}}},"commit":{"parents":[{"commit":"368403ea806e76405a773eb3cb679ff7c77334f4","subject":"Remove the unused coding style modules","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/368403ea806e76405a773eb3cb679ff7c77334f4"}]}],"author":{"name":"Pierre Riteau","email":"pierre@stackhpc.com","date":"2018-08-08 10:46:28.000000000","tz":120},"committer":{"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","date":"2021-12-13 20:26:34.000000000","tz":-360},"subject":"Prevent conflicting events from running concurrently","message":"Prevent conflicting events from running concurrently\n\nIf two leases have compute hosts in common, and the second lease starts\nexactly when the first lease ends, there is the possibility of a race.\nThe Blazar manager can first run the start_lease event of the second\nlease. This event would fail since the end_lease event of the first\nlease would still be UNDONE, and the compute hosts in common would still\nbe in the aggregate associated with the first lease, instead of being in\nthe freepool.\n\nThis patch changes event execution code so that events are executed\nconcurrently if possible, with the following constraints:\n\n- events are executed strictly in order, i.e. events are started only\n  after all previous events have completed\n- when events are at the same time, we first execute before_end_lease\n  events (unless there is a start_lease at the same time), then\n  end_lease events, followed by start_lease events, ensuring the bug\n  described above does not happen. Finally, we run any before_end_lease\n  which had a corresponding start_lease event at the same time.\n\nIt also has the side effect of providing better stack traces for event\nexecution failures, since we call wait() on all GreenThread objects.\n\nCo-Authored-By: Jason Anderson \u003cjasonanderson@uchicago.edu\u003e\nChange-Id: Ie2339db18e8baee379fbea082f1238ec44fca6b1\nCloses-Bug: #1785841\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/c92edb8a177de51862ad2a4f9cbac2c50d31ef84"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/blazar/commit/c92edb8a177de51862ad2a4f9cbac2c50d31ef84"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"}},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
