)]}'
{"id":"openstack%2Fplacement~663137","triplet_id":"openstack%2Fplacement~master~I4fce243659d5c429dc3d48f07888e38bd0aed5d4","project":"openstack/placement","branch":"master","topic":"story/2005575","hashtags":[],"change_id":"I4fce243659d5c429dc3d48f07888e38bd0aed5d4","subject":"Stabilize AllocationRequest hash","status":"MERGED","created":"2019-06-04 20:34:18.000000000","updated":"2019-06-08 03:12:25.000000000","submitted":"2019-06-08 03:12:24.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":20,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"663137-1559963545009-811cd442","meta_rev_id":"a6ca540da54faa89226105d2aa4c8cf0db635fe9","_number":663137,"virtual_id_number":663137,"owner":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":2,"date":"2019-06-08 03:12:24.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"}],"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":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"all":[{"value":2,"date":"2019-06-07 15:01:38.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":2,"date":"2019-06-07 15:01:38.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"}],"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":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"all":[{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":1,"date":"2019-06-07 15:01:38.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-06-04 20:58:11.000000000","updated_by":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"reviewer":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"state":"REVIEWER"},{"updated":"2019-06-07 11:57:31.000000000","updated_by":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"reviewer":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"state":"REVIEWER"},{"updated":"2019-06-07 13:31:48.000000000","updated_by":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"reviewer":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"state":"REVIEWER"},{"updated":"2019-06-08 03:12:24.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"ff7e9cfa5822e2765cf399de2b9c22b9c2e6b7d2","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-04 20:34:18.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"02c1af716e0cef875388f45d03dae139d7ebd512","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-04 20:41:10.000000000","message":"Patch Set 1:\n\nI\u0027m going to be gone for the next two days, so if someone wants to pick this up that would be fine with me, some things that could be done to improve it include:\n\n* a \"bugfix\" reno. Not sure this is necessary because there\u0027s little in the way of visible impact: in some cases there might be duplicate members in allocation_requests.\n* direct tests of the hash on AllocationRequest\n\nI haven\u0027t done this because I\u0027ve run out of time.","accounts_in_message":[],"_revision_number":1},{"id":"47d07b4c3c15b76571da8cac2c3741a61538e51c","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-06-04 20:58:11.000000000","message":"Patch Set 1:\n\n(2 comments)\n\nI don\u0027t really feel qualified to vote on this, but at least a question inline.","accounts_in_message":[],"_revision_number":1},{"id":"9783ef217782aa47e14870daab94dcfcf515e1fd","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-04 21:07:41.000000000","message":"Patch Set 1: Code-Review-1\n\n(4 comments)\n\nGood find, Chris.\n\nI suspect this was actually working, but then we changed a list to a set somewhere at some point (which I\u0027ve given up trying to find because it\u0027s somewhere before The Split) but didn\u0027t catch this aspect of it.","accounts_in_message":[],"_revision_number":1},{"id":"3bb0706bd5d41bac22e876854cf4630bb3a0a9d7","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-04 21:13:34.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"d0c5b6d25b6022272f2488f9cd07927d4fc8bb74","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-04 21:22:51.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"6b7c475b7f56806c23420cfcff34fa8159fcd815","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-04 21:46:58.000000000","message":"Patch Set 1:\n\n(2 comments)\n\nStill need to fix up the commentary around the test case to reflect reality, but yeah, the sort key shouldn\u0027t need to include the amount.","accounts_in_message":[],"_revision_number":1},{"id":"611b9681898bef384f0cc9059939e979680d3577","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-05 01:59:36.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade-py3 http://logs.openstack.org/37/663137/1/check/grenade-py3/ba7edb6/ : SUCCESS in 1h 01m 25s\n- tempest-full-py3 http://logs.openstack.org/37/663137/1/check/tempest-full-py3/8e3c9b7/ : SUCCESS in 1h 34m 41s\n- openstack-tox-docs http://logs.openstack.org/37/663137/1/check/openstack-tox-docs/223525f/html/ : SUCCESS in 3m 39s\n- openstack-tox-cover http://logs.openstack.org/37/663137/1/check/openstack-tox-cover/94b3d2a/cover/ : SUCCESS in 6m 41s\n- openstack-tox-lower-constraints http://logs.openstack.org/37/663137/1/check/openstack-tox-lower-constraints/bca7e66/ : SUCCESS in 4m 30s\n- openstack-tox-pep8 http://logs.openstack.org/37/663137/1/check/openstack-tox-pep8/c827047/ : SUCCESS in 4m 19s\n- openstack-tox-py27 http://logs.openstack.org/37/663137/1/check/openstack-tox-py27/738196e/ : SUCCESS in 4m 22s\n- openstack-tox-py36 http://logs.openstack.org/37/663137/1/check/openstack-tox-py36/759e383/ : SUCCESS in 5m 08s\n- openstack-tox-py37 http://logs.openstack.org/37/663137/1/check/openstack-tox-py37/23c3915/ : SUCCESS in 4m 23s\n- openstack-tox-functional http://logs.openstack.org/37/663137/1/check/openstack-tox-functional/af8aa89/ : SUCCESS in 4m 24s\n- openstack-tox-functional-py36 http://logs.openstack.org/37/663137/1/check/openstack-tox-functional-py36/4b34113/ : SUCCESS in 4m 36s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/37/663137/1/check/placement-nova-tox-functional-py36/e298861/ : SUCCESS in 12m 09s\n- placement-perfload http://logs.openstack.org/37/663137/1/check/placement-perfload/288acf4/ : SUCCESS in 3m 08s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"964f0136e5fea174bf81d4e2695c9f87a098f5df","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-07 10:47:53.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"bb02d0ac67f594b8146791259300be704062b475","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2019-06-07 11:57:31.000000000","message":"Patch Set 2: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"f29dd3b32f4663b8ffefad9e53729432ac24794b","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-07 12:45:08.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- grenade-py3 http://logs.openstack.org/37/663137/2/check/grenade-py3/a9865f0/ : SUCCESS in 59m 01s\n- tempest-full-py3 http://logs.openstack.org/37/663137/2/check/tempest-full-py3/130f355/ : SUCCESS in 1h 21m 37s\n- openstack-tox-docs http://logs.openstack.org/37/663137/2/check/openstack-tox-docs/7dded4f/html/ : SUCCESS in 3m 46s\n- openstack-tox-cover http://logs.openstack.org/37/663137/2/check/openstack-tox-cover/4aba661/ : FAILURE in 4m 42s\n- openstack-tox-lower-constraints http://logs.openstack.org/37/663137/2/check/openstack-tox-lower-constraints/cf989b5/ : SUCCESS in 5m 49s\n- openstack-tox-pep8 http://logs.openstack.org/37/663137/2/check/openstack-tox-pep8/a93674c/ : SUCCESS in 4m 16s\n- openstack-tox-py27 http://logs.openstack.org/37/663137/2/check/openstack-tox-py27/df1742d/ : SUCCESS in 5m 57s\n- openstack-tox-py36 http://logs.openstack.org/37/663137/2/check/openstack-tox-py36/af0cc41/ : SUCCESS in 3m 49s\n- openstack-tox-py37 http://logs.openstack.org/37/663137/2/check/openstack-tox-py37/2ae93c5/ : SUCCESS in 4m 13s\n- openstack-tox-functional http://logs.openstack.org/37/663137/2/check/openstack-tox-functional/8e183c1/ : FAILURE in 4m 12s\n- openstack-tox-functional-py36 http://logs.openstack.org/37/663137/2/check/openstack-tox-functional-py36/de0fe9f/ : FAILURE in 4m 29s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/37/663137/2/check/placement-nova-tox-functional-py36/62c52d0/ : SUCCESS in 11m 27s\n- placement-perfload http://logs.openstack.org/37/663137/2/check/placement-perfload/14b7713/ : SUCCESS in 3m 20s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"29dbf9fe77ce8111801b6fe6732565aff404c430","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-07 13:01:25.000000000","message":"Patch Set 2: Code-Review+2\n\n(4 comments)\n\nIncorrect comment can be fixed later.\n\nTest failure will go away when https://review.opendev.org/663735 merges. Anyone feel free to add +W at that time.","accounts_in_message":[],"_revision_number":2},{"id":"b02983bab2c320c41a42d3e77350cf9a7b66f8e5","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-07 13:06:56.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"665dfe41725bfa8781c9433ff9e7d03d999f4578","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-07 13:30:18.000000000","message":"Patch Set 3: Patch Set 2 was rebased","accounts_in_message":[],"_revision_number":3},{"id":"caa5df69468688cc1263c5ed4e2d2817ae056975","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-07 13:31:48.000000000","message":"Patch Set 3: Workflow+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"ab2172085a36b56a1601797cc29efa7a5f2b05f3","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-07 15:00:38.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.","accounts_in_message":[],"_revision_number":4},{"id":"caf91b5492c64114a088cf4b04dc8d1889029694","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-07 15:01:38.000000000","message":"Patch Set 5: Patch Set 4 was rebased","accounts_in_message":[],"_revision_number":5},{"id":"e699fc8661abafbf911acd6e75eb6eda21057275","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-07 16:18:30.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"93bf89c9d68e627fca7a4bf9597d7a403b287f50","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-08 01:27:59.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade-py3 http://logs.openstack.org/37/663137/5/check/grenade-py3/91082dd/ : SUCCESS in 59m 38s\n- tempest-full-py3 http://logs.openstack.org/37/663137/5/check/tempest-full-py3/d2a640d/ : SUCCESS in 1h 36m 21s\n- openstack-tox-docs http://logs.openstack.org/37/663137/5/check/openstack-tox-docs/118c964/html/ : SUCCESS in 4m 23s\n- openstack-tox-cover http://logs.openstack.org/37/663137/5/check/openstack-tox-cover/b34e80a/cover/ : SUCCESS in 5m 48s\n- openstack-tox-lower-constraints http://logs.openstack.org/37/663137/5/check/openstack-tox-lower-constraints/f838dd3/ : SUCCESS in 4m 57s\n- openstack-tox-pep8 http://logs.openstack.org/37/663137/5/check/openstack-tox-pep8/fe00330/ : SUCCESS in 5m 55s\n- openstack-tox-py27 http://logs.openstack.org/37/663137/5/check/openstack-tox-py27/98a084e/ : SUCCESS in 4m 51s\n- openstack-tox-py36 http://logs.openstack.org/37/663137/5/check/openstack-tox-py36/0cbf069/ : SUCCESS in 4m 35s\n- openstack-tox-py37 http://logs.openstack.org/37/663137/5/check/openstack-tox-py37/fbdf145/ : SUCCESS in 4m 56s\n- openstack-tox-functional http://logs.openstack.org/37/663137/5/check/openstack-tox-functional/26c458a/ : SUCCESS in 5m 22s\n- openstack-tox-functional-py36 http://logs.openstack.org/37/663137/5/check/openstack-tox-functional-py36/41aee91/ : SUCCESS in 4m 59s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/37/663137/5/check/placement-nova-tox-functional-py36/198c082/ : SUCCESS in 11m 29s\n- placement-perfload http://logs.openstack.org/37/663137/5/check/placement-perfload/d3b0ec4/ : SUCCESS in 3m 35s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"1d9b67d42eb94b29016bd091cb730aa1db011213","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-08 01:28:23.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":5},{"id":"7d3ce09cf5df0ecde46829031e66a65811e7bbd7","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-08 03:12:24.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- grenade-py3 http://logs.openstack.org/37/663137/5/gate/grenade-py3/9fa133f/ : SUCCESS in 1h 00m 38s\n- tempest-full-py3 http://logs.openstack.org/37/663137/5/gate/tempest-full-py3/63a3559/ : SUCCESS in 1h 38m 14s\n- openstack-tox-docs http://logs.openstack.org/37/663137/5/gate/openstack-tox-docs/48bd3d0/html/ : SUCCESS in 4m 26s\n- openstack-tox-lower-constraints http://logs.openstack.org/37/663137/5/gate/openstack-tox-lower-constraints/9a3b865/ : SUCCESS in 4m 59s\n- openstack-tox-pep8 http://logs.openstack.org/37/663137/5/gate/openstack-tox-pep8/08b0cf6/ : SUCCESS in 4m 29s\n- openstack-tox-py27 http://logs.openstack.org/37/663137/5/gate/openstack-tox-py27/1402099/ : SUCCESS in 4m 48s\n- openstack-tox-py36 http://logs.openstack.org/37/663137/5/gate/openstack-tox-py36/e1c39ba/ : SUCCESS in 4m 28s\n- openstack-tox-py37 http://logs.openstack.org/37/663137/5/gate/openstack-tox-py37/7daf797/ : SUCCESS in 5m 05s\n- openstack-tox-functional http://logs.openstack.org/37/663137/5/gate/openstack-tox-functional/da34338/ : SUCCESS in 5m 13s\n- openstack-tox-functional-py36 http://logs.openstack.org/37/663137/5/gate/openstack-tox-functional-py36/b6e9efb/ : SUCCESS in 5m 17s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/37/663137/5/gate/placement-nova-tox-functional-py36/52ae2b8/ : SUCCESS in 13m 09s","accounts_in_message":[],"_revision_number":5},{"id":"4994b09e67e6869a995a38a0f961d80a4c59c0a2","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-08 03:12:25.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"81937773f53f9637e91e61420893ddf2c82fb2d1","revisions":{"b806477a2c781aa0efc7c457971335ab45acb952":{"kind":"REWORK","_number":1,"created":"2019-06-04 20:34:18.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/37/663137/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/37/663137/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/37/663137/1"}}},"commit":{"parents":[{"commit":"fb57f23bf754606486990d73f57a48cb2688f168","subject":"Merge \"Resource provider - request group mapping in allocation candidate\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/fb57f23bf754606486990d73f57a48cb2688f168"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-06-04 20:18:43.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-06-04 20:18:43.000000000","tz":60},"subject":"Stabilize AllocationRequest hash","message":"Stabilize AllocationRequest hash\n\nA set of AllocationRequest objects is extended in _merge_candidates,\ncontrolled by the hash of the AllocationRequest, which is based on\na list of AllocationRequestResource objects.\n\nIt turns out that this hash can be different depending on the ordering\nof the members of the list, with different behaviors in Python 2 and 3.\nTherefore, a stable sort is needed to ensure the stability of the hash.\n\nIt\u0027s quite likely that a sort could have been done elsewhere, but there\nare at least two places where resource_requests are added, with\ndifferent attributes available for sorting, so this contained\nimplementation was done instead.\n\nA test is added that confirms the expected behavior. This is the\nsame test, tuned, that helped to demonstrate and debug the problem.\n\nAn interesting note: The original bug report was that python 2.7 was\nvarying across 3 values, sometimes right, but mostly wrong and 3.7\nwas always right. Turns out that 3.7 was consistently wrong, and 2.7\nwas mostly right, but not always.\n\nChange-Id: I4fce243659d5c429dc3d48f07888e38bd0aed5d4\nStory: 2005822\nTask: 33579\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/b806477a2c781aa0efc7c457971335ab45acb952"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/b806477a2c781aa0efc7c457971335ab45acb952"}]},"branch":"refs/heads/master"},"18c865e62d19807e74fabcfa2de5b40fded34cad":{"kind":"REWORK","_number":2,"created":"2019-06-07 10:47:53.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/37/663137/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/37/663137/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/37/663137/2"}}},"commit":{"parents":[{"commit":"fb57f23bf754606486990d73f57a48cb2688f168","subject":"Merge \"Resource provider - request group mapping in allocation candidate\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/fb57f23bf754606486990d73f57a48cb2688f168"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-06-04 20:18:43.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-06-07 10:37:54.000000000","tz":60},"subject":"Stabilize AllocationRequest hash","message":"Stabilize AllocationRequest hash\n\nA set of AllocationRequest objects is extended in _merge_candidates,\ncontrolled by the hash of the AllocationRequest, which is based on\na list of AllocationRequestResource objects.\n\nIt turns out that this hash can be different depending on the ordering\nof the members of the list, with different behaviors in Python 2 and 3.\nTherefore, a stable sort is needed to ensure the stability of the hash.\n\nIt\u0027s quite likely that a sort could have been done elsewhere, but there\nare at least two places where resource_requests are added, with\ndifferent attributes available for sorting, so this contained\nimplementation was done instead.\n\nTests are added that confirms the expected behavior.\n\nNote that the expected behavior will change when we add suffix\nmappings to allocation requests. Whereas now\n\u0027test_nested_result_count_isolate\u0027 gets winnowed to 2 results because\nthe following are treated as duplicates\n\n   [(\u0027cn1\u0027, orc.VCPU, 2),\n    (\u0027cn1_numa0_pf0\u0027, orc.SRIOV_NET_VF, 1),\n    (\u0027cn1_numa1_pf1\u0027, orc.SRIOV_NET_VF, 1)],\n   [(\u0027cn1\u0027, orc.VCPU, 2),\n    (\u0027cn1_numa0_pf0\u0027, orc.SRIOV_NET_VF, 1),\n    (\u0027cn1_numa1_pf1\u0027, orc.SRIOV_NET_VF, 1)],\n\nthey are in fact slightly different: one set has pf0 satisfying group\n_NET1 and pf1 _NET2, the other vice versa. With mappings available\nwe presumably want to expose this difference, resulting in more...\nresults.\n\nAn interesting note: The original bug report was that python 2.7 was\nvarying across 3 values, sometimes right, but mostly wrong and 3.7\nwas always right. Turns out that 3.7 was consistently wrong, and 2.7\nwas mostly right, but not always.\n\nChange-Id: I4fce243659d5c429dc3d48f07888e38bd0aed5d4\nStory: 2005822\nTask: 33579\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/18c865e62d19807e74fabcfa2de5b40fded34cad"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/18c865e62d19807e74fabcfa2de5b40fded34cad"}]},"branch":"refs/heads/master"},"92e1c6c81ed7799c6136fc924540d1aa6f1668e5":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2019-06-07 13:30:18.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/37/663137/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/37/663137/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/37/663137/3"}}},"commit":{"parents":[{"commit":"4cca0ee13cadcda12e3aad79a68e33e19c6b527d","subject":"Bump os-traits to latest release (0.14.0)","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/4cca0ee13cadcda12e3aad79a68e33e19c6b527d"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-06-04 20:18:43.000000000","tz":60},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-07 13:30:18.000000000","tz":0},"subject":"Stabilize AllocationRequest hash","message":"Stabilize AllocationRequest hash\n\nA set of AllocationRequest objects is extended in _merge_candidates,\ncontrolled by the hash of the AllocationRequest, which is based on\na list of AllocationRequestResource objects.\n\nIt turns out that this hash can be different depending on the ordering\nof the members of the list, with different behaviors in Python 2 and 3.\nTherefore, a stable sort is needed to ensure the stability of the hash.\n\nIt\u0027s quite likely that a sort could have been done elsewhere, but there\nare at least two places where resource_requests are added, with\ndifferent attributes available for sorting, so this contained\nimplementation was done instead.\n\nTests are added that confirms the expected behavior.\n\nNote that the expected behavior will change when we add suffix\nmappings to allocation requests. Whereas now\n\u0027test_nested_result_count_isolate\u0027 gets winnowed to 2 results because\nthe following are treated as duplicates\n\n   [(\u0027cn1\u0027, orc.VCPU, 2),\n    (\u0027cn1_numa0_pf0\u0027, orc.SRIOV_NET_VF, 1),\n    (\u0027cn1_numa1_pf1\u0027, orc.SRIOV_NET_VF, 1)],\n   [(\u0027cn1\u0027, orc.VCPU, 2),\n    (\u0027cn1_numa0_pf0\u0027, orc.SRIOV_NET_VF, 1),\n    (\u0027cn1_numa1_pf1\u0027, orc.SRIOV_NET_VF, 1)],\n\nthey are in fact slightly different: one set has pf0 satisfying group\n_NET1 and pf1 _NET2, the other vice versa. With mappings available\nwe presumably want to expose this difference, resulting in more...\nresults.\n\nAn interesting note: The original bug report was that python 2.7 was\nvarying across 3 values, sometimes right, but mostly wrong and 3.7\nwas always right. Turns out that 3.7 was consistently wrong, and 2.7\nwas mostly right, but not always.\n\nChange-Id: I4fce243659d5c429dc3d48f07888e38bd0aed5d4\nStory: 2005822\nTask: 33579\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/92e1c6c81ed7799c6136fc924540d1aa6f1668e5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/92e1c6c81ed7799c6136fc924540d1aa6f1668e5"}]},"branch":"refs/heads/master"},"9c818cb8da2c3e57341f3781eff8dd1a46507369":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2019-06-07 15:00:38.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/37/663137/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/37/663137/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/37/663137/4"}}},"commit":{"parents":[{"commit":"fb57f23bf754606486990d73f57a48cb2688f168","subject":"Merge \"Resource provider - request group mapping in allocation candidate\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/fb57f23bf754606486990d73f57a48cb2688f168"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-06-04 20:18:43.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-06-07 14:32:22.000000000","tz":60},"subject":"Stabilize AllocationRequest hash","message":"Stabilize AllocationRequest hash\n\nA set of AllocationRequest objects is extended in _merge_candidates,\ncontrolled by the hash of the AllocationRequest, which is based on\na list of AllocationRequestResource objects.\n\nIt turns out that this hash can be different depending on the ordering\nof the members of the list, with different behaviors in Python 2 and 3.\nTherefore, a stable sort is needed to ensure the stability of the hash.\n\nIt\u0027s quite likely that a sort could have been done elsewhere, but there\nare at least two places where resource_requests are added, with\ndifferent attributes available for sorting, so this contained\nimplementation was done instead.\n\nTests are added that confirms the expected behavior.\n\nNote that the expected behavior will change when we add suffix\nmappings to allocation requests. Whereas now\n\u0027test_nested_result_count_isolate\u0027 gets winnowed to 2 results because\nthe following are treated as duplicates\n\n   [(\u0027cn1\u0027, orc.VCPU, 2),\n    (\u0027cn1_numa0_pf0\u0027, orc.SRIOV_NET_VF, 1),\n    (\u0027cn1_numa1_pf1\u0027, orc.SRIOV_NET_VF, 1)],\n   [(\u0027cn1\u0027, orc.VCPU, 2),\n    (\u0027cn1_numa0_pf0\u0027, orc.SRIOV_NET_VF, 1),\n    (\u0027cn1_numa1_pf1\u0027, orc.SRIOV_NET_VF, 1)],\n\nthey are in fact slightly different: one set has pf0 satisfying group\n_NET1 and pf1 _NET2, the other vice versa. With mappings available\nwe presumably want to expose this difference, resulting in more...\nresults.\n\nAn interesting note: The original bug report was that python 2.7 was\nvarying across 3 values, sometimes right, but mostly wrong and 3.7\nwas always right. Turns out that 3.7 was consistently wrong, and 2.7\nwas mostly right, but not always.\n\nChange-Id: I4fce243659d5c429dc3d48f07888e38bd0aed5d4\nStory: 2005822\nTask: 33579\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/9c818cb8da2c3e57341f3781eff8dd1a46507369"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/9c818cb8da2c3e57341f3781eff8dd1a46507369"}]},"branch":"refs/heads/master"},"81937773f53f9637e91e61420893ddf2c82fb2d1":{"kind":"TRIVIAL_REBASE","_number":5,"created":"2019-06-07 15:01:38.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/37/663137/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/37/663137/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/37/663137/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/37/663137/5"}}},"commit":{"parents":[{"commit":"4cca0ee13cadcda12e3aad79a68e33e19c6b527d","subject":"Bump os-traits to latest release (0.14.0)","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/4cca0ee13cadcda12e3aad79a68e33e19c6b527d"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-06-04 20:18:43.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-06-07 15:01:38.000000000","tz":0},"subject":"Stabilize AllocationRequest hash","message":"Stabilize AllocationRequest hash\n\nA set of AllocationRequest objects is extended in _merge_candidates,\ncontrolled by the hash of the AllocationRequest, which is based on\na list of AllocationRequestResource objects.\n\nIt turns out that this hash can be different depending on the ordering\nof the members of the list, with different behaviors in Python 2 and 3.\nTherefore, a stable sort is needed to ensure the stability of the hash.\n\nIt\u0027s quite likely that a sort could have been done elsewhere, but there\nare at least two places where resource_requests are added, with\ndifferent attributes available for sorting, so this contained\nimplementation was done instead.\n\nTests are added that confirms the expected behavior.\n\nNote that the expected behavior will change when we add suffix\nmappings to allocation requests. Whereas now\n\u0027test_nested_result_count_isolate\u0027 gets winnowed to 2 results because\nthe following are treated as duplicates\n\n   [(\u0027cn1\u0027, orc.VCPU, 2),\n    (\u0027cn1_numa0_pf0\u0027, orc.SRIOV_NET_VF, 1),\n    (\u0027cn1_numa1_pf1\u0027, orc.SRIOV_NET_VF, 1)],\n   [(\u0027cn1\u0027, orc.VCPU, 2),\n    (\u0027cn1_numa0_pf0\u0027, orc.SRIOV_NET_VF, 1),\n    (\u0027cn1_numa1_pf1\u0027, orc.SRIOV_NET_VF, 1)],\n\nthey are in fact slightly different: one set has pf0 satisfying group\n_NET1 and pf1 _NET2, the other vice versa. With mappings available\nwe presumably want to expose this difference, resulting in more...\nresults.\n\nAn interesting note: The original bug report was that python 2.7 was\nvarying across 3 values, sometimes right, but mostly wrong and 3.7\nwas always right. Turns out that 3.7 was consistently wrong, and 2.7\nwas mostly right, but not always.\n\nChange-Id: I4fce243659d5c429dc3d48f07888e38bd0aed5d4\nStory: 2005822\nTask: 33579\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/81937773f53f9637e91e61420893ddf2c82fb2d1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/81937773f53f9637e91e61420893ddf2c82fb2d1"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
