)]}'
{"id":"openstack%2Fplacement~657510","triplet_id":"openstack%2Fplacement~master~I4e10168014ac83a0c49375ec547980a70bc61541","project":"openstack/placement","branch":"master","topic":"nested-magic","hashtags":[],"change_id":"I4e10168014ac83a0c49375ec547980a70bc61541","subject":"DNM: Allow RequestGroups without resources","status":"ABANDONED","created":"2019-05-07 01:28:44.000000000","updated":"2019-07-01 15:56:49.000000000","total_comment_count":9,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"5d9f560d6a2e7ce99d74b9c931b37000b57e64c8","_number":657510,"virtual_id_number":657510,"owner":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"date":"2019-06-11 22:49:40.000000000","_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":-1,"date":"2019-06-11 20:24:21.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_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-11 20:24:21.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2019-06-11 22:49:40.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"}],"messages":[{"id":"3ae574ceb62d602e1fd9f5f33f1ea7d78cc74f00","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-05-07 01:28:44.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c6ceb7aa391f622096f558648a934e8669bb567a","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-07 03:14:32.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade-py3 http://logs.openstack.org/10/657510/1/check/grenade-py3/cc26f89/ : SUCCESS in 1h 16m 00s\n- tempest-full-py3 http://logs.openstack.org/10/657510/1/check/tempest-full-py3/6af02c6/ : SUCCESS in 1h 44m 45s\n- openstack-tox-docs http://logs.openstack.org/10/657510/1/check/openstack-tox-docs/e6d4077/html/ : SUCCESS in 4m 41s\n- openstack-tox-cover http://logs.openstack.org/10/657510/1/check/openstack-tox-cover/fa0d924/cover/ : SUCCESS in 6m 36s\n- openstack-tox-lower-constraints http://logs.openstack.org/10/657510/1/check/openstack-tox-lower-constraints/dee44a1/ : SUCCESS in 5m 48s\n- openstack-tox-pep8 http://logs.openstack.org/10/657510/1/check/openstack-tox-pep8/0eee43c/ : SUCCESS in 4m 51s\n- openstack-tox-py27 http://logs.openstack.org/10/657510/1/check/openstack-tox-py27/55bea5e/ : SUCCESS in 4m 38s\n- openstack-tox-py36 http://logs.openstack.org/10/657510/1/check/openstack-tox-py36/1a05f2f/ : SUCCESS in 5m 52s\n- openstack-tox-py37 http://logs.openstack.org/10/657510/1/check/openstack-tox-py37/d475f62/ : SUCCESS in 4m 17s\n- openstack-tox-functional http://logs.openstack.org/10/657510/1/check/openstack-tox-functional/5153a15/ : SUCCESS in 6m 14s\n- openstack-tox-functional-py36 http://logs.openstack.org/10/657510/1/check/openstack-tox-functional-py36/b55f20b/ : SUCCESS in 6m 35s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/10/657510/1/check/placement-nova-tox-functional-py36/e1efcf0/ : SUCCESS in 12m 07s\n- placement-perfload http://logs.openstack.org/10/657510/1/check/placement-perfload/a78030e/ : SUCCESS in 2m 59s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"ef58e256f16a16e88de08206afae9f87c6d5ecc5","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-05-07 10:38:21.000000000","message":"Patch Set 1:\n\n(4 comments)\n\nGood start.","accounts_in_message":[],"_revision_number":1},{"id":"cb97aa5bbdcdca86ac6059e87ffbdeb86a1268b9","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-05-07 16:43:33.000000000","message":"Patch Set 1: Workflow-1\n\n(3 comments)\n\nI\u0027m not sure on the next step for this. One option would be to put it under  https://review.opendev.org/#/c/657463/ and try some things?","accounts_in_message":[],"_revision_number":1},{"id":"0b605605094a22488d81e36cf3ed923543db3294","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-05-07 17:48:01.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"7b7e90516d0ddf98edb6e88015a547e2dedf644c","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-05-07 17:48:54.000000000","message":"Patch Set 2:\n\nps3 switches to `any` but the questions/caveats in my comment on ps2 still apply.","accounts_in_message":[],"_revision_number":2},{"id":"17ab36f86d2ade529dafe78e836fec1dacaa2318","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-07 20:22:51.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade-py3 http://logs.openstack.org/10/657510/2/check/grenade-py3/2850a8d/ : SUCCESS in 1h 11m 57s\n- tempest-full-py3 http://logs.openstack.org/10/657510/2/check/tempest-full-py3/34df581/ : SUCCESS in 1h 24m 16s\n- openstack-tox-docs http://logs.openstack.org/10/657510/2/check/openstack-tox-docs/39db6f7/html/ : SUCCESS in 4m 02s\n- openstack-tox-cover http://logs.openstack.org/10/657510/2/check/openstack-tox-cover/d799758/cover/ : SUCCESS in 5m 44s\n- openstack-tox-lower-constraints http://logs.openstack.org/10/657510/2/check/openstack-tox-lower-constraints/c00fddf/ : SUCCESS in 5m 26s\n- openstack-tox-pep8 http://logs.openstack.org/10/657510/2/check/openstack-tox-pep8/207e843/ : SUCCESS in 5m 03s\n- openstack-tox-py27 http://logs.openstack.org/10/657510/2/check/openstack-tox-py27/eda9ad5/ : SUCCESS in 4m 09s\n- openstack-tox-py36 http://logs.openstack.org/10/657510/2/check/openstack-tox-py36/5393401/ : SUCCESS in 5m 11s\n- openstack-tox-py37 http://logs.openstack.org/10/657510/2/check/openstack-tox-py37/a4e4cb4/ : SUCCESS in 4m 57s\n- openstack-tox-functional http://logs.openstack.org/10/657510/2/check/openstack-tox-functional/6415a9f/ : SUCCESS in 4m 59s\n- openstack-tox-functional-py36 http://logs.openstack.org/10/657510/2/check/openstack-tox-functional-py36/fe61bb5/ : SUCCESS in 4m 25s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/10/657510/2/check/placement-nova-tox-functional-py36/41554b1/ : SUCCESS in 12m 20s\n- placement-perfload http://logs.openstack.org/10/657510/2/check/placement-perfload/6702334/ : SUCCESS in 3m 11s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"3a13d62d4dc6486aae7fc16b3c3eb8ccf89fc3ab","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-05-16 12:32:13.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.","accounts_in_message":[],"_revision_number":3},{"id":"4f092759394cbd9c59ed5b62dcd22afd7a0f6def","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-16 14:07:20.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade-py3 http://logs.openstack.org/10/657510/3/check/grenade-py3/00c3866/ : SUCCESS in 1h 05m 06s\n- tempest-full-py3 http://logs.openstack.org/10/657510/3/check/tempest-full-py3/2254b62/ : SUCCESS in 1h 29m 15s\n- openstack-tox-docs http://logs.openstack.org/10/657510/3/check/openstack-tox-docs/9fa7265/html/ : SUCCESS in 3m 46s\n- openstack-tox-cover http://logs.openstack.org/10/657510/3/check/openstack-tox-cover/19db958/cover/ : SUCCESS in 4m 28s\n- openstack-tox-lower-constraints http://logs.openstack.org/10/657510/3/check/openstack-tox-lower-constraints/2bcf9da/ : SUCCESS in 4m 09s\n- openstack-tox-pep8 http://logs.openstack.org/10/657510/3/check/openstack-tox-pep8/27bb22b/ : SUCCESS in 3m 55s\n- openstack-tox-py27 http://logs.openstack.org/10/657510/3/check/openstack-tox-py27/86f484d/ : SUCCESS in 4m 00s\n- openstack-tox-py36 http://logs.openstack.org/10/657510/3/check/openstack-tox-py36/3be69f1/ : SUCCESS in 3m 40s\n- openstack-tox-py37 http://logs.openstack.org/10/657510/3/check/openstack-tox-py37/27dfb11/ : SUCCESS in 4m 07s\n- openstack-tox-functional http://logs.openstack.org/10/657510/3/check/openstack-tox-functional/488bea0/ : SUCCESS in 4m 06s\n- openstack-tox-functional-py36 http://logs.openstack.org/10/657510/3/check/openstack-tox-functional-py36/e74f4e6/ : SUCCESS in 4m 15s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/10/657510/3/check/placement-nova-tox-functional-py36/12889f4/ : SUCCESS in 12m 02s\n- placement-perfload http://logs.openstack.org/10/657510/3/check/placement-perfload/ee987b8/ : SUCCESS in 3m 09s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"d4e49cd700a5e2dc8ab6d96d8b18803e2a98932f","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-05-16 16:25:16.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"8d1a3540c7b85b5ea6e2996d46496620651ee352","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-05-20 16:43:31.000000000","message":"Patch Set 3: Workflow-1\n\n1.33 got eaten by the prior patch\n\nand\n\nthis needs to get based under some of the test fixture improvements eric has made","accounts_in_message":[],"_revision_number":3},{"id":"dcfc5df368752fb5cce21a43e7b506841c4063d8","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-05-21 16:32:56.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"dde7d6b8287e90a89270c45a91e87c9ea4aba705","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-05-21 20:56:25.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"e0a03749b0981dcda2eaab10080ae60356136515","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-05-21 21:21:13.000000000","message":"Patch Set 5:\n\nOn this patchset I thought I would take a TDD approach to solving the failure of the first test:\n\n    GET: /allocation_candidates?resources\u003dVCPU:1\u0026required\u003dCOMPUTE_VOLUME_MULTI_ATTACH\n\n(The following is in part a note to myself to remember some state but also a request for comments on how crazy this. Mostly I think we can probably extract some learnings from this and incorporate it into Tetsuro\u0027s current batch of refactorings, but not do exactly this. But we\u0027ll see.)\n\nDebugging showed that there were only two critical changes at the db query level to get things to work:\n\n1. In objects/resource_provider.py _get_trees_with_traits is modified to get _all_ trees that support the indicated traits, not be constrained by the list of provides which have already been found to satisfy inventory requirements.\n\nIn big clouds this can be a huge set, so not ideal, but it might be a useful clue.\n\nThe implement is simply getting rid of an initial conditional for a where clause.\n\n2. In objects/allocation_candidate.py _check_traits_for_alloc_request filters AllocationRequestResource for combos that work. That\u0027s been changed to enable \"traits flow down\". This wasn\u0027t the goal I was pursuing, but up until this method we had the right data and this method was kicking things out which we wanted to keep because the providers being checked were not checking traits on their parents. Adding that got things \"working\" (for some limited definition).\n\nTo make that work I discovered I wanted a summaries_by_uuid dict to go along with the summaries by id dict already used in the method. And the result of having that made me think there was little point having the prov_traits dict, because we already have all the traits in the provider summaries.\n\nWhich confirms my intuition that we have a lot of redundancy in the code.\n\nEventually I started thinking that it might be that we don\u0027t really need the _check_traits_for_alloc_request method as we might have already done that earlier in the process. I didn\u0027t purse that. I\u0027m out of brain and don\u0027t want to mess things up without first talking to others.","accounts_in_message":[],"_revision_number":5},{"id":"772b69c74571f6bb927925fcb1838a8b45f64912","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-05-21 22:28:38.000000000","message":"Patch Set 5:\n\n\u003e 2.\n\nI dug into this a little bit, though not all the way. It\u0027s possible that:\n\n- _check_traits_for_alloc_request is filtering resourceless providers because\n- the `summaries` param is missing those providers because\n- _alloc_candidates_multiple_providers is building them from usages returned by\n- _get_usages_by_provider_tree, which just might be missing a LEFT somewhere to make it include resource providers with no inventories.","accounts_in_message":[],"_revision_number":5},{"id":"214643046649d17300dc9f601055a04cb9e2e2ec","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-22 00:32:49.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- grenade-py3 http://logs.openstack.org/10/657510/5/check/grenade-py3/7f591de/ : SUCCESS in 1h 00m 33s\n- tempest-full-py3 http://logs.openstack.org/10/657510/5/check/tempest-full-py3/1fd10b4/ : SUCCESS in 1h 35m 41s\n- openstack-tox-docs http://logs.openstack.org/10/657510/5/check/openstack-tox-docs/7e36c3d/html/ : SUCCESS in 4m 29s\n- openstack-tox-cover http://logs.openstack.org/10/657510/5/check/openstack-tox-cover/1cb17f7/cover/ : SUCCESS in 6m 25s\n- openstack-tox-lower-constraints http://logs.openstack.org/10/657510/5/check/openstack-tox-lower-constraints/7aa6b32/ : SUCCESS in 4m 12s\n- openstack-tox-pep8 http://logs.openstack.org/10/657510/5/check/openstack-tox-pep8/1213774/ : FAILURE in 4m 00s\n- openstack-tox-py27 http://logs.openstack.org/10/657510/5/check/openstack-tox-py27/aece124/ : SUCCESS in 3m 50s\n- openstack-tox-py36 http://logs.openstack.org/10/657510/5/check/openstack-tox-py36/14dcf4c/ : SUCCESS in 4m 30s\n- openstack-tox-py37 http://logs.openstack.org/10/657510/5/check/openstack-tox-py37/4f3932f/ : SUCCESS in 6m 39s\n- openstack-tox-functional http://logs.openstack.org/10/657510/5/check/openstack-tox-functional/b345d46/ : SUCCESS in 4m 15s\n- openstack-tox-functional-py36 http://logs.openstack.org/10/657510/5/check/openstack-tox-functional-py36/0c8ba6a/ : SUCCESS in 4m 56s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/10/657510/5/check/placement-nova-tox-functional-py36/e5df096/ : SUCCESS in 11m 36s\n- placement-perfload http://logs.openstack.org/10/657510/5/check/placement-perfload/b80adb0/ : SUCCESS in 3m 12s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"30c83cd8e466031a98f995467b70009b798a23a6","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-05-22 09:09:15.000000000","message":"Patch Set 5:\n\n\u003e - _check_traits_for_alloc_request is filtering resourceless\n \u003e providers because\n \u003e - the `summaries` param is missing those providers because\n\nThe summaries has the resourceless providers, otherwise my trick to do the flow down wouldn\u0027t work: it is looking for the parents in the summaries info.\n\nWhere there are not present (and you wouldn\u0027t expect them because these providers won\u0027t show up in the allocations) is in the res_request list (The AllocationRequestResources) and the method is is keying on them.\n\nI\u0027ll keep looking into this and bring it home, eventually, but I suspect that it will be after Tetsuro\u0027s stuff gets a bit further.","accounts_in_message":[],"_revision_number":5},{"id":"53b10c7cc78d9cd1e0c6e49b214310e7e170ad86","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-05-22 12:00:49.000000000","message":"Patch Set 5:\n\nSee https://review.opendev.org/#/c/660691/ where I\u0027m trying to incorporate one of the learnings from this.","accounts_in_message":[],"_revision_number":5},{"id":"e9e5298e04a74f6954dda11211008fb90110001b","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-05-22 13:57:56.000000000","message":"Patch Set 5: Workflow-1\n\nwill come back to this after tetsuro\u0027s RequestSearchContext changes have merged along with some other tidy ups.","accounts_in_message":[],"_revision_number":5},{"id":"212656ed11e1ee0003a955ec65dfd8bb078827ed","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-11 11:19:54.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"5e6418c244ca456561a4f965163d4efc6dfbc314","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-11 11:26:54.000000000","message":"Patch Set 6:\n\nThe fact that there is only 1 test failure (in functional) suggests that we either have some big redundancies or we need a few more tests.","accounts_in_message":[],"_revision_number":6},{"id":"aec1f52f6f4e0c91cca6964dce4f0fb4afab1617","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-06-11 13:46:02.000000000","message":"Patch Set 7: Patch Set 6 was rebased","accounts_in_message":[],"_revision_number":7},{"id":"e39acd1d8fce8416d609ab07bc2e0fff706c480d","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-11 20:24:21.000000000","message":"Patch Set 7: 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/10/657510/7/check/grenade-py3/ee02944/ : SUCCESS in 1h 01m 36s\n- tempest-full-py3 http://logs.openstack.org/10/657510/7/check/tempest-full-py3/09c48d4/ : SUCCESS in 1h 47m 47s\n- openstack-tox-docs http://logs.openstack.org/10/657510/7/check/openstack-tox-docs/9c92392/html/ : SUCCESS in 3m 50s\n- openstack-tox-cover http://logs.openstack.org/10/657510/7/check/openstack-tox-cover/4dca223/ : FAILURE in 5m 49s\n- openstack-tox-lower-constraints http://logs.openstack.org/10/657510/7/check/openstack-tox-lower-constraints/e52054b/ : FAILURE in 4m 58s\n- openstack-tox-pep8 http://logs.openstack.org/10/657510/7/check/openstack-tox-pep8/245eb8f/ : SUCCESS in 4m 27s\n- openstack-tox-py27 http://logs.openstack.org/10/657510/7/check/openstack-tox-py27/ca1b176/ : SUCCESS in 4m 45s\n- openstack-tox-py36 http://logs.openstack.org/10/657510/7/check/openstack-tox-py36/2fb21b5/ : SUCCESS in 4m 38s\n- openstack-tox-py37 http://logs.openstack.org/10/657510/7/check/openstack-tox-py37/0bd0794/ : SUCCESS in 4m 39s\n- openstack-tox-functional http://logs.openstack.org/10/657510/7/check/openstack-tox-functional/f47da9f/ : FAILURE in 4m 49s\n- openstack-tox-functional-py36 http://logs.openstack.org/10/657510/7/check/openstack-tox-functional-py36/57b7b8d/ : FAILURE in 6m 51s\n- placement-nova-tox-functional-py36 http://logs.openstack.org/10/657510/7/check/placement-nova-tox-functional-py36/cd40716/ : SUCCESS in 12m 56s\n- placement-perfload http://logs.openstack.org/10/657510/7/check/placement-perfload/ac6ab2b/ : SUCCESS in 8m 04s (non-voting)","accounts_in_message":[],"_revision_number":7},{"id":"b931a00f33f58783840cb116c195717d70707fd4","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-11 22:34:54.000000000","message":"Patch Set 7:\n\n\u003e The fact that there is only 1 test failure (in functional) suggests that we either have some big redundancies or we need a few more tests.\n\nMore tests, for sure. I\u0027ve been needing to prove (to myself at least) whether \"flow down\" hurts more than it helps, so I\u0027ll try to sling some test cases that show it.","accounts_in_message":[],"_revision_number":7},{"id":"57343b4bd34e4c2bcacb5094331139de25b2db64","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-06-11 22:49:40.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"1490dd8032a92c350f0ffad6abb734d25a9fc731","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-07-01 15:56:49.000000000","message":"Abandoned\n\nsee https://review.opendev.org/#/c/663009/ instead","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"ff4776aee77343d75985607ebbd6cfc166b04046","revisions":{"9cc64b0ef9585ce4fb3d677b407928606cfde09f":{"kind":"REWORK","_number":1,"created":"2019-05-07 01:28:44.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/10/657510/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/10/657510/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/10/657510/1"}}},"commit":{"parents":[{"commit":"25c5cb054e93996ae16f12908bcf3e589b6b9137","subject":"WIP: Allow [A-Z0-9_-]{1,32} for request group suffix","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/25c5cb054e93996ae16f12908bcf3e589b6b9137"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-05-07 01:23:15.000000000","tz":-420},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-05-07 01:28:29.000000000","tz":-420},"subject":"WIP: Allow RequestGroups without resources","message":"WIP: Allow RequestGroups without resources\n\nThis change adjust RequestGroup parsing to allow individual\ngroups that do not have a resources entry, _as long as there\nis at least one resources somewhere in the entire query_.\n\nThis is done in microversion 1.33\n\nA WIP for your consideration on the implementation. It is WIP\nbecause:\n\n* Docs are still needed\n* This is not just \u0027required*\u0027 without \u0027resources*\u0027, it is\n  anything* without resources* as long as the request has\n  resources somewhere.\n* There are no tests which exercise this in the actual data\n  handling.\n\nChange-Id: I4e10168014ac83a0c49375ec547980a70bc61541\nStory: 2005575\nTask: 30784\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/9cc64b0ef9585ce4fb3d677b407928606cfde09f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/9cc64b0ef9585ce4fb3d677b407928606cfde09f"}]},"branch":"refs/heads/master"},"73c313878e73a14f33ac8b2d307810bf7fcee2ed":{"kind":"REWORK","_number":2,"created":"2019-05-07 17:48:01.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/10/657510/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/10/657510/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/10/657510/2"}}},"commit":{"parents":[{"commit":"25c5cb054e93996ae16f12908bcf3e589b6b9137","subject":"WIP: Allow [A-Z0-9_-]{1,32} for request group suffix","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/25c5cb054e93996ae16f12908bcf3e589b6b9137"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-05-07 01:23:15.000000000","tz":-420},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-05-07 17:47:46.000000000","tz":-420},"subject":"WIP: Allow RequestGroups without resources","message":"WIP: Allow RequestGroups without resources\n\nThis change adjust RequestGroup parsing to allow individual\ngroups that do not have a resources entry, _as long as there\nis at least one resources somewhere in the entire query_.\n\nThis is done in microversion 1.33\n\nA WIP for your consideration on the implementation. It is WIP\nbecause:\n\n* Docs are still needed\n* This is not just \u0027required*\u0027 without \u0027resources*\u0027, it is\n  anything* without resources* as long as the request has\n  resources somewhere.\n* There are no tests which exercise this in the actual data\n  handling.\n\nChange-Id: I4e10168014ac83a0c49375ec547980a70bc61541\nStory: 2005575\nTask: 30784\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/73c313878e73a14f33ac8b2d307810bf7fcee2ed"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/73c313878e73a14f33ac8b2d307810bf7fcee2ed"}]},"branch":"refs/heads/master"},"b4cdd1976bf8a000facb5718e20a6c567294e801":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2019-05-16 12:32:13.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/10/657510/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/10/657510/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/10/657510/3"}}},"commit":{"parents":[{"commit":"3e24cd859d8fa8802453bb37283a41474afb80be","subject":"Allow [A-Z0-9_-]{1,64} for request group suffix","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/3e24cd859d8fa8802453bb37283a41474afb80be"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-05-07 01:23:15.000000000","tz":-420},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-05-16 12:30:38.000000000","tz":60},"subject":"WIP: Allow RequestGroups without resources","message":"WIP: Allow RequestGroups without resources\n\nThis change adjust RequestGroup parsing to allow individual\ngroups that do not have a resources entry, _as long as there\nis at least one resources somewhere in the entire query_.\n\nThis is done in microversion 1.33\n\nA WIP for your consideration on the implementation. It is WIP\nbecause:\n\n* Docs are still needed\n* This is not just \u0027required*\u0027 without \u0027resources*\u0027, it is\n  anything* without resources* as long as the request has\n  resources somewhere.\n* There are no tests which exercise this in the actual data\n  handling.\n\nChange-Id: I4e10168014ac83a0c49375ec547980a70bc61541\nStory: 2005575\nTask: 30784\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/b4cdd1976bf8a000facb5718e20a6c567294e801"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/b4cdd1976bf8a000facb5718e20a6c567294e801"}]},"branch":"refs/heads/master"},"dd227b032987083b9cdb12b7579b143f637c3159":{"kind":"REWORK","_number":4,"created":"2019-05-21 16:32:56.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/10/657510/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/10/657510/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/10/657510/4"}}},"commit":{"parents":[{"commit":"08da8f743b91c1b00e225b1f6f58c9c188688724","subject":"Add NUMANetworkFixture for gabbits","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/08da8f743b91c1b00e225b1f6f58c9c188688724"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-05-07 01:23:15.000000000","tz":-420},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-05-21 16:31:50.000000000","tz":60},"subject":"WIP: Allow RequestGroups without resources","message":"WIP: Allow RequestGroups without resources\n\nThis change adjusts RequestGroup parsing to allow individual\ngroups that do not have a resources entry, _as long as there\nis at least one resources somewhere in the entire query_.\n\nThis is done in microversion 1.33 (racing with another 1.33,\nbut it\u0027s a WIP so ndb).\n\nA WIP for your consideration on the implementation. It is WIP\nbecause:\n\n* Docs are still needed\n* This is not just \u0027required*\u0027 without \u0027resources*\u0027, it is\n  anything* without resources* as long as the request has\n  resources somewhere.\n* There are no tests which exercise this in the actual data\n  handling.\n\nA gabbi file is added, which demonstrates some confusion on\nhow this ought to work. Input appreciated on how we should\norder (and test) the probably several ways in which this will\nneed to be adjusted.\n\nChange-Id: I4e10168014ac83a0c49375ec547980a70bc61541\nStory: 2005575\nTask: 30784\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/dd227b032987083b9cdb12b7579b143f637c3159"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/dd227b032987083b9cdb12b7579b143f637c3159"}]},"branch":"refs/heads/master"},"e498ecaa46320b84ca7b447e3d0a63c623138a54":{"kind":"REWORK","_number":5,"created":"2019-05-21 20:56:25.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/10/657510/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/10/657510/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/10/657510/5"}}},"commit":{"parents":[{"commit":"08da8f743b91c1b00e225b1f6f58c9c188688724","subject":"Add NUMANetworkFixture for gabbits","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/08da8f743b91c1b00e225b1f6f58c9c188688724"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-05-07 01:23:15.000000000","tz":-420},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-05-21 20:55:13.000000000","tz":60},"subject":"WIP: Allow RequestGroups without resources","message":"WIP: Allow RequestGroups without resources\n\nThis change adjusts RequestGroup parsing to allow individual\ngroups that do not have a resources entry, _as long as there\nis at least one resources somewhere in the entire query_.\n\nThis is done in microversion 1.33 (racing with another 1.33,\nbut it\u0027s a WIP so ndb).\n\nA WIP for your consideration on the implementation. It is WIP\nbecause:\n\n* Docs are still needed\n* This is not just \u0027required*\u0027 without \u0027resources*\u0027, it is\n  anything* without resources* as long as the request has\n  resources somewhere.\n* There are no tests which exercise this in the actual data\n  handling.\n\nA gabbi file is added, which demonstrates some confusion on\nhow this ought to work. Input appreciated on how we should\norder (and test) the probably several ways in which this will\nneed to be adjusted.\n\nThere is a hacked up experiment in the most recent patchset\nthat shows how things can be forced to work with a\nnon-granular request.\n\nChange-Id: I4e10168014ac83a0c49375ec547980a70bc61541\nStory: 2005575\nTask: 30784\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/e498ecaa46320b84ca7b447e3d0a63c623138a54"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/e498ecaa46320b84ca7b447e3d0a63c623138a54"}]},"branch":"refs/heads/master"},"d9579771627116849e9d677634fba535801cb169":{"kind":"REWORK","_number":6,"created":"2019-06-11 11:19:54.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/10/657510/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/10/657510/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/10/657510/6"}}},"commit":{"parents":[{"commit":"142c2cef958aef81fd45b70691031d08e20e9cf8","subject":"Add NUMANetworkFixture for gabbits","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/142c2cef958aef81fd45b70691031d08e20e9cf8"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-05-07 01:23:15.000000000","tz":-420},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-06-11 11:14:09.000000000","tz":60},"subject":"DNM: Allow RequestGroups without resources","message":"DNM: Allow RequestGroups without resources\n\nThis change adjusts RequestGroup parsing to allow individual\ngroups that do not have a resources entry, _as long as there\nis at least one resources somewhere in the entire query_.\n\nThis is done in microversion 1.34\n\nA WIP for your consideration on the implementation. It is WIP\nbecause:\n\n* Docs are still needed\n* This is not just \u0027required*\u0027 without \u0027resources*\u0027, it is\n  anything* without resources* as long as the request has\n  resources somewhere.\n* There are no tests which exercise this in the actual data\n  handling.\n\nTwo gabbi files are added, granular-resourceless.yaml demonstrates\nsome confusion on how this ought to work. Input appreciated on\nhow we should order (and test) the probably several ways in which\nthis will need to be adjusted.\n\nThe other, traits-flow-down-experiment.yaml, gives a simple model\nto explore how in-tree traits might work.\n\nThere is a hacked up experiment that shows how things could be\nforced to work with a non-granular request.\n\nThe most recent patchset extends things to explore traits-flow-down\nin more detail, including removing the early trait filtering in\nget_trees_matching_all in research_context. Interestingly this\nleads to only one test failure, which might give us some clues\non how to proceed if we choose a direction like this. There\nare likely some performance implications with that change.\n\nChange-Id: I4e10168014ac83a0c49375ec547980a70bc61541\nStory: 2005575\nTask: 30784\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/d9579771627116849e9d677634fba535801cb169"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/d9579771627116849e9d677634fba535801cb169"}]},"branch":"refs/heads/master"},"ff4776aee77343d75985607ebbd6cfc166b04046":{"kind":"TRIVIAL_REBASE","_number":7,"created":"2019-06-11 13:46:02.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/10/657510/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/10/657510/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/10/657510/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/10/657510/7"}}},"commit":{"parents":[{"commit":"88b6c816a846276e2476a4d5594499cd303d26ad","subject":"Add NUMANetworkFixture for gabbits","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/88b6c816a846276e2476a4d5594499cd303d26ad"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-05-07 01:23:15.000000000","tz":-420},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-06-11 13:46:02.000000000","tz":0},"subject":"DNM: Allow RequestGroups without resources","message":"DNM: Allow RequestGroups without resources\n\nThis change adjusts RequestGroup parsing to allow individual\ngroups that do not have a resources entry, _as long as there\nis at least one resources somewhere in the entire query_.\n\nThis is done in microversion 1.34\n\nA WIP for your consideration on the implementation. It is WIP\nbecause:\n\n* Docs are still needed\n* This is not just \u0027required*\u0027 without \u0027resources*\u0027, it is\n  anything* without resources* as long as the request has\n  resources somewhere.\n* There are no tests which exercise this in the actual data\n  handling.\n\nTwo gabbi files are added, granular-resourceless.yaml demonstrates\nsome confusion on how this ought to work. Input appreciated on\nhow we should order (and test) the probably several ways in which\nthis will need to be adjusted.\n\nThe other, traits-flow-down-experiment.yaml, gives a simple model\nto explore how in-tree traits might work.\n\nThere is a hacked up experiment that shows how things could be\nforced to work with a non-granular request.\n\nThe most recent patchset extends things to explore traits-flow-down\nin more detail, including removing the early trait filtering in\nget_trees_matching_all in research_context. Interestingly this\nleads to only one test failure, which might give us some clues\non how to proceed if we choose a direction like this. There\nare likely some performance implications with that change.\n\nChange-Id: I4e10168014ac83a0c49375ec547980a70bc61541\nStory: 2005575\nTask: 30784\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/ff4776aee77343d75985607ebbd6cfc166b04046"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/ff4776aee77343d75985607ebbd6cfc166b04046"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
