)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"cc683eeba4abe6ff559a2fd1c6fbfd53bedc23ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ffd82b6a_8e9cb614","updated":"2022-10-10 20:22:09.000000000","message":"Currently downstream standard and symmetric NUMA tests work:\n{0} whitebox_tempest_plugin.api.compute.test_cpu_pinning.MixedCPUPolicyTestMultiNuma.test_shared_pinned_and_unpinned_guest [14.063873s] ... ok\n{0} whitebox_tempest_plugin.api.compute.test_cpu_pinning.MixedCPUPolicyTestMultiNuma.test_symmetric_multi_numa [9.943001s] ... ok\n\nAsymmetric deployments do not work though:\nwhitebox_tempest_plugin.api.compute.test_cpu_pinning.MixedCPUPolicyTestMultiNuma.test_asymmetric_multi_numa\n...\n    tempest.exceptions.BuildErrorException: Server 07e08995-b34c-4b11-a076-c3d15a5035c9 failed to build and is in ERROR status\n    Details: Fault: {\u0027code\u0027: 500, \u0027created\u0027: \u00272022-10-10T20:03:30Z\u0027, \u0027message\u0027: \u0027No valid host was found. There are not enough hosts available.\u0027}. Server boot request ID: req-d4c77aa7-0482-4d65-ac8b-ebe28ce3f6cf.\n\nUntil this can be resolved I\u0027m not sure if this should be committed or not.\n","commit_id":"5f2c59ab4c0cdaee4b9d33cc8aa1e80d490e7f0a"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"77b450a366395a448f82566bc5cbc645668af414","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"332e3bc4_095931e4","updated":"2022-12-14 15:46:18.000000000","message":"Just a couple small things","commit_id":"5f2c59ab4c0cdaee4b9d33cc8aa1e80d490e7f0a"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"5b72adc72703ade714ac3141abc34db196d02a50","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ce60ab8e_2510e055","updated":"2022-10-26 16:47:59.000000000","message":"Results when using fix downstream:\n\n(overcloud) [stack@undercloud-0 tempest-dir]$ tempest run --serial --regex whitebox_tempest_plugin.api.compute.test_cpu_pinning.MixedCPUPolicyTestMultiNuma\n{0} whitebox_tempest_plugin.api.compute.test_cpu_pinning.MixedCPUPolicyTestMultiNuma.test_asymmetric_multi_numa [9.488180s] ... ok\n{0} whitebox_tempest_plugin.api.compute.test_cpu_pinning.MixedCPUPolicyTestMultiNuma.test_shared_pinned_and_unpinned_guest [7.760602s] ... ok\n{0} whitebox_tempest_plugin.api.compute.test_cpu_pinning.MixedCPUPolicyTestMultiNuma.test_symmetric_multi_numa [11.796672s] ... ok\n\n\u003d\u003d\u003d\u003d\u003d\u003d\nTotals\n\u003d\u003d\u003d\u003d\u003d\u003d\nRan: 3 tests in 29.0498 sec.\n - Passed: 3\n - Skipped: 0\n - Expected Fail: 0\n - Unexpected Success: 0\n - Failed: 0\nSum of execute time for each test: 29.0455 sec.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWorker Balance\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n - Worker 0 (3 tests) \u003d\u003e 0:00:29.049765\n","commit_id":"5f2c59ab4c0cdaee4b9d33cc8aa1e80d490e7f0a"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"878933acf1a86520ba919e43ba1517ea8d78f818","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9b23be40_849b4ca4","updated":"2022-10-26 16:41:41.000000000","message":"When applying [1] this deploys and works as expected.\n\n[1] https://review.opendev.org/c/openstack/nova/+/862687","commit_id":"5f2c59ab4c0cdaee4b9d33cc8aa1e80d490e7f0a"}],"whitebox_tempest_plugin/api/compute/numa_helper.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"77b450a366395a448f82566bc5cbc645668af414","unresolved":true,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        root \u003d self.get_server_xml(server_id)"},{"line_number":55,"context_line":"        cpuset \u003d \"\""},{"line_number":56,"context_line":"        for idx, cpu_id in enumerate(instance_cpu_ids):"},{"line_number":57,"context_line":"            xml_cpu_search \u003d \"./cputune/vcpupin[@vcpu\u003d\u0027%s\u0027]\" % cpu_id"},{"line_number":58,"context_line":"            cpus \u003d root.find(xml_cpu_search)"},{"line_number":59,"context_line":"            if idx \u003d\u003d 0:"}],"source_content_type":"text/x-python","patch_set":1,"id":"59be8c22_b0956746","line":56,"updated":"2022-12-14 15:46:18.000000000","message":"This can be made more Pythonic, I think something like the following would work:\n\n  vcpus \u003d [root.find(\"./cputune/vcpupin[@vcpu\u003d\u0027%s\u0027]\" % cpu_id)\n           for cpu_id in instance_cpu_ids]\n  cpusets \u003d [vcpu.attrib.get(\u0027cpuset\u0027) for vcpu in vcpus]\n  return hardware.parse_cpu_spec(\u0027,\u0027.join(cpusets))\n  \nThe \u0027,\u0027.join() is the magic here :)","commit_id":"5f2c59ab4c0cdaee4b9d33cc8aa1e80d490e7f0a"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"78ad7f25e008d1ed905340a00cd5fbf8c0c61ee1","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        root \u003d self.get_server_xml(server_id)"},{"line_number":55,"context_line":"        cpuset \u003d \"\""},{"line_number":56,"context_line":"        for idx, cpu_id in enumerate(instance_cpu_ids):"},{"line_number":57,"context_line":"            xml_cpu_search \u003d \"./cputune/vcpupin[@vcpu\u003d\u0027%s\u0027]\" % cpu_id"},{"line_number":58,"context_line":"            cpus \u003d root.find(xml_cpu_search)"},{"line_number":59,"context_line":"            if idx \u003d\u003d 0:"}],"source_content_type":"text/x-python","patch_set":1,"id":"55c07394_33dd6d25","line":56,"in_reply_to":"59be8c22_b0956746","updated":"2022-12-14 15:50:58.000000000","message":"Ack","commit_id":"5f2c59ab4c0cdaee4b9d33cc8aa1e80d490e7f0a"}],"whitebox_tempest_plugin/api/compute/test_cpu_pinning.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"77b450a366395a448f82566bc5cbc645668af414","unresolved":true,"context_lines":[{"line_number":1109,"context_line":"            msg \u003d \"cpu_topology in whitebox-hardware is not present\""},{"line_number":1110,"context_line":"            raise cls.skipException(msg)"},{"line_number":1111,"context_line":"        cpu_topology \u003d CONF.whitebox_hardware.cpu_topology"},{"line_number":1112,"context_line":"        if len(cpu_topology.keys()) \u003c 2:"},{"line_number":1113,"context_line":"            msg \u003d \"Need at least two or more NUMA Nodes to run tests\""},{"line_number":1114,"context_line":"            raise cls.skipException(msg)"},{"line_number":1115,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"735c432a_7be45b12","line":1112,"updated":"2022-12-14 15:46:18.000000000","message":"nit: You don\u0027t need .keys(), len(\u003cdict\u003e) does what you expect.","commit_id":"5f2c59ab4c0cdaee4b9d33cc8aa1e80d490e7f0a"},{"author":{"_account_id":31033,"name":"James Parker","email":"jparker@redhat.com","username":"jparker"},"change_message_id":"78ad7f25e008d1ed905340a00cd5fbf8c0c61ee1","unresolved":false,"context_lines":[{"line_number":1109,"context_line":"            msg \u003d \"cpu_topology in whitebox-hardware is not present\""},{"line_number":1110,"context_line":"            raise cls.skipException(msg)"},{"line_number":1111,"context_line":"        cpu_topology \u003d CONF.whitebox_hardware.cpu_topology"},{"line_number":1112,"context_line":"        if len(cpu_topology.keys()) \u003c 2:"},{"line_number":1113,"context_line":"            msg \u003d \"Need at least two or more NUMA Nodes to run tests\""},{"line_number":1114,"context_line":"            raise cls.skipException(msg)"},{"line_number":1115,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"8cb8c152_439ed06c","line":1112,"in_reply_to":"735c432a_7be45b12","updated":"2022-12-14 15:50:58.000000000","message":"Ack","commit_id":"5f2c59ab4c0cdaee4b9d33cc8aa1e80d490e7f0a"}]}
