)]}'
{"id":"openstack%2Fplacement~676204","triplet_id":"openstack%2Fplacement~master~I2aedac0ce3a4f5a40de796bb9f74824541a95a65","project":"openstack/placement","branch":"master","topic":"optimize-_build_provider_summaries","hashtags":[],"change_id":"I2aedac0ce3a4f5a40de796bb9f74824541a95a65","subject":"Add gabbits using a DeepNUMANetworkFixture","status":"MERGED","created":"2019-08-13 14:17:28.000000000","updated":"2019-08-16 12:21:56.000000000","submitted":"2019-08-16 12:21:56.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":11,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"676204-1565958116237-8c476a95","meta_rev_id":"9c9bc6b8afe749f233f866db85032e00f1499ad4","_number":676204,"virtual_id_number":676204,"owner":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"},{"value":0,"_account_id":17499,"name":"Filippo Inzaghi","email":"zhao.daqing@99cloud.net","username":"qingszhao"},{"value":2,"date":"2019-08-16 12:21:56.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_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":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"all":[{"value":2,"date":"2019-08-16 09:52:29.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"},{"value":0,"_account_id":17499,"name":"Filippo Inzaghi","email":"zhao.daqing@99cloud.net","username":"qingszhao"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2019-08-16 12:02:36.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":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":{"approved":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"all":[{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"},{"value":0,"_account_id":17499,"name":"Filippo Inzaghi","email":"zhao.daqing@99cloud.net","username":"qingszhao"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2019-08-16 12:02:36.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":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,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"},{"value":0,"_account_id":17499,"name":"Filippo Inzaghi","email":"zhao.daqing@99cloud.net","username":"qingszhao"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_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":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":17499,"name":"Filippo Inzaghi","email":"zhao.daqing@99cloud.net","username":"qingszhao"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-08-14 14:14:35.000000000","updated_by":{"_account_id":17499,"name":"Filippo Inzaghi","email":"zhao.daqing@99cloud.net","username":"qingszhao"},"reviewer":{"_account_id":17499,"name":"Filippo Inzaghi","email":"zhao.daqing@99cloud.net","username":"qingszhao"},"state":"REVIEWER"},{"updated":"2019-08-14 15:04:07.000000000","updated_by":{"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"},"reviewer":{"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"},"state":"REVIEWER"},{"updated":"2019-08-15 13:53:15.000000000","updated_by":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"reviewer":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"state":"REVIEWER"},{"updated":"2019-08-16 12:02:36.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-08-16 12:21:56.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":"6abe9585bcfc1228046d3464b39c65c43fafc764","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-13 14:17:28.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"3e6f9c68e1c7b9ec9134394c83a6bc8cb892eaf2","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-13 14:36:44.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"736a8f20499a72d4bf216f9f087d28395d1bc6bf","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-13 15:39:36.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6ec9f7aa3dea43c9a8a2c476c5927c53 : SUCCESS in 4m 57s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e340aeadfa034d93b36876b3d4706006 : SUCCESS in 7m 12s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5de9d7f3096843d8ad5229697d6040b4 : SUCCESS in 4m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9cfc2fa8f41c4adab600da97141d3ab9 : SUCCESS in 3m 53s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/03507bb76a7d4b138f2a782f1f1e63eb : SUCCESS in 4m 54s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/887ae38673eb48468d5180c5b6b35ae7 : SUCCESS in 5m 09s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/78fd874b282d4d1190f901636056d944 : SUCCESS in 4m 37s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/4392c3dbad5940e2bd9a4066c861600e : SUCCESS in 6m 17s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/bf8a8688cbd64a66b307ec211a2cae59 : SUCCESS in 4m 59s\n- openstack-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/902821aac51746a990bbe25a2704b4c2 : SUCCESS in 6m 49s\n- placement-nova-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/786a2a2d7e8a480abc27c1e206f416f2 : SUCCESS in 12m 28s","accounts_in_message":[],"_revision_number":2},{"id":"4df5958d06914c22921a5d7bd5e88b180ec29000","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-13 16:11:56.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"befa1d6528f208fd7cbbb922f93449c0bd633f86","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-13 17:24:29.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9d0173781df945138dc92d032e0073b7 : SUCCESS in 4m 10s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/68ae0ff6baa54b6282fd953f62804898 : SUCCESS in 5m 02s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/ddaf2548e98f4a048d9370f285d880d4 : SUCCESS in 7m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b10de5ef67a042898bfed8d7be3942df : SUCCESS in 6m 11s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/2e6d6c0c54034ba7b3e8d8f1039d2442 : SUCCESS in 4m 11s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/61bb6cf2d83646e4a482d748e3c234bf : SUCCESS in 4m 08s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/8363ede86826442891243bc3db79dd1a : SUCCESS in 4m 53s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/47efe193d6654a5299305ba89d29da90 : SUCCESS in 5m 52s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/dcc82f04d21248c48534468c9788b8fe : SUCCESS in 5m 13s\n- openstack-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/4b85657a61854f6cb5bcd02b42fdae61 : SUCCESS in 6m 12s\n- placement-nova-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/3abe26ae8db845b3a6591625936bd7c9 : SUCCESS in 12m 05s","accounts_in_message":[],"_revision_number":3},{"id":"97026f4a05616e99cc1ef26344fda914be47cc0c","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2019-08-14 12:55:40.000000000","message":"Patch Set 3: Code-Review+1\n\n(2 comments)\n\nI\u0027m not sure I 100% got Eric\u0027s comment in [1] but as far as I see this test try to reproduce the situation Eric described in [1].","accounts_in_message":[],"_revision_number":3},{"id":"caafe330c1503d745ba9636d7ed74d5b937253ae","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-14 13:45:04.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"24649ef149aeb7032e0ca898db047f0f2e91ae25","author":{"_account_id":17499,"name":"Filippo Inzaghi","email":"zhao.daqing@99cloud.net","username":"qingszhao"},"date":"2019-08-14 14:14:35.000000000","message":"Patch Set 3: Code-Review+1","accounts_in_message":[],"_revision_number":3},{"id":"1b767a63c111588cdfee45b7c14c9a6cf2454b93","author":{"_account_id":28935,"name":"98k","email":"18552437190@163.com","username":"98k"},"date":"2019-08-14 15:04:07.000000000","message":"Patch Set 3: Code-Review+1","accounts_in_message":[],"_revision_number":3},{"id":"5a0bc6b85a767c178175e4b7ed950a8410977fbe","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-14 16:57:49.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"983ed3b1b7fd649be9286e882fbe8d7073d7a742","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-14 17:38:12.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ddcda2d992b14a6f85d2ca5788553fb1 : SUCCESS in 5m 04s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/381226eb96794d9387f9e2b609799d40 : SUCCESS in 6m 40s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/719773be7db04281b6ec42db8ed2f669 : SUCCESS in 5m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b7559439f14647fd858bd35b46b420f2 : SUCCESS in 5m 40s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/2198cdb096b3445480019c3f3cf562b0 : SUCCESS in 4m 58s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/94925ddc796d40b28cd0a5c0fc14b377 : SUCCESS in 4m 48s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/d07026a4e5ad4a089884a95c656b229b : SUCCESS in 5m 47s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/5476bc5f47844f55ac81d45ffdfe7025 : SUCCESS in 5m 46s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/0bb635f7fbf34aac98000e8b341d082a : SUCCESS in 5m 04s\n- openstack-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/a12c6567658e4136b5b4658178feade3 : SUCCESS in 6m 09s\n- placement-nova-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/f4710aeda9a249d3b1782958701a5e71 : SUCCESS in 12m 15s","accounts_in_message":[],"_revision_number":4},{"id":"9e2c312ac7da66972823af11461d1a6c160fa4de","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-08-14 23:49:11.000000000","message":"Patch Set 4: Code-Review-1\n\n(3 comments)\n\nDownvote is to fix the comment. Otherwise I\u0027m fine with this fixture \u0026 gabbit, as they demonstrate that things continue to work with a couple of empty tiers at the top.","accounts_in_message":[],"_revision_number":4},{"id":"9b4b812808f8d68a2c2006a351cd8ff10ffce2a2","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-08-15 00:03:41.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"7999de073d7d7d84123590e9008ec857367146b6","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-15 09:13:21.000000000","message":"Patch Set 4: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"d98ad47cf3a3946a247c98fbeac4b0b501245b83","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-15 09:27:04.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"5d00f7c8f3d0cabc89101e09b428998484a31f1d","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-08-15 09:35:35.000000000","message":"Patch Set 5: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":5},{"id":"fbafcfe8e32fc488ad627f755f1d5917b40365be","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-15 09:53:13.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"68cd552c70198e0dd6940fd82fb451106ae67119","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-15 10:09:42.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/dc30409e02c4485897fd8cc251d02d8b : SUCCESS in 3m 48s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/aef3d435925947099de3f8d9ef1305c1 : SUCCESS in 5m 34s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/66fa897798ba40aeb81229fa69101080 : SUCCESS in 4m 29s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6f64308d51674029a7c301507fea5067 : SUCCESS in 3m 50s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/fd4ef522cc174782846a7d66de4e7ec9 : SUCCESS in 5m 03s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/a2a93353dae447b9956cfb19e49d7b81 : SUCCESS in 4m 37s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/bd1713922e5d4fd3b7c2bcb54a73436f : SUCCESS in 4m 23s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/d1b4464dfa0141b2b5565afcb54e69f8 : SUCCESS in 4m 19s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/6e0ab7659c334bf38d72b9b0e16c0112 : SUCCESS in 4m 20s\n- openstack-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/8c0f445ef0bd4c4096bfdf0c6c6436fd : SUCCESS in 6m 03s\n- placement-nova-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/5e7d0759043c48d69ea6ef06502742db : SUCCESS in 10m 56s","accounts_in_message":[],"_revision_number":6},{"id":"46148cad539ff0b455ee28c0aab614c232a25b3d","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-08-15 13:53:15.000000000","message":"Patch Set 6: Code-Review+2","accounts_in_message":[],"_revision_number":6},{"id":"7bd18fceb05cb3bfdc566c3461e644fa9f2b92a3","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-16 09:52:29.000000000","message":"Uploaded patch set 7: Patch Set 6 was rebased.","accounts_in_message":[],"_revision_number":7},{"id":"a05e8bb18c9ab22d3ad77884c807c6a2579b4fbf","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-16 10:06:05.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d26be8545b3243848c9399bfec904f96 : SUCCESS in 8m 08s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/80e298a52cf14f449a9e347703e87ad6 : SUCCESS in 7m 37s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d4d3836b53c04745aabe2fbdb1122636 : SUCCESS in 7m 11s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/872db7ade9e04c2cb1adee57a3c22797 : SUCCESS in 7m 01s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/956994df7dd9452ab9eed1c5d97f14bf : SUCCESS in 7m 32s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/9872e7977e6d48d1befe243a985bacb3 : SUCCESS in 8m 21s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/75979c46b702449281354092780dfdb8 : SUCCESS in 5m 25s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/e0ea31579a8c437bade1e934cbb2adc5 : SUCCESS in 9m 55s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/89d99c5a73b349cbafc0cbb3fd003996 : SUCCESS in 5m 37s\n- openstack-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/bed8af03f0604c77bab67dcfd52920dc : SUCCESS in 10m 56s\n- placement-nova-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/b5fa1f42d9744c13aebd699c8ef1b0b4 : SUCCESS in 12m 55s","accounts_in_message":[],"_revision_number":7},{"id":"a34e5c4af6a5498b058ffd26f54ab28164948856","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2019-08-16 12:02:36.000000000","message":"Patch Set 7: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":7},{"id":"1c07b532b5c0d79237d5b378c07d4c2cf98377d0","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-16 12:02:48.000000000","message":"Patch Set 7: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":7},{"id":"6406bb6cda4ad1a01c168182f262d36c294741fd","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-16 12:21:56.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":7},{"id":"4c103a0c446f36a9092e3a22378b06be0917a44c","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-16 12:21:56.000000000","message":"Patch Set 7: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c3d8238dcfa647d6a81e9529fe93f0fc : SUCCESS in 7m 57s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/958fa295c58c4380901b18f01d2199c8 : SUCCESS in 7m 59s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d76ddfc3387b45249c7dd24bdd7a72ac : SUCCESS in 6m 38s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/6f7e45ce72e74b19abe90ec10d00f579 : SUCCESS in 7m 27s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/7eed3f737f314b908d4ae7eb0147e777 : SUCCESS in 7m 39s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/6e20d2749b114f59b1642d71541157b5 : SUCCESS in 5m 23s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/030108911a08481d88343a94065fcbd7 : SUCCESS in 8m 20s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/d67b2698495c409c98b7cd43ff34deab : SUCCESS in 5m 26s\n- openstack-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/5cf04f8ca988438ebc502aac44b8ac71 : SUCCESS in 7m 57s\n- placement-nova-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/3dd8a63d36bd48549cbb82afc43ef8e0 : SUCCESS in 13m 24s","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"978408b900e8ce322510e831ae9452a3b3278b3e","revisions":{"7811679208da17e6c5cad66134a4eb0a4d596e80":{"kind":"REWORK","_number":1,"created":"2019-08-13 14:17:28.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/04/676204/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/04/676204/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/04/676204/1"}}},"commit":{"parents":[{"commit":"180167161623fe1264a260fb681c87de6d79c4a2","subject":"Merge \"Use expanding bindparam in get_traits_by_provider_tree\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/180167161623fe1264a260fb681c87de6d79c4a2"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-13 14:09:10.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-13 14:09:10.000000000","tz":60},"subject":"WIP: Add gabbits using a DeepNUMANetworkFixture","message":"WIP: Add gabbits using a DeepNUMANetworkFixture\n\nModify the NUMANetworkFixture so we make a subclass\nthat pre-creates cn1 and cn2 and puts them under distinct parents and a\nshared grandparent. This helps to model a deeply nested but sparse\ntopology where providers that contribute to the solution are low down\nin the tree.\n\nThis is a WIP because I\u0027ve gotten myself confused if this is providing\na test of the functionality we want to test as described in Eric\u0027s\ncomment at [1]. I\u0027ve been messing with it for so long, untangling my\nconfusion, that I\u0027ve lost track of myself. Rather than beating myself\nup, I\u0027ll post to get some feedback and ask for help. The idea is to\nhave this test in place prior to [2] so we can be sure it doesn\u0027t break\nthis when manipulating the same_subtree handling. However, in order for\nthat to work, the test has to be complete and I\u0027m pretty sure this is\nnot, or rather I have no confidence that it  is.\n\nThe added gabbit intentionally uses yaml anchors to indicate that the\nexpected response on each test is the same.\n\nUnderstanding the structure of the available resource providers and\nthe UUIDs in use can be super painful, but osc_placement_tree [3] can\nhelp. I added the following to the end of make_entities to trigger it\nto dump:\n\n        from osc_placement_tree import utils as placement_visual\n        from placement import direct\n        import time\n\n        with direct.PlacementDirect(\n              self.conf_fixture.conf, latest_microversion\u003dTrue) as client:\n            placement_visual.dump_placement_db_to_dot(\n                    placement_visual.PlacementDirectAsClientWrapper(client),\n                    \u0027/tmp/dump.%s.dot\u0027 % time.time(),\n                    hidden_fields\u003d[\u0027inventories\u0027, \u0027generation\u0027, \u0027aggregates\u0027, \u0027resource_provider_generation\u0027])\n\n[1] https://review.opendev.org/#/c/675606/2/placement/objects/allocation_candidate.py@908\n[2] Ibccaed40f1eac9c244cf70654f6be1d72f7a6054\n[3] https://pypi.org/project/osc-placement-tree/\n\nChange-Id: I2aedac0ce3a4f5a40de796bb9f74824541a95a65\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/7811679208da17e6c5cad66134a4eb0a4d596e80"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/7811679208da17e6c5cad66134a4eb0a4d596e80"}]},"branch":"refs/heads/master"},"1d51fe13982407c399cf5c40deab72f3b469f479":{"kind":"REWORK","_number":2,"created":"2019-08-13 14:36:44.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/04/676204/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/04/676204/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/04/676204/2"}}},"commit":{"parents":[{"commit":"180167161623fe1264a260fb681c87de6d79c4a2","subject":"Merge \"Use expanding bindparam in get_traits_by_provider_tree\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/180167161623fe1264a260fb681c87de6d79c4a2"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-13 14:09:10.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-13 14:33:51.000000000","tz":60},"subject":"WIP: Add gabbits using a DeepNUMANetworkFixture","message":"WIP: Add gabbits using a DeepNUMANetworkFixture\n\nModify the NUMANetworkFixture so we make a subclass\nthat pre-creates cn1 and cn2 and puts them under distinct parents and a\nshared grandparent. This helps to model a deeply nested but sparse\ntopology where providers that contribute to the solution are low down\nin the tree.\n\nThis is a WIP because I\u0027ve gotten myself confused if this is providing\na test of the functionality we want to test as described in Eric\u0027s\ncomment at [1]. I\u0027ve been messing with it for so long, untangling my\nconfusion, that I\u0027ve lost track of myself. Rather than beating myself\nup, I\u0027ll post to get some feedback and ask for help. The idea is to\nhave this test in place prior to [2] so we can be sure it doesn\u0027t break\nthis when manipulating the same_subtree handling. However, in order for\nthat to work, the test has to be complete and I\u0027m pretty sure this is\nnot, or rather I have no confidence that it  is.\n\nThe added gabbit intentionally uses yaml anchors to indicate that the\nexpected response on each test is the same.\n\nUnderstanding the structure of the available resource providers and\nthe UUIDs in use can be super painful, but osc_placement_tree [3] can\nhelp. I added the following to the end of make_entities to trigger it\nto dump:\n\n        from osc_placement_tree import utils as placement_visual\n        from placement import direct\n        import time\n\n        with direct.PlacementDirect(\n              self.conf_fixture.conf, latest_microversion\u003dTrue) as client:\n            placement_visual.dump_placement_db_to_dot(\n                    placement_visual.PlacementDirectAsClientWrapper(client),\n                    \u0027/tmp/dump.%s.dot\u0027 % time.time(),\n                    hidden_fields\u003d[\u0027inventories\u0027, \u0027generation\u0027, \u0027aggregates\u0027, \u0027resource_provider_generation\u0027])\n\n[1] https://review.opendev.org/#/c/675606/2/placement/objects/allocation_candidate.py@908\n[2] Ibccaed40f1eac9c244cf70654f6be1d72f7a6054\n[3] https://pypi.org/project/osc-placement-tree/\n\nChange-Id: I2aedac0ce3a4f5a40de796bb9f74824541a95a65\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/1d51fe13982407c399cf5c40deab72f3b469f479"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/1d51fe13982407c399cf5c40deab72f3b469f479"}]},"branch":"refs/heads/master"},"214ed5f6af76229016473c7eaa852234403b1d15":{"kind":"REWORK","_number":3,"created":"2019-08-13 16:11:56.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/04/676204/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/04/676204/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/04/676204/3"}}},"commit":{"parents":[{"commit":"180167161623fe1264a260fb681c87de6d79c4a2","subject":"Merge \"Use expanding bindparam in get_traits_by_provider_tree\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/180167161623fe1264a260fb681c87de6d79c4a2"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-13 14:09:10.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-13 16:02:29.000000000","tz":60},"subject":"WIP: Add gabbits using a DeepNUMANetworkFixture","message":"WIP: Add gabbits using a DeepNUMANetworkFixture\n\nModify the NUMANetworkFixture so we make a subclass\nthat pre-creates cn1 and cn2 and puts them under distinct parents and a\nshared grandparent. This helps to model a deeply nested but sparse\ntopology where providers that contribute to the solution are low down\nin the tree.\n\nThis is a WIP because I\u0027ve gotten myself confused if this is providing\na test of the functionality we want to test as described in Eric\u0027s\ncomment at [1]. I\u0027ve been messing with it for so long, untangling my\nconfusion, that I\u0027ve lost track of myself. Rather than beating myself\nup, I\u0027ll post to get some feedback and ask for help. The idea is to\nhave this test in place prior to [2] so we can be sure it doesn\u0027t break\nthis when manipulating the same_subtree handling. However, in order for\nthat to work, the test has to be complete and I\u0027m pretty sure this is\nnot, or rather I have no confidence that it  is.\n\nThe added gabbit intentionally uses yaml anchors to indicate that the\nexpected response on each test is the same.\n\nUnderstanding the structure of the available resource providers and\nthe UUIDs in use can be super painful, but osc_placement_tree [3] can\nhelp. I added the following to the end of make_entities to trigger it\nto dump:\n\n        from osc_placement_tree import utils as placement_visual\n        from placement import direct\n        import time\n\n        with direct.PlacementDirect(\n              self.conf_fixture.conf, latest_microversion\u003dTrue) as client:\n            placement_visual.dump_placement_db_to_dot(\n                    placement_visual.PlacementDirectAsClientWrapper(client),\n                    \u0027/tmp/dump.%s.dot\u0027 % time.time(),\n                    hidden_fields\u003d[\u0027inventories\u0027, \u0027generation\u0027, \u0027aggregates\u0027, \u0027resource_provider_generation\u0027])\n\n[1] https://review.opendev.org/#/c/675606/2/placement/objects/allocation_candidate.py@908\n[2] Ibccaed40f1eac9c244cf70654f6be1d72f7a6054\n[3] https://pypi.org/project/osc-placement-tree/\n\nChange-Id: I2aedac0ce3a4f5a40de796bb9f74824541a95a65\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/214ed5f6af76229016473c7eaa852234403b1d15"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/214ed5f6af76229016473c7eaa852234403b1d15"}]},"branch":"refs/heads/master"},"a98ef15177c7603d2259323748e4382c8b93cb36":{"kind":"REWORK","_number":4,"created":"2019-08-14 16:57:49.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/04/676204/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/04/676204/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/04/676204/4"}}},"commit":{"parents":[{"commit":"180167161623fe1264a260fb681c87de6d79c4a2","subject":"Merge \"Use expanding bindparam in get_traits_by_provider_tree\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/180167161623fe1264a260fb681c87de6d79c4a2"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-13 14:09:10.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-14 16:54:08.000000000","tz":60},"subject":"Add gabbits using a DeepNUMANetworkFixture","message":"Add gabbits using a DeepNUMANetworkFixture\n\nModify the NUMANetworkFixture so we make a subclass\nthat pre-creates cn1 and cn2 and puts them under distinct parents and a\nshared grandparent. This helps to model a deeply nested but sparse\ntopology where providers that contribute to the solution are low down\nin the tree.\n\nThis provides a deeper topology to test the same_subtree and\n_merge_candidates changes that come in the following patches,\nincluding a request in the review of [1] to test specific\nfunctionality. This tries to provide that.\n\nThe added gabbit intentionally uses yaml anchors to indicate that the\nexpected response on each test is the same.\n\nUnderstanding the structure of the available resource providers and\nthe UUIDs in use can be super painful, but osc_placement_tree [3] can\nhelp. In my own tetsing I added the following to the end of\nmake_entities to trigger it to dump:\n\n        from osc_placement_tree import utils as placement_visual\n        from placement import direct\n        import time\n\n        with direct.PlacementDirect(\n              self.conf_fixture.conf, latest_microversion\u003dTrue) as client:\n            placement_visual.dump_placement_db_to_dot(\n                    placement_visual.PlacementDirectAsClientWrapper(client),\n                    \u0027/tmp/dump.%s.dot\u0027 % time.time(),\n                    hidden_fields\u003d[\u0027inventories\u0027, \u0027generation\u0027, \u0027aggregates\u0027, \u0027resource_provider_generation\u0027])\n\n[1] https://review.opendev.org/#/c/675606/2/placement/objects/allocation_candidate.py@908\n[2] Ibccaed40f1eac9c244cf70654f6be1d72f7a6054\n[3] https://pypi.org/project/osc-placement-tree/\n\nChange-Id: I2aedac0ce3a4f5a40de796bb9f74824541a95a65\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/a98ef15177c7603d2259323748e4382c8b93cb36"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/a98ef15177c7603d2259323748e4382c8b93cb36"}]},"branch":"refs/heads/master"},"6f3c24d4d17f2ead6a4278d82432028b89f3d9b5":{"kind":"REWORK","_number":5,"created":"2019-08-15 09:27:04.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/04/676204/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/04/676204/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/04/676204/5"}}},"commit":{"parents":[{"commit":"9d63593cc4da625c0dfb4aadfa40716c0ea47bf3","subject":"gabbi test for same_subtree with an ancestry hole","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/9d63593cc4da625c0dfb4aadfa40716c0ea47bf3"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-13 14:09:10.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-15 09:26:45.000000000","tz":60},"subject":"Add gabbits using a DeepNUMANetworkFixture","message":"Add gabbits using a DeepNUMANetworkFixture\n\nModify the NUMANetworkFixture so we make a subclass\nthat pre-creates cn1 and cn2 and puts them under distinct parents and a\nshared grandparent. This helps to model a deeply nested but sparse\ntopology where providers that contribute to the solution are low down\nin the tree.\n\nThis provides a deeper topology to test the same_subtree and\n_merge_candidates changes that come in the following patches.\n\nThe added gabbit intentionally uses yaml anchors to indicate that the\nexpected response on each test is the same.\n\nUnderstanding the structure of the available resource providers and\nthe UUIDs in use can be super painful, but osc_placement_tree [3] can\nhelp. In my own tetsing I added the following to the end of\nmake_entities to trigger it to dump:\n\n        from osc_placement_tree import utils as placement_visual\n        from placement import direct\n        import time\n\n        with direct.PlacementDirect(\n              self.conf_fixture.conf, latest_microversion\u003dTrue) as client:\n            placement_visual.dump_placement_db_to_dot(\n                    placement_visual.PlacementDirectAsClientWrapper(client),\n                    \u0027/tmp/dump.%s.dot\u0027 % time.time(),\n                    hidden_fields\u003d[\u0027inventories\u0027, \u0027generation\u0027, \u0027aggregates\u0027, \u0027resource_provider_generation\u0027])\n\n[1] https://review.opendev.org/#/c/675606/2/placement/objects/allocation_candidate.py@908\n[2] Ibccaed40f1eac9c244cf70654f6be1d72f7a6054\n[3] https://pypi.org/project/osc-placement-tree/\n\nChange-Id: I2aedac0ce3a4f5a40de796bb9f74824541a95a65\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/6f3c24d4d17f2ead6a4278d82432028b89f3d9b5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/6f3c24d4d17f2ead6a4278d82432028b89f3d9b5"}]},"branch":"refs/heads/master"},"3028dfd7384210322b6b6c0d2579a101922b75b5":{"kind":"REWORK","_number":6,"created":"2019-08-15 09:53:13.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/04/676204/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/04/676204/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/04/676204/6"}}},"commit":{"parents":[{"commit":"9d63593cc4da625c0dfb4aadfa40716c0ea47bf3","subject":"gabbi test for same_subtree with an ancestry hole","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/9d63593cc4da625c0dfb4aadfa40716c0ea47bf3"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-13 14:09:10.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-15 09:52:49.000000000","tz":60},"subject":"Add gabbits using a DeepNUMANetworkFixture","message":"Add gabbits using a DeepNUMANetworkFixture\n\nModify the NUMANetworkFixture so we make a subclass\nthat pre-creates cn1 and cn2 and puts them under distinct parents and a\nshared grandparent. This helps to model a deeply nested but sparse\ntopology where providers that contribute to the solution are low down\nin the tree.\n\nThis provides a deeper topology to test the same_subtree and\n_merge_candidates changes that come in the following patches.\n\nThe added gabbit intentionally uses yaml anchors to indicate that the\nexpected response on each test is the same.\n\nUnderstanding the structure of the available resource providers and\nthe UUIDs in use can be super painful, but osc_placement_tree [1] can\nhelp. In my own tetsing I added the following to the end of\nmake_entities to trigger it to dump:\n\n        from osc_placement_tree import utils as placement_visual\n        from placement import direct\n        import time\n\n        with direct.PlacementDirect(\n              self.conf_fixture.conf, latest_microversion\u003dTrue) as client:\n            placement_visual.dump_placement_db_to_dot(\n                    placement_visual.PlacementDirectAsClientWrapper(client),\n                    \u0027/tmp/dump.%s.dot\u0027 % time.time(),\n                    hidden_fields\u003d[\u0027inventories\u0027, \u0027generation\u0027, \u0027aggregates\u0027, \u0027resource_provider_generation\u0027])\n\n[1] https://pypi.org/project/osc-placement-tree/\n\nChange-Id: I2aedac0ce3a4f5a40de796bb9f74824541a95a65\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/3028dfd7384210322b6b6c0d2579a101922b75b5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/3028dfd7384210322b6b6c0d2579a101922b75b5"}]},"branch":"refs/heads/master"},"978408b900e8ce322510e831ae9452a3b3278b3e":{"kind":"TRIVIAL_REBASE","_number":7,"created":"2019-08-16 09:52:29.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/04/676204/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/04/676204/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/04/676204/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/04/676204/7"}}},"commit":{"parents":[{"commit":"9d256fa6c7f4377ee075555ec8b1f142fe75c445","subject":"gabbi test for same_subtree with an ancestry hole","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/9d256fa6c7f4377ee075555ec8b1f142fe75c445"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-13 14:09:10.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-16 09:44:37.000000000","tz":60},"subject":"Add gabbits using a DeepNUMANetworkFixture","message":"Add gabbits using a DeepNUMANetworkFixture\n\nModify the NUMANetworkFixture so we make a subclass\nthat pre-creates cn1 and cn2 and puts them under distinct parents and a\nshared grandparent. This helps to model a deeply nested but sparse\ntopology where providers that contribute to the solution are low down\nin the tree.\n\nThis provides a deeper topology to test the same_subtree and\n_merge_candidates changes that come in the following patches.\n\nThe added gabbit intentionally uses yaml anchors to indicate that the\nexpected response on each test is the same.\n\nUnderstanding the structure of the available resource providers and\nthe UUIDs in use can be super painful, but osc_placement_tree [1] can\nhelp. In my own tetsing I added the following to the end of\nmake_entities to trigger it to dump:\n\n        from osc_placement_tree import utils as placement_visual\n        from placement import direct\n        import time\n\n        with direct.PlacementDirect(\n              self.conf_fixture.conf, latest_microversion\u003dTrue) as client:\n            placement_visual.dump_placement_db_to_dot(\n                    placement_visual.PlacementDirectAsClientWrapper(client),\n                    \u0027/tmp/dump.%s.dot\u0027 % time.time(),\n                    hidden_fields\u003d[\u0027inventories\u0027, \u0027generation\u0027, \u0027aggregates\u0027, \u0027resource_provider_generation\u0027])\n\n[1] https://pypi.org/project/osc-placement-tree/\n\nChange-Id: I2aedac0ce3a4f5a40de796bb9f74824541a95a65\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/978408b900e8ce322510e831ae9452a3b3278b3e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/978408b900e8ce322510e831ae9452a3b3278b3e"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
