)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"c33c4ca1137b3de1a5069299ff39b8ddc686d52b","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Due to bug #1889633, we\u0027re currently able to end up on a host that has"},{"line_number":10,"context_line":"hyperthreads even though we requested hosts with hyperthreads using the"},{"line_number":11,"context_line":"\u0027hw:cpu_thread_policy\u003disolate\u0027 extra spec."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I87cd4d14192b1a40cbdca6e3af0f818f2cab613e"},{"line_number":14,"context_line":"Signed-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f560f44_2115369d","line":11,"updated":"2020-07-30 20:46:47.000000000","message":"This could use some more explanations, though you\u0027d be repeating the bug itself. The problem isn\u0027t so much that we get a host with hyperthreading with an isolate policy (that\u0027s expected under the \"old\" vcpu_pin_set regime), it\u0027s that we get it even with the \"new\" cpu_dedicated_set regime.","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a867360b7fa98f73d693f603755c9620d5879b39","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Due to bug #1889633, we\u0027re currently able to end up on a host that has"},{"line_number":10,"context_line":"hyperthreads even though we requested hosts with hyperthreads using the"},{"line_number":11,"context_line":"\u0027hw:cpu_thread_policy\u003disolate\u0027 extra spec."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I87cd4d14192b1a40cbdca6e3af0f818f2cab613e"},{"line_number":14,"context_line":"Signed-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f560f44_e4506c60","line":11,"in_reply_to":"9f560f44_2115369d","updated":"2020-07-30 22:07:45.000000000","message":"ya you need to at least mention the new config option since otherwise using vcpu_pin_set instead it would be valid.\n\nthe bug however does have more then enough detail","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8e3c91f576b4643b667978902a8efd4407cd084f","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Due to bug #1889633, we\u0027re currently able to end up on a host that has"},{"line_number":10,"context_line":"hyperthreads even though we requested hosts with hyperthreads using the"},{"line_number":11,"context_line":"\u0027hw:cpu_thread_policy\u003disolate\u0027 extra spec."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I87cd4d14192b1a40cbdca6e3af0f818f2cab613e"},{"line_number":14,"context_line":"Signed-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f560f44_490fa488","line":11,"in_reply_to":"9f560f44_e4506c60","updated":"2020-07-31 11:15:07.000000000","message":"Basically ended up rewriting the bug. I was trying to keep this short to avoid doing that. There\u0027s just so much context needed to understand this bug :(","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"}],"nova/tests/functional/libvirt/test_numa_servers.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e909160dc80eacbebb72f5fa5897aa085f34a308","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        spec and configuration."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        This should pass and result in an instance consuming $flavor.vcpu host"},{"line_number":265,"context_line":"        cores plus the thread sibling(s) of each of these cores. We also be"},{"line_number":266,"context_line":"        consuming VCPUs since we\u0027re on legacy configuration here, though that"},{"line_number":267,"context_line":"        would in theory be fixed during a later reshape."},{"line_number":268,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_01a592b5","line":265,"range":{"start_line":265,"start_character":14,"end_line":265,"end_character":41},"updated":"2020-07-30 20:44:09.000000000","message":"So you don\u0027t actually check this in this test, as far as I cant tell. I think there\u0027d be value in doing that, though it would mean forgoing the _run_build_test() helper. If we reduce the CPU count on the fake host down to 4 (iow, change cpu_nodes from 2 to 1), we\u0027d be able to assert that all 4 CPUs are pinned in the host topology blob:\n\n  ctxt \u003d nova_context.get_admin_context()\n  host_numa \u003d objects.NUMATopology.obj_from_db_obj(\n      objects.ComputeNode.get_by_nodename(ctxt, \u0027compute1\u0027).numa_topology)\n  self.assertEqual(set([0,1,2,3]),\n                    host_numa.cells[0].pinned_cpus)\n\nI tried it locally, it works :)","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a867360b7fa98f73d693f603755c9620d5879b39","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        spec and configuration."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        This should pass and result in an instance consuming $flavor.vcpu host"},{"line_number":265,"context_line":"        cores plus the thread sibling(s) of each of these cores. We also be"},{"line_number":266,"context_line":"        consuming VCPUs since we\u0027re on legacy configuration here, though that"},{"line_number":267,"context_line":"        would in theory be fixed during a later reshape."},{"line_number":268,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e4e50caa","line":265,"range":{"start_line":265,"start_character":73,"end_line":265,"end_character":75},"updated":"2020-07-30 22:07:45.000000000","message":"should be","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8e3c91f576b4643b667978902a8efd4407cd084f","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        spec and configuration."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        This should pass and result in an instance consuming $flavor.vcpu host"},{"line_number":265,"context_line":"        cores plus the thread sibling(s) of each of these cores. We also be"},{"line_number":266,"context_line":"        consuming VCPUs since we\u0027re on legacy configuration here, though that"},{"line_number":267,"context_line":"        would in theory be fixed during a later reshape."},{"line_number":268,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e9caf817","line":265,"range":{"start_line":265,"start_character":14,"end_line":265,"end_character":41},"in_reply_to":"9f560f44_01a592b5","updated":"2020-07-31 11:15:07.000000000","message":"Done","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a867360b7fa98f73d693f603755c9620d5879b39","unresolved":false,"context_lines":[{"line_number":267,"context_line":"        would in theory be fixed during a later reshape."},{"line_number":268,"context_line":"        \"\"\""},{"line_number":269,"context_line":"        self.flags("},{"line_number":270,"context_line":"            cpu_dedicated_set\u003dNone, cpu_shared_set\u003dNone, group\u003d\u0027compute\u0027)"},{"line_number":271,"context_line":"        self.flags(vcpu_pin_set\u003d\u00270-7\u0027)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        # host has hyperthreads, which means it should be rejected"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_84fff032","line":270,"range":{"start_line":270,"start_character":6,"end_line":270,"end_character":73},"updated":"2020-07-30 22:07:45.000000000","message":"do we also want a test with cpu_shared_set and vcpu_pin_set defiend for completeness.\n\nits not require as it will have the same behavior as this but its just a tought\n\ntoo artome point you could also use cpu_shared_set to fill one of the numa nodes and use vcpu_pin_set for the other numa node and still assert that all the pinnded cpus are claimed. as we expect.","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8e3c91f576b4643b667978902a8efd4407cd084f","unresolved":false,"context_lines":[{"line_number":267,"context_line":"        would in theory be fixed during a later reshape."},{"line_number":268,"context_line":"        \"\"\""},{"line_number":269,"context_line":"        self.flags("},{"line_number":270,"context_line":"            cpu_dedicated_set\u003dNone, cpu_shared_set\u003dNone, group\u003d\u0027compute\u0027)"},{"line_number":271,"context_line":"        self.flags(vcpu_pin_set\u003d\u00270-7\u0027)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        # host has hyperthreads, which means it should be rejected"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_097accef","line":270,"range":{"start_line":270,"start_character":6,"end_line":270,"end_character":73},"in_reply_to":"9f560f44_84fff032","updated":"2020-07-31 11:15:07.000000000","message":"\u003e do we also want a test with cpu_shared_set and vcpu_pin_set defiend\n \u003e for completeness.\n\nI\u0027ve defined \u0027vcpu_pin_set\u0027 here. The second test below tests with new-style configuration.\n\n \u003e its not require as it will have the same behavior as this but its\n \u003e just a tought\n \u003e \n \u003e too artome point you could also use cpu_shared_set to fill one of\n \u003e the numa nodes and use vcpu_pin_set for the other numa node and\n \u003e still assert that all the pinnded cpus are claimed. as we expect.","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e909160dc80eacbebb72f5fa5897aa085f34a308","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        }"},{"line_number":374,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d2, extra_spec\u003dextra_spec)"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        # FIXME(stephenfin): This should go to error status since there should"},{"line_number":377,"context_line":"        # be a host available"},{"line_number":378,"context_line":"        expected_usage \u003d {"},{"line_number":379,"context_line":"            \u0027DISK_GB\u0027: 20, \u0027MEMORY_MB\u0027: 2048, \u0027PCPU\u0027: 0, \u0027VCPU\u0027: 2}"},{"line_number":380,"context_line":"        self._run_build_test(flavor_id, expected_usage\u003dexpected_usage)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_018e322d","line":377,"range":{"start_line":376,"start_character":72,"end_line":377,"end_character":12},"updated":"2020-07-30 20:44:09.000000000","message":"\"should not be\"?","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a867360b7fa98f73d693f603755c9620d5879b39","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        }"},{"line_number":374,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d2, extra_spec\u003dextra_spec)"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        # FIXME(stephenfin): This should go to error status since there should"},{"line_number":377,"context_line":"        # be a host available"},{"line_number":378,"context_line":"        expected_usage \u003d {"},{"line_number":379,"context_line":"            \u0027DISK_GB\u0027: 20, \u0027MEMORY_MB\u0027: 2048, \u0027PCPU\u0027: 0, \u0027VCPU\u0027: 2}"},{"line_number":380,"context_line":"        self._run_build_test(flavor_id, expected_usage\u003dexpected_usage)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_64a0dc44","line":377,"range":{"start_line":376,"start_character":72,"end_line":377,"end_character":12},"in_reply_to":"9f560f44_018e322d","updated":"2020-07-30 22:07:45.000000000","message":"yes","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8e3c91f576b4643b667978902a8efd4407cd084f","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        }"},{"line_number":374,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d2, extra_spec\u003dextra_spec)"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        # FIXME(stephenfin): This should go to error status since there should"},{"line_number":377,"context_line":"        # be a host available"},{"line_number":378,"context_line":"        expected_usage \u003d {"},{"line_number":379,"context_line":"            \u0027DISK_GB\u0027: 20, \u0027MEMORY_MB\u0027: 2048, \u0027PCPU\u0027: 0, \u0027VCPU\u0027: 2}"},{"line_number":380,"context_line":"        self._run_build_test(flavor_id, expected_usage\u003dexpected_usage)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_09f12c6c","line":377,"range":{"start_line":376,"start_character":72,"end_line":377,"end_character":12},"in_reply_to":"9f560f44_64a0dc44","updated":"2020-07-31 11:15:07.000000000","message":"Done","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e909160dc80eacbebb72f5fa5897aa085f34a308","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        # be a host available"},{"line_number":378,"context_line":"        expected_usage \u003d {"},{"line_number":379,"context_line":"            \u0027DISK_GB\u0027: 20, \u0027MEMORY_MB\u0027: 2048, \u0027PCPU\u0027: 0, \u0027VCPU\u0027: 2}"},{"line_number":380,"context_line":"        self._run_build_test(flavor_id, expected_usage\u003dexpected_usage)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    def test_create_server_with_pcpu(self):"},{"line_number":383,"context_line":"        \"\"\"Create a server using an explicit \u0027resources:PCPU\u0027 request."}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_41eb0aaf","line":380,"updated":"2020-07-30 20:44:09.000000000","message":"I suppose you could do the same pinned_cpus assertion here as well, though it wouldn\u0027t make as much sense since it\u0027d be immediately removed in the next patch.","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"b3f600b540de5bd0dfe1fac8e8f70baf6f4798cc","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        expected_usage \u003d {"},{"line_number":379,"context_line":"            \u0027DISK_GB\u0027: 20, \u0027MEMORY_MB\u0027: 2048, \u0027PCPU\u0027: 0, \u0027VCPU\u0027: 2}"},{"line_number":380,"context_line":"        self._run_build_test(flavor_id, expected_usage\u003dexpected_usage)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    def test_create_server_with_pcpu(self):"},{"line_number":383,"context_line":"        \"\"\"Create a server using an explicit \u0027resources:PCPU\u0027 request."},{"line_number":384,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a1602603","line":381,"updated":"2020-07-30 20:59:04.000000000","message":"We could have a second test, one that sets:\n\n  self.flags(disable_fallback_pcpu_query\u003dTrue, group\u003d\u0027workarounds\u0027)\n\nand then asserts that the servers ends up in ERROR. We can\u0027t use the _run_build_helper() either because the NUMATopolgyFilter doesn\u0027t actually get called, as without the fallback query we don\u0027t get anything from placement.\n\nSuch a test would give us extra confidence that we\u0027ve understood the bug correctly.","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"b401e7d2b6f2f994c0fc461075b379dfc654256a","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        expected_usage \u003d {"},{"line_number":379,"context_line":"            \u0027DISK_GB\u0027: 20, \u0027MEMORY_MB\u0027: 2048, \u0027PCPU\u0027: 0, \u0027VCPU\u0027: 2}"},{"line_number":380,"context_line":"        self._run_build_test(flavor_id, expected_usage\u003dexpected_usage)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    def test_create_server_with_pcpu(self):"},{"line_number":383,"context_line":"        \"\"\"Create a server using an explicit \u0027resources:PCPU\u0027 request."},{"line_number":384,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a43cb4c8","line":381,"in_reply_to":"9f560f44_a1602603","updated":"2020-07-30 21:09:49.000000000","message":"Doh, there\u0027s a filter_called_on_error arg to the _run_build_helper() that we can use. So yeah, let\u0027s do that :) It works locally.","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"8874d5c59a294dc9ca56b4580b25b0faf670af41","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        expected_usage \u003d {"},{"line_number":379,"context_line":"            \u0027DISK_GB\u0027: 20, \u0027MEMORY_MB\u0027: 2048, \u0027PCPU\u0027: 0, \u0027VCPU\u0027: 2}"},{"line_number":380,"context_line":"        self._run_build_test(flavor_id, expected_usage\u003dexpected_usage)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    def test_create_server_with_pcpu(self):"},{"line_number":383,"context_line":"        \"\"\"Create a server using an explicit \u0027resources:PCPU\u0027 request."},{"line_number":384,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_c4460850","line":381,"in_reply_to":"9f560f44_a43cb4c8","updated":"2020-07-30 21:11:16.000000000","message":"Though I guess that test would get removed in the patch after this one? Your call I guess. Might help other reviews grok this better.","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8e3c91f576b4643b667978902a8efd4407cd084f","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        expected_usage \u003d {"},{"line_number":379,"context_line":"            \u0027DISK_GB\u0027: 20, \u0027MEMORY_MB\u0027: 2048, \u0027PCPU\u0027: 0, \u0027VCPU\u0027: 2}"},{"line_number":380,"context_line":"        self._run_build_test(flavor_id, expected_usage\u003dexpected_usage)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    def test_create_server_with_pcpu(self):"},{"line_number":383,"context_line":"        \"\"\"Create a server using an explicit \u0027resources:PCPU\u0027 request."},{"line_number":384,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_09964cf1","line":381,"in_reply_to":"9f560f44_c4460850","updated":"2020-07-31 11:15:07.000000000","message":"It would be removed, yeah. I think the test that we end up consuming VCPU inventory, rather than PCPU inventory, is sufficient to prove that the fallback query is in place","commit_id":"4a8134923bea9a580fb7cc20c5e31bfa2cf6bab8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"7ed62e2d0d8235febb1ed812a3438f4e21a8241a","unresolved":false,"context_lines":[{"line_number":268,"context_line":"        \"\"\""},{"line_number":269,"context_line":"        self.flags("},{"line_number":270,"context_line":"            cpu_dedicated_set\u003dNone, cpu_shared_set\u003dNone, group\u003d\u0027compute\u0027)"},{"line_number":271,"context_line":"        self.flags(vcpu_pin_set\u003d\u00270-7\u0027)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        # host has hyperthreads, which means we\u0027re going to end up consuming"},{"line_number":274,"context_line":"        # $flavor.vcpu hosts cores plus the thread sibling(s) for each core"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_90039c0f","line":271,"range":{"start_line":271,"start_character":33,"end_line":271,"end_character":36},"updated":"2020-07-31 12:19:39.000000000","message":"Oh, small nit: Since we only have 4 CPUs now, this should be 0-3.","commit_id":"12b57bb679efe77d877a7e13d78ccb67628cefa8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"ea49bf8dc31933e6296430989a478f3b63527d5a","unresolved":false,"context_lines":[{"line_number":268,"context_line":"        \"\"\""},{"line_number":269,"context_line":"        self.flags("},{"line_number":270,"context_line":"            cpu_dedicated_set\u003dNone, cpu_shared_set\u003dNone, group\u003d\u0027compute\u0027)"},{"line_number":271,"context_line":"        self.flags(vcpu_pin_set\u003d\u00270-7\u0027)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        # host has hyperthreads, which means we\u0027re going to end up consuming"},{"line_number":274,"context_line":"        # $flavor.vcpu hosts cores plus the thread sibling(s) for each core"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_b3b98a2f","line":271,"range":{"start_line":271,"start_character":33,"end_line":271,"end_character":36},"in_reply_to":"9f560f44_90039c0f","updated":"2020-07-31 12:26:20.000000000","message":"OK, we talked about this on IRC. Even on a host with 8 CPUs (threads would be more correct), we can expect a 4-CPU instance to consume the first 4 host CPUs, so the pinning assertion on L293 should still always work. Personally I\u0027d rather not rely on an implementation detail, and just give the host 4 CPUs (threads), but meh.","commit_id":"12b57bb679efe77d877a7e13d78ccb67628cefa8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a17576fe6813e7f9013662dcf1adbdb7ed663acc","unresolved":false,"context_lines":[{"line_number":268,"context_line":"        \"\"\""},{"line_number":269,"context_line":"        self.flags("},{"line_number":270,"context_line":"            cpu_dedicated_set\u003dNone, cpu_shared_set\u003dNone, group\u003d\u0027compute\u0027)"},{"line_number":271,"context_line":"        self.flags(vcpu_pin_set\u003d\u00270-7\u0027)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        # host has hyperthreads, which means we\u0027re going to end up consuming"},{"line_number":274,"context_line":"        # $flavor.vcpu hosts cores plus the thread sibling(s) for each core"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_3323baaa","line":271,"range":{"start_line":271,"start_character":33,"end_line":271,"end_character":36},"in_reply_to":"9f560f44_90039c0f","updated":"2020-07-31 12:22:01.000000000","message":"we still have 8 threads\n\ncpu_nodes\u003d2, cpu_sockets\u003d1, cpu_cores\u003d2, cpu_threads\u003d2,","commit_id":"12b57bb679efe77d877a7e13d78ccb67628cefa8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"0c344cfec3e2ce468380ee5e784eb2a4727c77b3","unresolved":false,"context_lines":[{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        # verify that we have consumed two cores plus the thread sibling of"},{"line_number":292,"context_line":"        # each core, totalling four cores for the given HostInfo"},{"line_number":293,"context_line":"        ctxt \u003d nova_context.get_admin_context()"},{"line_number":294,"context_line":"        host_numa \u003d objects.NUMATopology.obj_from_db_obj("},{"line_number":295,"context_line":"            objects.ComputeNode.get_by_nodename(ctxt, \u0027compute1\u0027).numa_topology"},{"line_number":296,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_303c50e1","line":293,"updated":"2020-07-31 12:18:16.000000000","message":"Oh right, we can actually do this here because all the resources (server) are still in place, they only get cleaned up by tearDown(), which is called once the test method is done.","commit_id":"12b57bb679efe77d877a7e13d78ccb67628cefa8"}]}
