)]}'
{"id":"openstack%2Fplacement~665492","triplet_id":"openstack%2Fplacement~master~I76cad83248920fa71da122711f1f763c4ebdb1ba","project":"openstack/placement","branch":"master","topic":"story/2005575-33753","hashtags":[],"change_id":"I76cad83248920fa71da122711f1f763c4ebdb1ba","subject":"Microversion 1.35: root_required","status":"MERGED","created":"2019-06-14 22:55:31.000000000","updated":"2019-06-26 18:43:23.000000000","submitted":"2019-06-26 18:43:23.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":116,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"665492-1561574603519-98f816f4","meta_rev_id":"87a0cc39280d461ea30914cbefeab39ea09c85ca","_number":665492,"virtual_id_number":665492,"owner":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"date":"2019-06-25 13:32:53.000000000","_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},{"value":2,"date":"2019-06-26 18:43:23.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":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}],"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":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"recommended":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"all":[{"value":1,"date":"2019-06-25 02:24:31.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2019-06-20 22:55:32.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"value":2,"date":"2019-06-26 15:30:52.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}],"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":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"all":[{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},{"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":1,"date":"2019-06-26 15:30:52.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},{"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":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"_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"]},{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-06-18 09:01:35.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":"2019-06-20 21:35:23.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-20 21:36:49.000000000","updated_by":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"reviewer":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"state":"REVIEWER"},{"updated":"2019-06-20 22:55:32.000000000","updated_by":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"reviewer":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"state":"REVIEWER"},{"updated":"2019-06-25 02:24:31.000000000","updated_by":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"reviewer":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"state":"REVIEWER"},{"updated":"2019-06-26 15:30:52.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-26 18:43:23.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":"4428cb414480d1e00b470308a75a1bbb539dfecf","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-14 22:55:31.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"8af91710273f5d2f58e134e81a641d3384fe5979","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-14 22:58:33.000000000","message":"Patch Set 1: Workflow-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"91a1e6d82e09c604b91a2823e9a0bddfc84f30e4","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-15 00:56:05.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"e61809201c9e0450b790ea058ba0b2d3c7849f14","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-15 01:01:31.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"ba8fe20c91b2ad9f502caa24381bbe32ba58bbe8","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-15 01:41:20.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"7233a30e28a744487103ad24abb5e6c30436419c","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-15 01:50:50.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"d112563ac5821cf5b018d6eace957590d2dcef0d","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-15 02:11:46.000000000","message":"Patch Set 4: Workflow-1\n\n(8 comments)\n\nThink I\u0027m going to have to go back toward \"late filter\" for now.","accounts_in_message":[],"_revision_number":4},{"id":"18ed685aef60f3e73cf48c4e248849397ecd9cfe","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-15 08:35:14.000000000","message":"Patch Set 4: 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- build-openstack-api-ref http://logs.openstack.org/92/665492/4/check/build-openstack-api-ref/b6bbcba/ : POST_FAILURE in 4m 44s\n- grenade-py3 http://logs.openstack.org/92/665492/4/check/grenade-py3/e6f31da/ : FAILURE in 54m 16s\n- tempest-full-py3 http://logs.openstack.org/92/665492/4/check/tempest-full-py3/767adb7/ : FAILURE in 18m 05s\n- openstack-tox-docs http://logs.openstack.org/92/665492/4/check/openstack-tox-docs/dba44a3/ : FAILURE in 3m 40s\n- openstack-tox-cover http://logs.openstack.org/92/665492/4/check/openstack-tox-cover/7c27a75/ : FAILURE in 5m 28s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/665492/4/check/openstack-tox-lower-constraints/b83cef8/ : FAILURE in 3m 45s\n- openstack-tox-pep8 http://logs.openstack.org/92/665492/4/check/openstack-tox-pep8/e7de008/ : FAILURE in 3m 55s\n- openstack-tox-py27 http://logs.openstack.org/92/665492/4/check/openstack-tox-py27/850bd00/ : FAILURE in 3m 58s\n- openstack-tox-py36 http://logs.openstack.org/92/665492/4/check/openstack-tox-py36/1492c47/ : FAILURE in 3m 45s\n- openstack-tox-py37 http://logs.openstack.org/92/665492/4/check/openstack-tox-py37/97a5d63/ : FAILURE in 4m 16s\n- build-openstack-releasenotes http://logs.openstack.org/92/665492/4/check/build-openstack-releasenotes/82d215b/ : FAILURE in 5m 03s\n- openstack-tox-functional http://logs.openstack.org/92/665492/4/check/openstack-tox-functional/eb85eb7/ : FAILURE in 5m 09s\n- openstack-tox-functional-py36 http://logs.openstack.org/92/665492/4/check/openstack-tox-functional-py36/a1c10c0/ : FAILURE in 4m 13s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/92/665492/4/check/placement-nova-tox-functional-py36/a4b1bc0/ : FAILURE in 5m 00s\n- placement-perfload http://logs.openstack.org/92/665492/4/check/placement-perfload/e9a070d/ : FAILURE in 2m 36s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"ffa6123422f9ca2fc2b1d364b2c4e48c8dfe4290","author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"date":"2019-06-16 09:10:28.000000000","message":"Patch Set 4:\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"cd305fdc351d170d2939f2f92e19c3cb32f44602","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-16 16:41:39.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"e3e8f8f584f5a90499915735a9b907211db250d6","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-16 17:12:42.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"9747c6aca784d31021e35e0b20cefa0d5621bf63","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-16 17:20:49.000000000","message":"Patch Set 5: Workflow-1\n\n(1 comment)\n\nPS5:\n\n- Reverts the RequestGroupSearchContext changes. They were wrong, since one RequestGroupSearchContext is allowed to be/include sharing providers.\n- Does not yet introduce any new plumbing to make the feature work properly.\n\nand:\n\n- Renames the *internal* representations of root_required/root_forbidden to anchor_required/anchor_forbidden.\n- Rewords the documentation to (hopefully) make it clearer that root_required targets the non-sharing tree.\n\nI did it this way because \"anchor\" is the term that\u0027s used/understood internally in the code to represent the concept we\u0027re working with; but it\u0027s not a term that\u0027s exposed to the API consumer. I\u0027m open to suggestions for better names than \u0027root_required\u0027, but IMO it\u0027s a good balance between terseness and clarity; the documentation can take up the slack in the latter.","accounts_in_message":[],"_revision_number":5},{"id":"ee0c87dbf0f40eefea45794439f1e3e9a23cd554","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-16 18:05:20.000000000","message":"Patch Set 5: 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- build-openstack-api-ref http://logs.openstack.org/92/665492/5/check/build-openstack-api-ref/906c060/html/ : SUCCESS in 4m 24s\n- grenade-py3 http://logs.openstack.org/92/665492/5/check/grenade-py3/5faaf4f/ : FAILURE in 46m 16s\n- tempest-full-py3 http://logs.openstack.org/92/665492/5/check/tempest-full-py3/25e2cf1/ : FAILURE in 47m 37s\n- openstack-tox-docs http://logs.openstack.org/92/665492/5/check/openstack-tox-docs/3dbc992/html/ : SUCCESS in 4m 04s\n- openstack-tox-cover http://logs.openstack.org/92/665492/5/check/openstack-tox-cover/be3e881/ : FAILURE in 4m 34s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/665492/5/check/openstack-tox-lower-constraints/ccc7f8b/ : FAILURE in 4m 29s\n- openstack-tox-pep8 http://logs.openstack.org/92/665492/5/check/openstack-tox-pep8/63cf8e0/ : SUCCESS in 5m 56s\n- openstack-tox-py27 http://logs.openstack.org/92/665492/5/check/openstack-tox-py27/206bc48/ : SUCCESS in 6m 00s\n- openstack-tox-py36 http://logs.openstack.org/92/665492/5/check/openstack-tox-py36/974afe3/ : SUCCESS in 6m 03s\n- openstack-tox-py37 http://logs.openstack.org/92/665492/5/check/openstack-tox-py37/b5fb097/ : SUCCESS in 5m 15s\n- build-openstack-releasenotes http://logs.openstack.org/92/665492/5/check/build-openstack-releasenotes/97abd82/ : FAILURE in 5m 34s\n- openstack-tox-functional http://logs.openstack.org/92/665492/5/check/openstack-tox-functional/6698d3e/ : FAILURE in 4m 25s\n- openstack-tox-functional-py36 http://logs.openstack.org/92/665492/5/check/openstack-tox-functional-py36/ba8e479/ : FAILURE in 7m 26s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/92/665492/5/check/placement-nova-tox-functional-py36/93f60c6/ : FAILURE in 10m 43s\n- placement-perfload http://logs.openstack.org/92/665492/5/check/placement-perfload/ce7265e/ : SUCCESS in 2m 50s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"2a3146343ccdaaf0b7c1e4ec416af4c2ff97fbb3","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-16 21:10:14.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"9f29e46849711b8eeb9fea37a74e8e182bcef94f","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-16 21:22:13.000000000","message":"Patch Set 6:\n\n(6 comments)\n\nAt PS6, this works.\n\nI still need to write more tests (ideas or test contributions welcomed), but I\u0027m pretty sure the ones that are in there are covering all the changed paths.\n\nCould split this up a bit if folks want (see inline).","accounts_in_message":[],"_revision_number":6},{"id":"85c66fb8344d171b976baebf7b23a8efdc8ffd8f","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-16 22:22:55.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- build-openstack-api-ref http://logs.openstack.org/92/665492/6/check/build-openstack-api-ref/568821d/html/ : SUCCESS in 3m 53s\n- grenade-py3 http://logs.openstack.org/92/665492/6/check/grenade-py3/1e20f9a/ : SUCCESS in 57m 46s\n- tempest-full-py3 http://logs.openstack.org/92/665492/6/check/tempest-full-py3/bbb3dc9/ : SUCCESS in 1h 11m 33s\n- openstack-tox-docs http://logs.openstack.org/92/665492/6/check/openstack-tox-docs/fd0d1bb/html/ : SUCCESS in 5m 21s\n- openstack-tox-cover http://logs.openstack.org/92/665492/6/check/openstack-tox-cover/d88f274/cover/ : SUCCESS in 5m 37s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/665492/6/check/openstack-tox-lower-constraints/39b835c/ : SUCCESS in 5m 02s\n- openstack-tox-pep8 http://logs.openstack.org/92/665492/6/check/openstack-tox-pep8/d2338f2/ : SUCCESS in 5m 29s\n- openstack-tox-py27 http://logs.openstack.org/92/665492/6/check/openstack-tox-py27/89e8e08/ : SUCCESS in 5m 24s\n- openstack-tox-py36 http://logs.openstack.org/92/665492/6/check/openstack-tox-py36/6a9bb7a/ : SUCCESS in 5m 45s\n- openstack-tox-py37 http://logs.openstack.org/92/665492/6/check/openstack-tox-py37/0858f29/ : SUCCESS in 5m 26s\n- build-openstack-releasenotes http://logs.openstack.org/92/665492/6/check/build-openstack-releasenotes/4378007/html/ : SUCCESS in 5m 34s\n- openstack-tox-functional http://logs.openstack.org/92/665492/6/check/openstack-tox-functional/c27f70a/ : SUCCESS in 4m 44s\n- openstack-tox-functional-py36 http://logs.openstack.org/92/665492/6/check/openstack-tox-functional-py36/ad7247f/ : SUCCESS in 4m 53s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/92/665492/6/check/placement-nova-tox-functional-py36/466352a/ : SUCCESS in 11m 35s\n- placement-perfload http://logs.openstack.org/92/665492/6/check/placement-perfload/00fb769/ : SUCCESS in 7m 22s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"8f4cf15a477584e3ba9862e652ecc2919459e9c3","author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"date":"2019-06-17 08:43:47.000000000","message":"Patch Set 6:\n\n(7 comments)","accounts_in_message":[],"_revision_number":6},{"id":"3965aedc624312331d2c17f6d3ba4d1023d26e75","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-17 12:45:03.000000000","message":"Patch Set 6:\n\n(7 comments)\n\nThis doesn\u0027t terrify me, at least not conceptually.\n\nWhen this gets closer to being real, if we choose to do it, then some ideas within on making it tidier. We\u0027ll also, I think, want an addition to https://docs.openstack.org/placement/latest/usage/provider-tree.html or its parent to explain when to use any of root_required, required, and required$S and how to mix and match most effectively.\n\nI need to get moving on the nested version of perfload, because I reckon this could be impactful: Much of the time \u0027anchor_root_ids\u0027 will have many members.\n\nI\u0027m a little bit worried because each time I look at this stuff I struggle to remember the answer to \"why we need to do this\". That\u0027s perhaps my fault because I\u0027m tired or stupid or forgetful, but it would be nice for it all to be a bit more immediately obvious. restricting \"allocation requests in the response to only those whose (non-sharing) tree\u0027s root resource provider satisfies the specified trait requirements\" isn\u0027t a reason, it\u0027s a solution to some reason.","accounts_in_message":[],"_revision_number":6},{"id":"c1db75b092b3afdad6d315f768830ea697568651","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-17 12:47:13.000000000","message":"Patch Set 6:\n\nOh: also: I agree with Tetsuro about splitting out the unrelateds.\n\nYou might consider adding RequestWideParams in its own patch before adding the two anchor params to it, to isolate the changes.","accounts_in_message":[],"_revision_number":6},{"id":"22287322d7dd5f578c8d9cefe6fbee70d270abcf","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-17 14:32:18.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"2212f0a26ffbf402c4eb27ba5299f962193c39c9","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-17 15:26:49.000000000","message":"Uploaded patch set 8: Patch Set 7 was rebased.","accounts_in_message":[],"_revision_number":8},{"id":"947fb6b7bed9f5ee8950b7ae9cb4b7cb7f6d2385","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-17 17:46:20.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"7df5c7f7229fc22c7a65015449dba9e28a7b7816","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-17 20:51:54.000000000","message":"Patch Set 9:\n\n(3 comments)\n\nWould be good to see more responses to the comments from me and Tetsuro, to make it clear they\u0027ve landed on your consciousness.\n\nBased on the discussion in IRC, there seems to be general acceptance of the syntax here. I\u0027m still keen to see, eventually, some more full-throated docs on the hows and wheres to use this stuff (see my comments on ps7).\n\nBut yeah, unless we can find some other people to review and weigh in, it seems like the 4 people who care have no substantial objections.","accounts_in_message":[],"_revision_number":9},{"id":"7b989cbb61e19437ea698ffc13dd2737a42bbd44","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-17 22:10:51.000000000","message":"Patch Set 9:\n\n(18 comments)\n\n\u003e Would be good to see more responses\n\nSorry dude, I was composing them while working on the code to address\nthem, and got interrupted, and...\n\nNext time I\u0027ll try to be more, \"I\u0027ll respond to other comments soon,\" so\nyou at least know I saw them.\n\n\u003e We\u0027ll also, I think, want an addition to https://docs.openstack.org/placement/latest/usage/provider-tree.html or its parent to explain when to use any of root_required, required, and required$S and how to mix and match most effectively.\n\n(Almost) done in PS10.\n\n\u003e this could be impactful: Much of the time \u0027anchor_root_ids\u0027 will have many members.\n\nAgreed. However, that query only runs if root_required is being\nspecified.\n\nOptimizing will require a pretty heinous refactor though, as I\u0027ve hinted\nat inline. For instance, it would be lovely to make the anchor trait\nsearch component a JOIN on existing DB queries. But that would entail\nshuffling around where those queries start distinguishing between\nsharing and non-sharing providers.\n\nMake it, make it right, make it fast. Somebody wise said that.\n\n\u003e I\u0027m a little bit worried because each time I look at this stuff I struggle to remember the answer to \"why we need to do this\".\n\nHopefully the user doc change helps a little bit with that. Explaining\nin depth why other mechanisms aren\u0027t good enough is way out of scope\nthere, though. I can try to do that in the spec.","accounts_in_message":[],"_revision_number":9},{"id":"129e57bc4f3a274fbb3f5ef8e4b467a9ba8d9ced","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-17 22:43:55.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"4c3ca3271ae9ccdff4e0c8d1f6d3102087797037","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-18 02:41:22.000000000","message":"Patch Set 10: Verified+1\n\nBuild succeeded (check pipeline).\n\n- build-openstack-api-ref http://logs.openstack.org/92/665492/10/check/build-openstack-api-ref/bcefb12/html/ : SUCCESS in 4m 20s\n- grenade-py3 http://logs.openstack.org/92/665492/10/check/grenade-py3/5230bbd/ : SUCCESS in 1h 01m 47s\n- tempest-full-py3 http://logs.openstack.org/92/665492/10/check/tempest-full-py3/f719d93/ : SUCCESS in 1h 42m 25s\n- openstack-tox-docs http://logs.openstack.org/92/665492/10/check/openstack-tox-docs/9aa2d1c/html/ : SUCCESS in 4m 02s\n- openstack-tox-cover http://logs.openstack.org/92/665492/10/check/openstack-tox-cover/341e064/cover/ : SUCCESS in 5m 22s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/665492/10/check/openstack-tox-lower-constraints/682e26c/ : SUCCESS in 6m 03s\n- openstack-tox-pep8 http://logs.openstack.org/92/665492/10/check/openstack-tox-pep8/888e7e3/ : SUCCESS in 4m 24s\n- openstack-tox-py27 http://logs.openstack.org/92/665492/10/check/openstack-tox-py27/ce8c38b/ : SUCCESS in 4m 17s\n- openstack-tox-py36 http://logs.openstack.org/92/665492/10/check/openstack-tox-py36/afa1c53/ : SUCCESS in 4m 47s\n- openstack-tox-py37 http://logs.openstack.org/92/665492/10/check/openstack-tox-py37/3117a5b/ : SUCCESS in 4m 58s\n- build-openstack-releasenotes http://logs.openstack.org/92/665492/10/check/build-openstack-releasenotes/4161cd9/html/ : SUCCESS in 6m 05s\n- openstack-tox-functional http://logs.openstack.org/92/665492/10/check/openstack-tox-functional/8502e98/ : SUCCESS in 4m 59s\n- openstack-tox-functional-py36 http://logs.openstack.org/92/665492/10/check/openstack-tox-functional-py36/f68eb52/ : SUCCESS in 5m 56s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/92/665492/10/check/placement-nova-tox-functional-py36/394d78d/ : SUCCESS in 10m 43s\n- placement-perfload http://logs.openstack.org/92/665492/10/check/placement-perfload/55b6085/ : SUCCESS in 7m 57s (non-voting)","accounts_in_message":[],"_revision_number":10},{"id":"96ea7d2a40515f2274c374c3d0bf75c58120fe04","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-18 08:26:14.000000000","message":"Patch Set 10:\n\nThanks for that doc, nice add.","accounts_in_message":[],"_revision_number":10},{"id":"7996f85affc69529ae0e1dce51a56bf228abc492","author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"date":"2019-06-18 09:01:35.000000000","message":"Patch Set 10:\n\n(8 comments)","accounts_in_message":[],"_revision_number":10},{"id":"8ccc2ebcac0f5b87f9ac4d321d90e452b8607afb","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-18 14:32:19.000000000","message":"Patch Set 10:\n\n(8 comments)","accounts_in_message":[],"_revision_number":10},{"id":"7093b0b0d43d6a62fc00d7addedb367517b426c7","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-18 14:34:04.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"5603f8d8568277cf186c919539179b447fd7ba9c","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-18 18:08:00.000000000","message":"Patch Set 11:\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"7fca28ef4d97c23caef4e1c1283813e68507adac","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-18 20:32:55.000000000","message":"Patch Set 11:\n\n(4 comments)","accounts_in_message":[],"_revision_number":11},{"id":"db4795fd904638b25c691f0dc0a22b84ee09c10d","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-18 20:34:39.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"bb7bcb50913fbfb6020bc1d8c5f889744e82bb91","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-19 06:07:41.000000000","message":"Patch Set 12: Verified+1\n\nBuild succeeded (check pipeline).\n\n- build-openstack-api-ref http://logs.openstack.org/92/665492/12/check/build-openstack-api-ref/52addd6/html/ : SUCCESS in 4m 07s\n- grenade-py3 http://logs.openstack.org/92/665492/12/check/grenade-py3/4b09d40/ : SUCCESS in 1h 05m 03s\n- tempest-full-py3 http://logs.openstack.org/92/665492/12/check/tempest-full-py3/738a48f/ : SUCCESS in 1h 29m 56s\n- openstack-tox-docs http://logs.openstack.org/92/665492/12/check/openstack-tox-docs/8d4e3f2/html/ : SUCCESS in 4m 33s\n- openstack-tox-cover http://logs.openstack.org/92/665492/12/check/openstack-tox-cover/4df4238/cover/ : SUCCESS in 4m 57s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/665492/12/check/openstack-tox-lower-constraints/380f7a6/ : SUCCESS in 4m 58s\n- openstack-tox-pep8 http://logs.openstack.org/92/665492/12/check/openstack-tox-pep8/d746513/ : SUCCESS in 5m 09s\n- openstack-tox-py27 http://logs.openstack.org/92/665492/12/check/openstack-tox-py27/2d7ef4a/ : SUCCESS in 4m 47s\n- openstack-tox-py36 http://logs.openstack.org/92/665492/12/check/openstack-tox-py36/3b8440a/ : SUCCESS in 7m 04s\n- openstack-tox-py37 http://logs.openstack.org/92/665492/12/check/openstack-tox-py37/6c31074/ : SUCCESS in 4m 50s\n- build-openstack-releasenotes http://logs.openstack.org/92/665492/12/check/build-openstack-releasenotes/3b5bcc2/html/ : SUCCESS in 4m 40s\n- openstack-tox-functional http://logs.openstack.org/92/665492/12/check/openstack-tox-functional/cc73ca5/ : SUCCESS in 4m 52s\n- openstack-tox-functional-py36 http://logs.openstack.org/92/665492/12/check/openstack-tox-functional-py36/651eb02/ : SUCCESS in 4m 37s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/92/665492/12/check/placement-nova-tox-functional-py36/75927b1/ : SUCCESS in 11m 49s\n- placement-perfload http://logs.openstack.org/92/665492/12/check/placement-perfload/10c7474/ : SUCCESS in 8m 09s (non-voting)","accounts_in_message":[],"_revision_number":12},{"id":"0882d67076f1e993780511e98bc092c06448c50c","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2019-06-19 10:15:28.000000000","message":"Patch Set 12: Code-Review-1\n\n(6 comments)","accounts_in_message":[],"_revision_number":12},{"id":"2dceefa6a9efe3d46c82797486284b7ba4cfa0bc","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-19 23:26:46.000000000","message":"Patch Set 12:\n\n(4 comments)","accounts_in_message":[],"_revision_number":12},{"id":"5618b55de9f49e4adef8f128b8f6f3e9122a821c","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-19 23:27:07.000000000","message":"Uploaded patch set 13.","accounts_in_message":[],"_revision_number":13},{"id":"b06349afa633380aeec8f625d1f6841e8b346487","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-20 03:43:41.000000000","message":"Patch Set 13: 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- build-openstack-api-ref http://logs.openstack.org/92/665492/13/check/build-openstack-api-ref/2348a54/ : TIMED_OUT in 30m 56s\n- grenade-py3 http://logs.openstack.org/92/665492/13/check/grenade-py3/616753d/ : SUCCESS in 1h 00m 41s\n- tempest-full-py3 http://logs.openstack.org/92/665492/13/check/tempest-full-py3/2b87781/ : SUCCESS in 1h 31m 09s\n- openstack-tox-docs http://logs.openstack.org/92/665492/13/check/openstack-tox-docs/72fb69b/html/ : SUCCESS in 4m 02s\n- openstack-tox-cover http://logs.openstack.org/92/665492/13/check/openstack-tox-cover/3a08b50/cover/ : SUCCESS in 5m 30s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/665492/13/check/openstack-tox-lower-constraints/013a02c/ : SUCCESS in 5m 05s\n- openstack-tox-pep8 http://logs.openstack.org/92/665492/13/check/openstack-tox-pep8/0db2b5d/ : SUCCESS in 5m 08s\n- openstack-tox-py27 http://logs.openstack.org/92/665492/13/check/openstack-tox-py27/49619d7/ : SUCCESS in 34m 04s\n- openstack-tox-py36 http://logs.openstack.org/92/665492/13/check/openstack-tox-py36/331952b/ : SUCCESS in 13m 25s\n- openstack-tox-py37 http://logs.openstack.org/92/665492/13/check/openstack-tox-py37/e044bf2/ : SUCCESS in 12m 29s\n- build-openstack-releasenotes http://logs.openstack.org/92/665492/13/check/build-openstack-releasenotes/3caf236/html/ : SUCCESS in 4m 41s\n- openstack-tox-functional http://logs.openstack.org/92/665492/13/check/openstack-tox-functional/6f9ff11/ : SUCCESS in 12m 54s\n- openstack-tox-functional-py36 http://logs.openstack.org/92/665492/13/check/openstack-tox-functional-py36/37ed578/ : SUCCESS in 5m 42s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/92/665492/13/check/placement-nova-tox-functional-py36/b61d977/ : SUCCESS in 13m 01s\n- placement-perfload http://logs.openstack.org/92/665492/13/check/placement-perfload/d2f0dbf/ : TIMED_OUT in 30m 47s (non-voting)","accounts_in_message":[],"_revision_number":13},{"id":"d481cba50f046bc1dff7e8f4f8762b96de5e1de6","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-20 03:44:52.000000000","message":"Patch Set 13:\n\nrecheck","accounts_in_message":[],"_revision_number":13},{"id":"8e25a2d5f413a8b85acd7c8002fd4443fddba8b0","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-20 05:28:27.000000000","message":"Patch Set 13: Verified+1\n\nBuild succeeded (check pipeline).\n\n- build-openstack-api-ref http://logs.openstack.org/92/665492/13/check/build-openstack-api-ref/0799c26/html/ : SUCCESS in 10m 21s\n- grenade-py3 http://logs.openstack.org/92/665492/13/check/grenade-py3/ed1cc51/ : SUCCESS in 1h 00m 02s\n- tempest-full-py3 http://logs.openstack.org/92/665492/13/check/tempest-full-py3/710f43f/ : SUCCESS in 1h 37m 51s\n- openstack-tox-docs http://logs.openstack.org/92/665492/13/check/openstack-tox-docs/967f1cf/html/ : SUCCESS in 3m 58s\n- openstack-tox-cover http://logs.openstack.org/92/665492/13/check/openstack-tox-cover/14b7e2f/cover/ : SUCCESS in 12m 06s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/665492/13/check/openstack-tox-lower-constraints/d258458/ : SUCCESS in 4m 44s\n- openstack-tox-pep8 http://logs.openstack.org/92/665492/13/check/openstack-tox-pep8/658306a/ : SUCCESS in 4m 03s\n- openstack-tox-py27 http://logs.openstack.org/92/665492/13/check/openstack-tox-py27/728489b/ : SUCCESS in 4m 08s\n- openstack-tox-py36 http://logs.openstack.org/92/665492/13/check/openstack-tox-py36/c5e067a/ : SUCCESS in 11m 21s\n- openstack-tox-py37 http://logs.openstack.org/92/665492/13/check/openstack-tox-py37/d62bdfa/ : SUCCESS in 4m 37s\n- build-openstack-releasenotes http://logs.openstack.org/92/665492/13/check/build-openstack-releasenotes/15a85b9/html/ : SUCCESS in 4m 17s\n- openstack-tox-functional http://logs.openstack.org/92/665492/13/check/openstack-tox-functional/bbeb24c/ : SUCCESS in 4m 18s\n- openstack-tox-functional-py36 http://logs.openstack.org/92/665492/13/check/openstack-tox-functional-py36/f9d7f8a/ : SUCCESS in 11m 43s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/92/665492/13/check/placement-nova-tox-functional-py36/f29c468/ : SUCCESS in 11m 10s\n- placement-perfload http://logs.openstack.org/92/665492/13/check/placement-perfload/62288bc/ : SUCCESS in 7m 16s (non-voting)","accounts_in_message":[],"_revision_number":13},{"id":"9d90e59fd91faeb51ca711a5da8ece6353282c77","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-20 13:50:37.000000000","message":"Uploaded patch set 14.","accounts_in_message":[],"_revision_number":14},{"id":"3b2e06902981d0f8f697891c7b79597f9f28dd32","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-20 17:45:47.000000000","message":"Patch Set 14: Code-Review-1\n\n(10 comments)\n\nThis is looking fairly reasonable but some nits within and some -1 worthy issues on the tests, mostly noted within but I\u0027ll summarize here:\n\n* there are some missing tests, first noted in ps6, I\u0027ve quoted that into a file comment on the gabbit\n\n* some of the tests make assertions about which providers are at play, but then only measure the length of allocation requests. We can check provider summaries and their traits by a pretty direct path in response_json_paths, so it might be worth doing at least some of the time. something like:\n\n    $.provider_summaries[\"ENVIRON[\u0027CN1_UUID\u0027]\"].traits: [some trait]","accounts_in_message":[],"_revision_number":14},{"id":"390c8e51db80c93948acd36719d79e5ae826266a","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-20 20:18:52.000000000","message":"Patch Set 14: 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- build-openstack-api-ref http://logs.openstack.org/92/665492/14/check/build-openstack-api-ref/d8c16fd/html/ : SUCCESS in 4m 10s\n- grenade-py3 http://logs.openstack.org/92/665492/14/check/grenade-py3/4467fd7/ : SUCCESS in 59m 45s\n- tempest-full-py3 http://logs.openstack.org/92/665492/14/check/tempest-full-py3/e2b9c91/ : TIMED_OUT in 2h 05m 11s\n- openstack-tox-docs http://logs.openstack.org/92/665492/14/check/openstack-tox-docs/eb9acd4/html/ : SUCCESS in 10m 18s\n- openstack-tox-cover http://logs.openstack.org/92/665492/14/check/openstack-tox-cover/2ca54af/cover/ : SUCCESS in 12m 21s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/665492/14/check/openstack-tox-lower-constraints/195a7d0/ : SUCCESS in 4m 59s\n- openstack-tox-pep8 http://logs.openstack.org/92/665492/14/check/openstack-tox-pep8/e6b4c6a/ : SUCCESS in 11m 26s\n- openstack-tox-py27 http://logs.openstack.org/92/665492/14/check/openstack-tox-py27/87cb3cd/ : SUCCESS in 4m 35s\n- openstack-tox-py36 http://logs.openstack.org/92/665492/14/check/openstack-tox-py36/30f9bfb/ : SUCCESS in 4m 39s\n- openstack-tox-py37 http://logs.openstack.org/92/665492/14/check/openstack-tox-py37/6cf27d8/ : SUCCESS in 5m 05s\n- build-openstack-releasenotes http://logs.openstack.org/92/665492/14/check/build-openstack-releasenotes/fedfc49/html/ : SUCCESS in 4m 32s\n- openstack-tox-functional http://logs.openstack.org/92/665492/14/check/openstack-tox-functional/e35aa54/ : SUCCESS in 12m 26s\n- openstack-tox-functional-py36 http://logs.openstack.org/92/665492/14/check/openstack-tox-functional-py36/942b7f2/ : SUCCESS in 5m 02s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/92/665492/14/check/placement-nova-tox-functional-py36/44f4028/ : SUCCESS in 10m 47s\n- placement-perfload http://logs.openstack.org/92/665492/14/check/placement-perfload/12b1d88/ : SUCCESS in 7m 42s (non-voting)","accounts_in_message":[],"_revision_number":14},{"id":"0e0b2e1cc9d5f78995f3cb5277b6ce435fa88501","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-06-20 21:35:23.000000000","message":"Patch Set 14:\n\n(1 comment)","accounts_in_message":[],"_revision_number":14},{"id":"6fa95b55a30e0d8005f90283dbd2899c4262e1f5","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-20 21:58:35.000000000","message":"Uploaded patch set 15.","accounts_in_message":[],"_revision_number":15},{"id":"93bd07daff795f9638e456c984d0da298e4e7f2c","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-20 22:00:14.000000000","message":"Patch Set 14:\n\n(9 comments)","accounts_in_message":[],"_revision_number":14},{"id":"f27426964668ea07ebd535e198fc967cb53cd800","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-20 22:10:48.000000000","message":"Patch Set 14:\n\n(1 comment)\n\nmore on the docs","accounts_in_message":[],"_revision_number":14},{"id":"a3db77db1bf0e46a67db0e4bd33cc6285cb56d1f","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-20 22:17:16.000000000","message":"Patch Set 14:\n\n(1 comment)","accounts_in_message":[],"_revision_number":14},{"id":"4b0df06e6ff70c7df3ab1782708c1f5c49f96539","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-20 22:24:39.000000000","message":"Patch Set 14:\n\n(1 comment)","accounts_in_message":[],"_revision_number":14},{"id":"a414e48d0c690535a6bb4c44b00f3c6b1a9a7052","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-20 22:30:44.000000000","message":"Uploaded patch set 16.","accounts_in_message":[],"_revision_number":16},{"id":"becab51f277cf5a4c6421a463570c4a74e6c9ea6","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-20 22:55:32.000000000","message":"Patch Set 16: Code-Review+2\n\n(3 comments)\n\nThis works as it says on the tin, and I don\u0027t want to be in the position of holding up stuff that works. However there are some comments within about some things we can do to improve over time.\n\nOn top of that, to everyone who is involved in making this and the other nested magic features go: We are going to need to save a lot of time near the end of the cycle for documentation (what amount to tutorials) and performance work. Let\u0027s make sure we have no more bright ideas about features between now and then.","accounts_in_message":[],"_revision_number":16},{"id":"da520c1d0389d65b343244c695e77d634bb93a58","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-20 22:57:33.000000000","message":"Patch Set 16:\n\n(1 comment)","accounts_in_message":[],"_revision_number":16},{"id":"02acceaf21c91c331997113de9596517ebd7a513","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-21 04:05:00.000000000","message":"Patch Set 16: 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- build-openstack-api-ref http://logs.openstack.org/92/665492/16/check/build-openstack-api-ref/8ed041d/html/ : SUCCESS in 10m 19s\n- grenade-py3 http://logs.openstack.org/92/665492/16/check/grenade-py3/a7312fc/ : FAILURE in 19m 05s\n- tempest-full-py3 http://logs.openstack.org/92/665492/16/check/tempest-full-py3/df4e161/ : TIMED_OUT in 2h 05m 48s\n- openstack-tox-docs http://logs.openstack.org/92/665492/16/check/openstack-tox-docs/271887d/html/ : SUCCESS in 3m 40s\n- openstack-tox-cover http://logs.openstack.org/92/665492/16/check/openstack-tox-cover/2740bce/cover/ : SUCCESS in 7m 15s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/665492/16/check/openstack-tox-lower-constraints/1423538/ : SUCCESS in 6m 38s\n- openstack-tox-pep8 http://logs.openstack.org/92/665492/16/check/openstack-tox-pep8/303fa13/ : SUCCESS in 4m 41s\n- openstack-tox-py27 http://logs.openstack.org/92/665492/16/check/openstack-tox-py27/8186b2d/ : SUCCESS in 4m 49s\n- openstack-tox-py36 http://logs.openstack.org/92/665492/16/check/openstack-tox-py36/a7aa6df/ : SUCCESS in 4m 34s\n- openstack-tox-py37 http://logs.openstack.org/92/665492/16/check/openstack-tox-py37/ed40fb2/ : SUCCESS in 11m 52s\n- build-openstack-releasenotes http://logs.openstack.org/92/665492/16/check/build-openstack-releasenotes/c7afb33/html/ : SUCCESS in 6m 56s\n- openstack-tox-functional http://logs.openstack.org/92/665492/16/check/openstack-tox-functional/4f16b58/ : SUCCESS in 4m 21s\n- openstack-tox-functional-py36 http://logs.openstack.org/92/665492/16/check/openstack-tox-functional-py36/b20a893/ : SUCCESS in 4m 17s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/92/665492/16/check/placement-nova-tox-functional-py36/7352656/ : SUCCESS in 10m 51s\n- placement-perfload http://logs.openstack.org/92/665492/16/check/placement-perfload/5d8af69/ : SUCCESS in 6m 52s (non-voting)","accounts_in_message":[],"_revision_number":16},{"id":"16d42b3a6c38199ca5190de7da3118f0800a0d60","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-21 04:21:31.000000000","message":"Patch Set 16:\n\nrecheck","accounts_in_message":[],"_revision_number":16},{"id":"5d701c246084c6af3fec284d925119fb34de843c","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-21 06:04:48.000000000","message":"Patch Set 16: Verified+1\n\nBuild succeeded (check pipeline).\n\n- build-openstack-api-ref http://logs.openstack.org/92/665492/16/check/build-openstack-api-ref/2314c25/html/ : SUCCESS in 5m 31s\n- grenade-py3 http://logs.openstack.org/92/665492/16/check/grenade-py3/d48f4ae/ : SUCCESS in 56m 37s\n- tempest-full-py3 http://logs.openstack.org/92/665492/16/check/tempest-full-py3/14680bf/ : SUCCESS in 1h 40m 55s\n- openstack-tox-docs http://logs.openstack.org/92/665492/16/check/openstack-tox-docs/5d6a94b/html/ : SUCCESS in 5m 17s\n- openstack-tox-cover http://logs.openstack.org/92/665492/16/check/openstack-tox-cover/7fe0ff9/cover/ : SUCCESS in 7m 00s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/665492/16/check/openstack-tox-lower-constraints/c605f5c/ : SUCCESS in 4m 50s\n- openstack-tox-pep8 http://logs.openstack.org/92/665492/16/check/openstack-tox-pep8/c8dee5a/ : SUCCESS in 5m 33s\n- openstack-tox-py27 http://logs.openstack.org/92/665492/16/check/openstack-tox-py27/42b30a9/ : SUCCESS in 4m 54s\n- openstack-tox-py36 http://logs.openstack.org/92/665492/16/check/openstack-tox-py36/2045ac0/ : SUCCESS in 8m 28s\n- openstack-tox-py37 http://logs.openstack.org/92/665492/16/check/openstack-tox-py37/5ac2aad/ : SUCCESS in 6m 24s\n- build-openstack-releasenotes http://logs.openstack.org/92/665492/16/check/build-openstack-releasenotes/98cc4e9/html/ : SUCCESS in 5m 41s\n- openstack-tox-functional http://logs.openstack.org/92/665492/16/check/openstack-tox-functional/79f34c4/ : SUCCESS in 6m 20s\n- openstack-tox-functional-py36 http://logs.openstack.org/92/665492/16/check/openstack-tox-functional-py36/e92d706/ : SUCCESS in 6m 14s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/92/665492/16/check/placement-nova-tox-functional-py36/10cad8c/ : SUCCESS in 12m 27s\n- placement-perfload http://logs.openstack.org/92/665492/16/check/placement-perfload/2aa1fad/ : SUCCESS in 6m 39s (non-voting)","accounts_in_message":[],"_revision_number":16},{"id":"6afecfed333df6fbcea3666276854dd404369edd","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2019-06-25 02:24:31.000000000","message":"Patch Set 16: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":16},{"id":"af8f63f862e138e3730b3f4a74c0acb145ea0e58","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-25 13:32:53.000000000","message":"Patch Set 16:\n\n(1 comment)","accounts_in_message":[],"_revision_number":16},{"id":"58520745d822d84c1c140115e0f004244b13253c","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2019-06-26 15:30:52.000000000","message":"Patch Set 16: Code-Review+2 Workflow+1\n\nLGTM","accounts_in_message":[],"_revision_number":16},{"id":"01bbb833389faf9cbabf4c6c2925d121ee716763","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-26 15:31:25.000000000","message":"Patch Set 16: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":16},{"id":"46026f40cc3fb4e262c6c65cbb174e8f74b3cb58","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-26 18:43:23.000000000","message":"Patch Set 16: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- build-openstack-api-ref http://logs.openstack.org/92/665492/16/gate/build-openstack-api-ref/acc8e36/html/ : SUCCESS in 4m 34s\n- grenade-py3 http://logs.openstack.org/92/665492/16/gate/grenade-py3/6a89f2e/ : SUCCESS in 1h 01m 02s\n- tempest-full-py3 http://logs.openstack.org/92/665492/16/gate/tempest-full-py3/dd95317/ : SUCCESS in 1h 30m 11s\n- openstack-tox-docs http://logs.openstack.org/92/665492/16/gate/openstack-tox-docs/044bd74/html/ : SUCCESS in 7m 05s\n- openstack-tox-lower-constraints http://logs.openstack.org/92/665492/16/gate/openstack-tox-lower-constraints/f057e8a/ : SUCCESS in 7m 59s\n- openstack-tox-pep8 http://logs.openstack.org/92/665492/16/gate/openstack-tox-pep8/14bb070/ : SUCCESS in 4m 49s\n- openstack-tox-py27 http://logs.openstack.org/92/665492/16/gate/openstack-tox-py27/9426f86/ : SUCCESS in 5m 01s\n- openstack-tox-py36 http://logs.openstack.org/92/665492/16/gate/openstack-tox-py36/43ba241/ : SUCCESS in 4m 52s\n- openstack-tox-py37 http://logs.openstack.org/92/665492/16/gate/openstack-tox-py37/acf3124/ : SUCCESS in 5m 22s\n- build-openstack-releasenotes http://logs.openstack.org/92/665492/16/gate/build-openstack-releasenotes/c06b77b/html/ : SUCCESS in 4m 43s\n- openstack-tox-functional http://logs.openstack.org/92/665492/16/gate/openstack-tox-functional/1d0bd38/ : SUCCESS in 4m 55s\n- openstack-tox-functional-py36 http://logs.openstack.org/92/665492/16/gate/openstack-tox-functional-py36/2d955b2/ : SUCCESS in 5m 11s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/92/665492/16/gate/placement-nova-tox-functional-py36/ffb476d/ : SUCCESS in 12m 18s","accounts_in_message":[],"_revision_number":16},{"id":"2fea191fc961a381916e3ba4f5a56254f739e80f","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-26 18:43:23.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":16}],"current_revision_number":16,"current_revision":"b733786a0a5bca5b56b9ace5b75e23365f10d9ce","revisions":{"6f2c8cdb35910f9c96f72bfdc38f98b61742acd8":{"kind":"REWORK","_number":1,"created":"2019-06-14 22:55:31.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/1"}}},"commit":{"parents":[{"commit":"4dbb21ff38a2d7ea4cadb7b771b004bcb41535f0","subject":"research_context._get_roots_with_traits()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/4dbb21ff38a2d7ea4cadb7b771b004bcb41535f0"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-14 21:45:23.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-14 22:55:11.000000000","tz":-300},"subject":"WIP: Microversion 1.35: root_required","message":"WIP: Microversion 1.35: root_required\n\nTODO: finish the plumbing\nTODO: moar gabbi\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/6f2c8cdb35910f9c96f72bfdc38f98b61742acd8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/6f2c8cdb35910f9c96f72bfdc38f98b61742acd8"}]},"branch":"refs/heads/master"},"ba26f28323fc9ff5db5a51200bdcc5a48a112c7e":{"kind":"REWORK","_number":2,"created":"2019-06-15 00:56:05.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/2"}}},"commit":{"parents":[{"commit":"efc396010c334c511c5df7c53857b64b1f77ee7a","subject":"research_context._get_roots_with_traits()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/efc396010c334c511c5df7c53857b64b1f77ee7a"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-14 21:45:23.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-15 00:55:55.000000000","tz":-300},"subject":"WIP: Microversion 1.35: root_required","message":"WIP: Microversion 1.35: root_required\n\nTODO: moar gabbi\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/ba26f28323fc9ff5db5a51200bdcc5a48a112c7e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/ba26f28323fc9ff5db5a51200bdcc5a48a112c7e"}]},"branch":"refs/heads/master"},"4e6cad6297471be764f71304c82a813321bfdb79":{"kind":"REWORK","_number":3,"created":"2019-06-15 01:41:20.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/3"}}},"commit":{"parents":[{"commit":"efc396010c334c511c5df7c53857b64b1f77ee7a","subject":"research_context._get_roots_with_traits()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/efc396010c334c511c5df7c53857b64b1f77ee7a"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-14 21:45:23.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-15 01:41:15.000000000","tz":-300},"subject":"WIP: Microversion 1.35: root_required","message":"WIP: Microversion 1.35: root_required\n\nTODO: moar gabbi\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/4e6cad6297471be764f71304c82a813321bfdb79"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/4e6cad6297471be764f71304c82a813321bfdb79"}]},"branch":"refs/heads/master"},"f3c88f9ff61bfa9beb4df59bb03c1af97e4d80a5":{"kind":"REWORK","_number":4,"created":"2019-06-15 01:50:50.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/4"}}},"commit":{"parents":[{"commit":"efc396010c334c511c5df7c53857b64b1f77ee7a","subject":"research_context._get_roots_with_traits()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/efc396010c334c511c5df7c53857b64b1f77ee7a"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-14 21:45:23.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-15 01:50:45.000000000","tz":-300},"subject":"WIP: Microversion 1.35: root_required","message":"WIP: Microversion 1.35: root_required\n\nTODO: moar gabbi\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/f3c88f9ff61bfa9beb4df59bb03c1af97e4d80a5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/f3c88f9ff61bfa9beb4df59bb03c1af97e4d80a5"}]},"branch":"refs/heads/master"},"fa8660e3cefb47f95a0e9431e05b6d306b8c0cd1":{"kind":"REWORK","_number":5,"created":"2019-06-16 17:12:42.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/5"}}},"commit":{"parents":[{"commit":"efc396010c334c511c5df7c53857b64b1f77ee7a","subject":"research_context._get_roots_with_traits()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/efc396010c334c511c5df7c53857b64b1f77ee7a"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-14 21:45:23.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-16 17:12:09.000000000","tz":-300},"subject":"WIP: Microversion 1.35: root_required","message":"WIP: Microversion 1.35: root_required\n\nTODO: finish plumbing\nTODO: moar gabbi\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/fa8660e3cefb47f95a0e9431e05b6d306b8c0cd1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/fa8660e3cefb47f95a0e9431e05b6d306b8c0cd1"}]},"branch":"refs/heads/master"},"4b0e8eca777b656deb6de3a051844f30ef9fbbd5":{"kind":"REWORK","_number":6,"created":"2019-06-16 21:10:14.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/6"}}},"commit":{"parents":[{"commit":"143a671bb576ab1cf6c271d580830852894f5214","subject":"Refactor anchors_for_sharing_providers","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/143a671bb576ab1cf6c271d580830852894f5214"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-16 20:47:13.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-16 21:09:50.000000000","tz":-300},"subject":"WIP: Microversion 1.35: root_required","message":"WIP: Microversion 1.35: root_required\n\nTODO: moar gabbi\n\nMicroversion 1.35_ adds support for the ``root_required`` query\nparameter to the ``GET /allocation_candidates`` API. It accepts a\ncomma-delimited list of trait names, each optionally prefixed with ``!``\nto indicate a forbidden trait, in the same format as the ``required``\nquery parameter. This restricts allocation requests in the response to\nonly those whose (non-sharing) tree\u0027s root resource provider satisfies\nthe specified trait requirements.\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/4b0e8eca777b656deb6de3a051844f30ef9fbbd5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/4b0e8eca777b656deb6de3a051844f30ef9fbbd5"}]},"branch":"refs/heads/master"},"b694c6077a7ad9dfefc9c52f1e86aa3d073cd1b0":{"kind":"REWORK","_number":7,"created":"2019-06-17 14:32:18.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/7"}}},"commit":{"parents":[{"commit":"8e4a00d08cb64db5c98db56a817a1772eb54df9c","subject":"Refactor anchors_for_sharing_providers","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/8e4a00d08cb64db5c98db56a817a1772eb54df9c"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-16 20:47:13.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 14:23:55.000000000","tz":-300},"subject":"WIP: Microversion 1.35: root_required","message":"WIP: Microversion 1.35: root_required\n\nTODO: moar gabbi\n\nMicroversion 1.35_ adds support for the ``root_required`` query\nparameter to the ``GET /allocation_candidates`` API. It accepts a\ncomma-delimited list of trait names, each optionally prefixed with ``!``\nto indicate a forbidden trait, in the same format as the ``required``\nquery parameter. This restricts allocation requests in the response to\nonly those whose (non-sharing) tree\u0027s root resource provider satisfies\nthe specified trait requirements.\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/b694c6077a7ad9dfefc9c52f1e86aa3d073cd1b0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/b694c6077a7ad9dfefc9c52f1e86aa3d073cd1b0"}]},"branch":"refs/heads/master"},"17eabb9968449c9a9ac322de44b9e7d37747cae8":{"kind":"REWORK","_number":8,"created":"2019-06-17 15:26:49.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/8"}}},"commit":{"parents":[{"commit":"9f9b6271ca9ff1e8fce04bbdc7a84b87d4233b2f","subject":"Introduce RequestWideParams","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/9f9b6271ca9ff1e8fce04bbdc7a84b87d4233b2f"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 15:24:16.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 15:25:13.000000000","tz":-300},"subject":"WIP: Microversion 1.35: root_required","message":"WIP: Microversion 1.35: root_required\n\nTODO: moar gabbi\n\nMicroversion 1.35_ adds support for the ``root_required`` query\nparameter to the ``GET /allocation_candidates`` API. It accepts a\ncomma-delimited list of trait names, each optionally prefixed with ``!``\nto indicate a forbidden trait, in the same format as the ``required``\nquery parameter. This restricts allocation requests in the response to\nonly those whose (non-sharing) tree\u0027s root resource provider satisfies\nthe specified trait requirements.\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/17eabb9968449c9a9ac322de44b9e7d37747cae8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/17eabb9968449c9a9ac322de44b9e7d37747cae8"}]},"branch":"refs/heads/master"},"b4066967a4e6efcc5e52e975a0aa121dcf83b867":{"kind":"REWORK","_number":9,"created":"2019-06-17 17:46:20.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/9"}}},"commit":{"parents":[{"commit":"4c24a8ce78fc4c89a19fa681cedba225365d5e99","subject":"RequestWideParams and RequestWideSearchContext","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/4c24a8ce78fc4c89a19fa681cedba225365d5e99"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 15:24:16.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 17:43:49.000000000","tz":-300},"subject":"WIP: Microversion 1.35: root_required","message":"WIP: Microversion 1.35: root_required\n\nTODO: moar gabbi\n\nMicroversion 1.35_ adds support for the ``root_required`` query\nparameter to the ``GET /allocation_candidates`` API. It accepts a\ncomma-delimited list of trait names, each optionally prefixed with ``!``\nto indicate a forbidden trait, in the same format as the ``required``\nquery parameter. This restricts allocation requests in the response to\nonly those whose (non-sharing) tree\u0027s root resource provider satisfies\nthe specified trait requirements.\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/b4066967a4e6efcc5e52e975a0aa121dcf83b867"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/b4066967a4e6efcc5e52e975a0aa121dcf83b867"}]},"branch":"refs/heads/master"},"d422a27a958d833b965e3dc262a58a95f91833e7":{"kind":"REWORK","_number":10,"created":"2019-06-17 22:43:55.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/10"}}},"commit":{"parents":[{"commit":"90ec6ee124fe819ee1c325e8b455febd44e952ac","subject":"RequestWideParams and RequestWideSearchContext","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/90ec6ee124fe819ee1c325e8b455febd44e952ac"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 15:24:16.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 22:43:14.000000000","tz":-300},"subject":"WIP: Microversion 1.35: root_required","message":"WIP: Microversion 1.35: root_required\n\nTODO: moar gabbi\n\nMicroversion 1.35_ adds support for the ``root_required`` query\nparameter to the ``GET /allocation_candidates`` API. It accepts a\ncomma-delimited list of trait names, each optionally prefixed with ``!``\nto indicate a forbidden trait, in the same format as the ``required``\nquery parameter. This restricts allocation requests in the response to\nonly those whose (non-sharing) tree\u0027s root resource provider satisfies\nthe specified trait requirements.\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/d422a27a958d833b965e3dc262a58a95f91833e7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/d422a27a958d833b965e3dc262a58a95f91833e7"}]},"branch":"refs/heads/master"},"864648ab2e7f918747d44c4b608cbd16980d8abc":{"kind":"REWORK","_number":11,"created":"2019-06-18 14:34:04.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/11"}}},"commit":{"parents":[{"commit":"90ec6ee124fe819ee1c325e8b455febd44e952ac","subject":"RequestWideParams and RequestWideSearchContext","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/90ec6ee124fe819ee1c325e8b455febd44e952ac"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 15:24:16.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-18 14:33:05.000000000","tz":-300},"subject":"WIP: Microversion 1.35: root_required","message":"WIP: Microversion 1.35: root_required\n\nTODO: moar gabbi\n\nMicroversion 1.35_ adds support for the ``root_required`` query\nparameter to the ``GET /allocation_candidates`` API. It accepts a\ncomma-delimited list of trait names, each optionally prefixed with ``!``\nto indicate a forbidden trait, in the same format as the ``required``\nquery parameter. This restricts allocation requests in the response to\nonly those whose (non-sharing) tree\u0027s root resource provider satisfies\nthe specified trait requirements.\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/864648ab2e7f918747d44c4b608cbd16980d8abc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/864648ab2e7f918747d44c4b608cbd16980d8abc"}]},"branch":"refs/heads/master"},"924e7fcd0e4898d48b19f25990c67c323a28202f":{"kind":"REWORK","_number":12,"created":"2019-06-18 20:34:39.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/12"}}},"commit":{"parents":[{"commit":"90ec6ee124fe819ee1c325e8b455febd44e952ac","subject":"RequestWideParams and RequestWideSearchContext","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/90ec6ee124fe819ee1c325e8b455febd44e952ac"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 15:24:16.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-18 20:33:00.000000000","tz":-300},"subject":"Microversion 1.35: root_required","message":"Microversion 1.35: root_required\n\nMicroversion 1.35_ adds support for the ``root_required`` query\nparameter to the ``GET /allocation_candidates`` API. It accepts a\ncomma-delimited list of trait names, each optionally prefixed with ``!``\nto indicate a forbidden trait, in the same format as the ``required``\nquery parameter. This restricts allocation requests in the response to\nonly those whose (non-sharing) tree\u0027s root resource provider satisfies\nthe specified trait requirements.\n\nThis is to support use cases like, \"Land my VM on a host that is capable\nof multi-attach,\" or, \"Reserve my Windows-licensed hosts for special\nuse.\"\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/924e7fcd0e4898d48b19f25990c67c323a28202f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/924e7fcd0e4898d48b19f25990c67c323a28202f"}]},"branch":"refs/heads/master"},"bdf68ca2e571f8381b5021c11cae5d6e0382176f":{"kind":"REWORK","_number":13,"created":"2019-06-19 23:27:07.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/13"}}},"commit":{"parents":[{"commit":"90ec6ee124fe819ee1c325e8b455febd44e952ac","subject":"RequestWideParams and RequestWideSearchContext","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/90ec6ee124fe819ee1c325e8b455febd44e952ac"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 15:24:16.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-19 23:27:00.000000000","tz":-300},"subject":"Microversion 1.35: root_required","message":"Microversion 1.35: root_required\n\nMicroversion 1.35_ adds support for the ``root_required`` query\nparameter to the ``GET /allocation_candidates`` API. It accepts a\ncomma-delimited list of trait names, each optionally prefixed with ``!``\nto indicate a forbidden trait, in the same format as the ``required``\nquery parameter. This restricts allocation requests in the response to\nonly those whose (non-sharing) tree\u0027s root resource provider satisfies\nthe specified trait requirements.\n\nThis is to support use cases like, \"Land my VM on a host that is capable\nof multi-attach,\" or, \"Reserve my Windows-licensed hosts for special\nuse.\"\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/bdf68ca2e571f8381b5021c11cae5d6e0382176f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/bdf68ca2e571f8381b5021c11cae5d6e0382176f"}]},"branch":"refs/heads/master"},"777e25b11f6ea2ffde2da7d52ee085c4ee5e5156":{"kind":"REWORK","_number":14,"created":"2019-06-20 13:50:37.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/14"}}},"commit":{"parents":[{"commit":"9ca32d1194ce4c8aa5ddbcf671e2ba3d75ba32b3","subject":"RequestWideParams and RequestWideSearchContext","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/9ca32d1194ce4c8aa5ddbcf671e2ba3d75ba32b3"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 15:24:16.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-20 13:50:28.000000000","tz":-300},"subject":"Microversion 1.35: root_required","message":"Microversion 1.35: root_required\n\nMicroversion 1.35_ adds support for the ``root_required`` query\nparameter to the ``GET /allocation_candidates`` API. It accepts a\ncomma-delimited list of trait names, each optionally prefixed with ``!``\nto indicate a forbidden trait, in the same format as the ``required``\nquery parameter. This restricts allocation requests in the response to\nonly those whose (non-sharing) tree\u0027s root resource provider satisfies\nthe specified trait requirements.\n\nThis is to support use cases like, \"Land my VM on a host that is capable\nof multi-attach,\" or, \"Reserve my Windows-licensed hosts for special\nuse.\"\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/777e25b11f6ea2ffde2da7d52ee085c4ee5e5156"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/777e25b11f6ea2ffde2da7d52ee085c4ee5e5156"}]},"branch":"refs/heads/master"},"cbecaeb40190539405695288faed743fcd37480c":{"kind":"REWORK","_number":15,"created":"2019-06-20 21:58:35.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/15"}}},"commit":{"parents":[{"commit":"5a6884ae12cab3e9627699b7a8045a0386343e84","subject":"RequestWideParams and RequestWideSearchContext","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/5a6884ae12cab3e9627699b7a8045a0386343e84"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 15:24:16.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-20 21:54:21.000000000","tz":-300},"subject":"Microversion 1.35: root_required","message":"Microversion 1.35: root_required\n\nMicroversion 1.35_ adds support for the ``root_required`` query\nparameter to the ``GET /allocation_candidates`` API. It accepts a\ncomma-delimited list of trait names, each optionally prefixed with ``!``\nto indicate a forbidden trait, in the same format as the ``required``\nquery parameter. This restricts allocation requests in the response to\nonly those whose (non-sharing) tree\u0027s root resource provider satisfies\nthe specified trait requirements.\n\nThis is to support use cases like, \"Land my VM on a host that is capable\nof multi-attach,\" or, \"Reserve my Windows-licensed hosts for special\nuse.\"\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/cbecaeb40190539405695288faed743fcd37480c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/cbecaeb40190539405695288faed743fcd37480c"}]},"branch":"refs/heads/master"},"b733786a0a5bca5b56b9ace5b75e23365f10d9ce":{"kind":"REWORK","_number":16,"created":"2019-06-20 22:30:44.000000000","uploader":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"ref":"refs/changes/92/665492/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/92/665492/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/92/665492/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/92/665492/16"}}},"commit":{"parents":[{"commit":"5a6884ae12cab3e9627699b7a8045a0386343e84","subject":"RequestWideParams and RequestWideSearchContext","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/5a6884ae12cab3e9627699b7a8045a0386343e84"}]}],"author":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-17 15:24:16.000000000","tz":-300},"committer":{"name":"Eric Fried","email":"openstack@fried.cc","date":"2019-06-20 22:30:35.000000000","tz":-300},"subject":"Microversion 1.35: root_required","message":"Microversion 1.35: root_required\n\nMicroversion 1.35_ adds support for the ``root_required`` query\nparameter to the ``GET /allocation_candidates`` API. It accepts a\ncomma-delimited list of trait names, each optionally prefixed with ``!``\nto indicate a forbidden trait, in the same format as the ``required``\nquery parameter. This restricts allocation requests in the response to\nonly those whose (non-sharing) tree\u0027s root resource provider satisfies\nthe specified trait requirements.\n\nThis is to support use cases like, \"Land my VM on a host that is capable\nof multi-attach,\" or, \"Reserve my Windows-licensed hosts for special\nuse.\"\n\nStory: #2005575\nTask: #33753\nChange-Id: I76cad83248920fa71da122711f1f763c4ebdb1ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/b733786a0a5bca5b56b9ace5b75e23365f10d9ce"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/b733786a0a5bca5b56b9ace5b75e23365f10d9ce"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
