)]}'
{"id":"openstack%2Fnova~770657","triplet_id":"openstack%2Fnova~stable%2Fstein~Ia5e521e0f0c7a78b5ace5de9f343e84d872553f9","project":"openstack/nova","branch":"stable/stein","topic":"bug/1864122","hashtags":[],"change_id":"Ia5e521e0f0c7a78b5ace5de9f343e84d872553f9","subject":"Use fair locks in resource tracker","status":"ABANDONED","created":"2021-01-13 18:19:48.000000000","updated":"2021-01-15 03:37:15.000000000","total_comment_count":1,"unresolved_comment_count":1,"has_review_started":true,"meta_rev_id":"eb6970e1fb7f4f616c8234985285ee3d7dcf7fc2","_number":770657,"virtual_id_number":770657,"owner":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"actions":{},"labels":{"Verified":{"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"}],"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":{"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":-1,"max":1},"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"}],"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"]},{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-01-13 18:19:48.000000000","updated_by":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"reviewer":{"_account_id":29100,"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","username":"jasonanderson"},"state":"REVIEWER"},{"updated":"2021-01-13 18:21:22.000000000","updated_by":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"reviewer":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2021-01-13 18:31:41.000000000","updated_by":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"reviewer":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"state":"CC"},{"updated":"2021-01-13 22:28:39.000000000","updated_by":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"reviewer":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2021-01-14 19:57:55.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":"c9eb280192881cc3eac4d694a0a904cfa94bda29","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-01-13 18:19:48.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"bf6eef0c8f071a893311a62e029e5769da345e76","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-01-13 18:20:44.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"24fd27c6b2b6a180889ace70ef59c8fb0d9fff54","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"date":"2021-01-13 18:21:22.000000000","message":"Patch Set 1:\n\nBuild Failed \n\n* SRIOV-nova-macvtap http://13.74.249.42/refs/changes/57/770657/1/SRIOV-nova-macvtap : ABORTED","accounts_in_message":[],"_revision_number":1},{"id":"e2259a8a647d806154a35441a0670cb86e877985","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-01-13 18:27:09.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"8635088b86330146c454e0501dd8add7b57115ad","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"date":"2021-01-13 18:28:21.000000000","message":"Patch Set 2:\n\nBuild Failed \n\n* SRIOV-nova-macvtap http://13.74.249.42/refs/changes/57/770657/2/SRIOV-nova-macvtap : FAILURE\n\n* SRIOV-nova-direct http://13.74.249.42/refs/changes/57/770657/2/SRIOV-nova-direct : FAILURE","accounts_in_message":[],"_revision_number":2},{"id":"bbc0c3fcedc1681634b3216915659d1644f22c6d","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2021-01-13 18:31:41.000000000","message":"Patch Set 2:\n\nFor rechecking only on the Cloudbase Nova Hyper-V CI, add a review comment with run-Cloudbase Nova Hyper-V CI\n\n- nova http://cloudbase-ci.com/nova/770657/2 : FAILURE in 9m 15s","accounts_in_message":[],"_revision_number":2},{"id":"5f1a128db57704cda82bd909e24df5986de4cf73","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"date":"2021-01-13 18:36:41.000000000","message":"Patch Set 2:\n\nBuild Failed \n\n* SRIOV-nova-macvtap http://13.74.249.42/refs/changes/57/770657/2/SRIOV-nova-macvtap : FAILURE\n\n* SRIOV-nova-direct http://13.74.249.42/refs/changes/57/770657/2/SRIOV-nova-direct : FAILURE","accounts_in_message":[],"_revision_number":2},{"id":"b197a1760ce7b10093abbe577db57453896739cc","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2021-01-13 22:28:39.000000000","message":"Patch Set 2:\n\nBuild succeeded. Test completed on IBM PowerKVM platform. For rechecking only on the IBM PowerKVM CI, add a review comment with pkvm- recheck. For contact and more information, see https://wiki.openstack.org/wiki/PowerKVM\n\n- tempest-dsvm-full-bionic-py3 https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/57/770657/2/check/tempest-dsvm-full-bionic-py3/fc996cb/ : SUCCESS in 1h 36m 29s","accounts_in_message":[],"_revision_number":2},{"id":"7dc1d22814c4ddd65a064cf960717b470cc27085","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"date":"2021-01-13 22:37:57.000000000","message":"Patch Set 2:\n\nBuild Failed \n\n* SRIOV-nova-macvtap http://13.74.249.42/refs/changes/57/770657/2/SRIOV-nova-macvtap : FAILURE\n\n* SRIOV-nova-direct http://13.74.249.42/refs/changes/57/770657/2/SRIOV-nova-direct : FAILURE","accounts_in_message":[],"_revision_number":2},{"id":"5668afede5c062e505a4cccf00f272acd0ab6b7d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-14 19:57:55.000000000","message":"Patch Set 2: 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- requirements-check https://zuul.opendev.org/t/openstack/build/a0038a81838a4df28cddf96d89382341 : FAILURE in 3m 27s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/a82c4bd9165f4707a694eb77ff8837c0 : SUCCESS in 1h 12m 54s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/40e727162ae64da39d7e0d167375ab72 : SUCCESS in 14m 37s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/065d87be8cb645bdbecd878088608be0 : FAILURE in 4m 03s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c7f6eab9dd904a7e82d870dc2e22edf8 : FAILURE in 12m 48s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/f7d6518be60a42ba96d0e2e18a2dd1cf : FAILURE in 8m 08s\n- openstack-tox-py35 https://zuul.opendev.org/t/openstack/build/b9c9b38084ba41768b6806924f6f99ce : SUCCESS in 20m 58s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/8b711922dd044f73b28a3af52a57adbd : SUCCESS in 12m 20s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/4be7f34d3c3e4192ac3f937d99218c04 : SUCCESS in 13m 23s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0dd63633d65f4457bae20303ecf0b7fc : SUCCESS in 6m 58s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/cef9e65851fe413794ff637aec6f05f7 : SUCCESS in 46m 38s (non-voting)\n- devstack-plugin-ceph-tempest https://zuul.opendev.org/t/openstack/build/1e73d9bcf64d4a9b8d1fbed437c2a76c : SUCCESS in 1h 14m 28s (non-voting)\n- neutron-grenade-multinode https://zuul.opendev.org/t/openstack/build/3744620dc46b4822823d8895de84248f : SUCCESS in 47m 31s\n- nova-grenade-live-migration https://zuul.opendev.org/t/openstack/build/eacd335927884fe18f6bbd9c1cd158e0 : SUCCESS in 1h 55m 01s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/71631bfc72024ca2a61765795c343737 : SUCCESS in 1h 41m 12s\n- nova-next https://zuul.opendev.org/t/openstack/build/e26e3bff740b454fb46ff1c6259c058d : SUCCESS in 1h 58m 52s\n- nova-tox-functional https://zuul.opendev.org/t/openstack/build/502aed4a6df8434a8a0225a3eb64389b : FAILURE in 4m 06s\n- nova-tox-functional-py35 https://zuul.opendev.org/t/openstack/build/e8604682940641c9a8c2fafddde1c798 : SUCCESS in 18m 25s\n- tempest-multinode-full https://zuul.opendev.org/t/openstack/build/9ef202d937414a61b776a8b7e7aa0b46 : SUCCESS in 2h 30m 33s (non-voting)\n- tempest-slow-py3 https://zuul.opendev.org/t/openstack/build/029eea7bfaa6422b9cb4402d4922e822 : SUCCESS in 1h 58m 54s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/79408689feb34ea5a1932743dad4620d : SUCCESS in 53m 17s","accounts_in_message":[],"_revision_number":2},{"id":"494405a925bc753ff92ad8bebd382d97ab10426d","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-01-14 23:24:33.000000000","message":"Patch Set 2:\n\nNeed to rebase to get https://review.opendev.org/c/openstack/nova/+/766487","accounts_in_message":[],"_revision_number":2},{"id":"c78adfa84509e3b2f407af92666fb872fc1ecd4e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-01-14 23:24:39.000000000","message":"Patch Set 3: Patch Set 2 was rebased","accounts_in_message":[],"_revision_number":3},{"id":"3095120e7c5c0b3e23cd7c86bc544ded6877be5b","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2021-01-14 23:34:38.000000000","message":"Patch Set 3:\n\nFor rechecking only on the Cloudbase Nova Hyper-V CI, add a review comment with run-Cloudbase Nova Hyper-V CI\n\n- nova http://cloudbase-ci.com/nova/770657/3 : FAILURE in 8m 47s","accounts_in_message":[],"_revision_number":3},{"id":"a55dbd6a165e883d1bc4fb228ecf7d655447c19f","tag":"autogenerated:gerrit:abandon","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-01-14 23:59:51.000000000","message":"Abandoned\n\nI had a brain lapse thinking this could be backported. I cannot be, because it requires a bump of a lower constraint. I\u0027m abandoning the proposed backport patches accordingly.","accounts_in_message":[],"_revision_number":3},{"id":"eb6970e1fb7f4f616c8234985285ee3d7dcf7fc2","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"date":"2021-01-15 03:37:15.000000000","message":"Patch Set 3:\n\nBuild Failed \n\n* SRIOV-nova-macvtap http://13.74.249.42/refs/changes/57/770657/3/SRIOV-nova-macvtap : FAILURE\n\n* SRIOV-nova-direct http://13.74.249.42/refs/changes/57/770657/3/SRIOV-nova-direct : FAILURE","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"3a58c602cf37c69a105b8fd5a56595863beb8028","revisions":{"1149185d01e8acd36c6f9061fbfb48aac3ea0deb":{"kind":"REWORK","_number":1,"created":"2021-01-13 18:19:48.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/57/770657/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/57/770657/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/57/770657/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/57/770657/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/57/770657/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/57/770657/1"}}},"commit":{"parents":[{"commit":"051a51f5218eb9425982e8d40c7cc5a83911be0f","subject":"Merge \"Sanity check instance mapping during scheduling\" into stable/stein","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/051a51f5218eb9425982e8d40c7cc5a83911be0f"}]}],"author":{"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","date":"2020-02-27 16:37:34.000000000","tz":-360},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2021-01-13 18:16:04.000000000","tz":0},"subject":"Use fair locks in resource tracker","message":"Use fair locks in resource tracker\n\nWhen the resource tracker has to lock a compute host for updates or\ninspection, it uses a single semaphore. In most cases, this is fine, as\na compute process only is tracking one hypervisor. However, in Ironic, it\u0027s\npossible for one compute process to track many hypervisors. In this\ncase, wait queues for instance claims can get \"stuck\" briefly behind\nlonger processing loops such as the update_resources periodic job. The\nreason this is possible is because the oslo.lockutils synchronized\nlibrary does not use fair locks by default. When a lock is released, one\nof the threads waiting for the lock is randomly allowed to take the lock\nnext. A fair lock ensures that the thread that next requested the lock\nwill be allowed to take it.\n\nThis should ensure that instance claim requests do not have a chance of\nlosing the lock contest, which should ensure that instance build\nrequests do not queue unnecessarily behind long-running tasks.\n\nThis includes bumping the oslo.concurrency dependency; fair locks were\nadded in 3.29.0 (I37577becff4978bf643c65fa9bc2d78d342ea35a).\n\nConflicts:\n    nova/compute/resource_tracker.py\n\nNOTE(melwitt): The conflicts are because the following changes are not\nin Queens:\n\n  * I59aec72e158eb2859bb6178b2a42d3f3438ab0f3 (Retrieve the allocations\n    early)\n  * I3bafebe86991f457569efcd7b6f130c5a0080437 (Introduce\n    live_migration_claim())\n  * I734cc01dce13f9e75a16639faf890ddb1661b7eb (SR-IOV Live migration\n    indirect port support)\n\nChange-Id: Ia5e521e0f0c7a78b5ace5de9f343e84d872553f9\nRelated-Bug: #1864122\n(cherry picked from commit 1ed9f9dac59c36cdda54a9852a1f93939b3ebbc3)\n(cherry picked from commit 8b9d8d3a9ee739c167140b176134dd31b2cf384c)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/1149185d01e8acd36c6f9061fbfb48aac3ea0deb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/1149185d01e8acd36c6f9061fbfb48aac3ea0deb"}]},"branch":"refs/heads/stable/stein"},"47c433ea3398627b7656ce6ad8325f157f90eb75":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2021-01-13 18:20:44.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/57/770657/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/57/770657/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/57/770657/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/57/770657/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/57/770657/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/57/770657/2"}}},"commit":{"parents":[{"commit":"051a51f5218eb9425982e8d40c7cc5a83911be0f","subject":"Merge \"Sanity check instance mapping during scheduling\" into stable/stein","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/051a51f5218eb9425982e8d40c7cc5a83911be0f"}]}],"author":{"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","date":"2020-02-27 16:37:34.000000000","tz":-360},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2021-01-13 18:20:16.000000000","tz":0},"subject":"Use fair locks in resource tracker","message":"Use fair locks in resource tracker\n\nWhen the resource tracker has to lock a compute host for updates or\ninspection, it uses a single semaphore. In most cases, this is fine, as\na compute process only is tracking one hypervisor. However, in Ironic, it\u0027s\npossible for one compute process to track many hypervisors. In this\ncase, wait queues for instance claims can get \"stuck\" briefly behind\nlonger processing loops such as the update_resources periodic job. The\nreason this is possible is because the oslo.lockutils synchronized\nlibrary does not use fair locks by default. When a lock is released, one\nof the threads waiting for the lock is randomly allowed to take the lock\nnext. A fair lock ensures that the thread that next requested the lock\nwill be allowed to take it.\n\nThis should ensure that instance claim requests do not have a chance of\nlosing the lock contest, which should ensure that instance build\nrequests do not queue unnecessarily behind long-running tasks.\n\nThis includes bumping the oslo.concurrency dependency; fair locks were\nadded in 3.29.0 (I37577becff4978bf643c65fa9bc2d78d342ea35a).\n\nConflicts:\n    nova/compute/resource_tracker.py\n\nNOTE(melwitt): The conflicts are because the following changes are not\nin Stein:\n\n  * I59aec72e158eb2859bb6178b2a42d3f3438ab0f3 (Retrieve the allocations\n    early)\n  * I3bafebe86991f457569efcd7b6f130c5a0080437 (Introduce\n    live_migration_claim())\n  * I734cc01dce13f9e75a16639faf890ddb1661b7eb (SR-IOV Live migration\n    indirect port support)\n\nChange-Id: Ia5e521e0f0c7a78b5ace5de9f343e84d872553f9\nRelated-Bug: #1864122\n(cherry picked from commit 1ed9f9dac59c36cdda54a9852a1f93939b3ebbc3)\n(cherry picked from commit 8b9d8d3a9ee739c167140b176134dd31b2cf384c)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/47c433ea3398627b7656ce6ad8325f157f90eb75"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/47c433ea3398627b7656ce6ad8325f157f90eb75"}]},"branch":"refs/heads/stable/stein"},"3a58c602cf37c69a105b8fd5a56595863beb8028":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2021-01-14 23:24:39.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/57/770657/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/57/770657/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/57/770657/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/57/770657/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/57/770657/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/57/770657/3"}}},"commit":{"parents":[{"commit":"c9f50e98d26ae2efd8efdce2c47895cffa276dd3","subject":"[stable-only] Cap bandit and make lower-constraints job non-voting","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c9f50e98d26ae2efd8efdce2c47895cffa276dd3"}]}],"author":{"name":"Jason Anderson","email":"jasonanderson@uchicago.edu","date":"2020-02-27 16:37:34.000000000","tz":-360},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2021-01-14 23:24:39.000000000","tz":0},"subject":"Use fair locks in resource tracker","message":"Use fair locks in resource tracker\n\nWhen the resource tracker has to lock a compute host for updates or\ninspection, it uses a single semaphore. In most cases, this is fine, as\na compute process only is tracking one hypervisor. However, in Ironic, it\u0027s\npossible for one compute process to track many hypervisors. In this\ncase, wait queues for instance claims can get \"stuck\" briefly behind\nlonger processing loops such as the update_resources periodic job. The\nreason this is possible is because the oslo.lockutils synchronized\nlibrary does not use fair locks by default. When a lock is released, one\nof the threads waiting for the lock is randomly allowed to take the lock\nnext. A fair lock ensures that the thread that next requested the lock\nwill be allowed to take it.\n\nThis should ensure that instance claim requests do not have a chance of\nlosing the lock contest, which should ensure that instance build\nrequests do not queue unnecessarily behind long-running tasks.\n\nThis includes bumping the oslo.concurrency dependency; fair locks were\nadded in 3.29.0 (I37577becff4978bf643c65fa9bc2d78d342ea35a).\n\nConflicts:\n    nova/compute/resource_tracker.py\n\nNOTE(melwitt): The conflicts are because the following changes are not\nin Stein:\n\n  * I59aec72e158eb2859bb6178b2a42d3f3438ab0f3 (Retrieve the allocations\n    early)\n  * I3bafebe86991f457569efcd7b6f130c5a0080437 (Introduce\n    live_migration_claim())\n  * I734cc01dce13f9e75a16639faf890ddb1661b7eb (SR-IOV Live migration\n    indirect port support)\n\nChange-Id: Ia5e521e0f0c7a78b5ace5de9f343e84d872553f9\nRelated-Bug: #1864122\n(cherry picked from commit 1ed9f9dac59c36cdda54a9852a1f93939b3ebbc3)\n(cherry picked from commit 8b9d8d3a9ee739c167140b176134dd31b2cf384c)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/3a58c602cf37c69a105b8fd5a56595863beb8028"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/3a58c602cf37c69a105b8fd5a56595863beb8028"}]},"branch":"refs/heads/stable/stein","description":"Rebase"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
