)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"f444c8e10367abaa31c3f2236de3511942a6425a","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"trying to repo a case where vm faile to but with a mix"},{"line_number":10,"context_line":"of explict cpu and numa toplovies"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I333b3d85deed971678141307dd06545e308cf989"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"6a9f3a93_56f838fe","line":11,"updated":"2021-01-07 00:09:11.000000000","message":"FYI I have opened https://bugs.launchpad.net/nova/+bug/1910466 for this Related-Bug.","commit_id":"5d9419b6fc7b998c5f2d4b1754a527b211a72d2f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c248a7b75e94b0d921f288089fb04270b7ce030","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Sean Mooney \u003cwork@seanmooney.info\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-01-07 16:05:36 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"test numa and vcpu topologies bug: #1910466"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change repoduces bug #1910466"},{"line_number":10,"context_line":"When hw:cpu_max_[sockets|cores|threads] is configured"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"d5190b60_59418f59","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":1},"updated":"2021-01-13 16:51:35.000000000","message":"T","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c248a7b75e94b0d921f288089fb04270b7ce030","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change repoduces bug #1910466"},{"line_number":10,"context_line":"When hw:cpu_max_[sockets|cores|threads] is configured"},{"line_number":11,"context_line":"in addtion to explict numa topologies nova is currently"},{"line_number":12,"context_line":"incapable of generating the correct vcpu topology"},{"line_number":13,"context_line":"resulting in an index out of range error as we attempt"},{"line_number":14,"context_line":"to retrive the first toplogy from an empty list."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1936635b_d4a5dd06","line":11,"range":{"start_line":11,"start_character":3,"end_line":11,"end_character":10},"updated":"2021-01-13 16:51:35.000000000","message":"addition","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c248a7b75e94b0d921f288089fb04270b7ce030","unresolved":true,"context_lines":[{"line_number":13,"context_line":"resulting in an index out of range error as we attempt"},{"line_number":14,"context_line":"to retrive the first toplogy from an empty list."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This change reporduces the error via 2 new functional"},{"line_number":17,"context_line":"tests."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Related-Bug: #1910466"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"c350dbf2_fd0fb2b3","line":16,"range":{"start_line":16,"start_character":36,"end_line":16,"end_character":38},"updated":"2021-01-13 16:51:35.000000000","message":"two","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Test numa and vcpu topologies bug: #1910466"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change repoduces bug #1910466"},{"line_number":10,"context_line":"When hw:cpu_max_[sockets|cores|threads] is configured"},{"line_number":11,"context_line":"in addition to explict numa topologies nova is currently"},{"line_number":12,"context_line":"incapable of generating the correct vcpu topology"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"8bec4042_aa929b04","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":21},"updated":"2021-03-29 16:22:16.000000000","message":"reproduces","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change repoduces bug #1910466"},{"line_number":10,"context_line":"When hw:cpu_max_[sockets|cores|threads] is configured"},{"line_number":11,"context_line":"in addition to explict numa topologies nova is currently"},{"line_number":12,"context_line":"incapable of generating the correct vcpu topology"},{"line_number":13,"context_line":"resulting in an index out of range error as we attempt"},{"line_number":14,"context_line":"to retrive the first toplogy from an empty list."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"691fe198_c2a62783","line":11,"range":{"start_line":11,"start_character":15,"end_line":11,"end_character":38},"updated":"2021-03-29 16:22:16.000000000","message":"an explicit NUMA topology,","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":9,"context_line":"This change repoduces bug #1910466"},{"line_number":10,"context_line":"When hw:cpu_max_[sockets|cores|threads] is configured"},{"line_number":11,"context_line":"in addition to explict numa topologies nova is currently"},{"line_number":12,"context_line":"incapable of generating the correct vcpu topology"},{"line_number":13,"context_line":"resulting in an index out of range error as we attempt"},{"line_number":14,"context_line":"to retrive the first toplogy from an empty list."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"149c773b_19bc7ce5","line":12,"range":{"start_line":12,"start_character":36,"end_line":12,"end_character":40},"updated":"2021-03-29 16:22:16.000000000","message":"VCPU","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":11,"context_line":"in addition to explict numa topologies nova is currently"},{"line_number":12,"context_line":"incapable of generating the correct vcpu topology"},{"line_number":13,"context_line":"resulting in an index out of range error as we attempt"},{"line_number":14,"context_line":"to retrive the first toplogy from an empty list."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This change reporduces the error via two new functional"},{"line_number":17,"context_line":"tests."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"044a715b_1485c282","line":14,"range":{"start_line":14,"start_character":3,"end_line":14,"end_character":10},"updated":"2021-03-29 16:22:16.000000000","message":"retrieve","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":11,"context_line":"in addition to explict numa topologies nova is currently"},{"line_number":12,"context_line":"incapable of generating the correct vcpu topology"},{"line_number":13,"context_line":"resulting in an index out of range error as we attempt"},{"line_number":14,"context_line":"to retrive the first toplogy from an empty list."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This change reporduces the error via two new functional"},{"line_number":17,"context_line":"tests."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7d660caa_f94de12a","line":14,"range":{"start_line":14,"start_character":21,"end_line":14,"end_character":28},"updated":"2021-03-29 16:22:16.000000000","message":"topology","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":13,"context_line":"resulting in an index out of range error as we attempt"},{"line_number":14,"context_line":"to retrive the first toplogy from an empty list."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This change reporduces the error via two new functional"},{"line_number":17,"context_line":"tests."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Related-Bug: #1910466"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"85a6331b_5f1d2f5a","line":16,"range":{"start_line":16,"start_character":12,"end_line":16,"end_character":22},"updated":"2021-03-29 16:22:16.000000000","message":"reproduces","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"}],"nova/tests/functional/libvirt/test_numa_servers.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c248a7b75e94b0d921f288089fb04270b7ce030","unresolved":true,"context_lines":[{"line_number":125,"context_line":"        nodes."},{"line_number":126,"context_line":"        \"\"\""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        host_info \u003d fakelibvirt.HostInfo(cpu_nodes\u003d2, cpu_sockets\u003d1,"},{"line_number":129,"context_line":"                                         cpu_cores\u003d4, cpu_threads\u003d1,"},{"line_number":130,"context_line":"                                         kB_mem\u003d(1024 * 1024 * 16))  # GB"},{"line_number":131,"context_line":"        # create 1024 * 2 MB huge pages, and allocate the rest of the 16 GB as"}],"source_content_type":"text/x-python","patch_set":3,"id":"8c7b7b5e_2a7ab4d5","line":128,"range":{"start_line":128,"start_character":41,"end_line":128,"end_character":42},"updated":"2021-01-13 16:51:35.000000000","message":"style nit: could we avoid the hanging indent?\n\n  host_info \u003d fakelibvirt.HostInfo(\n      cpu_nodes\u003d2, cpu_sockets\u003d1, ...)","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0e6f23f2f18bfb2f8de8d362943410288e56cebe","unresolved":true,"context_lines":[{"line_number":125,"context_line":"        nodes."},{"line_number":126,"context_line":"        \"\"\""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        host_info \u003d fakelibvirt.HostInfo(cpu_nodes\u003d2, cpu_sockets\u003d1,"},{"line_number":129,"context_line":"                                         cpu_cores\u003d4, cpu_threads\u003d1,"},{"line_number":130,"context_line":"                                         kB_mem\u003d(1024 * 1024 * 16))  # GB"},{"line_number":131,"context_line":"        # create 1024 * 2 MB huge pages, and allocate the rest of the 16 GB as"}],"source_content_type":"text/x-python","patch_set":3,"id":"1d0b5fe6_b0283d89","line":128,"range":{"start_line":128,"start_character":41,"end_line":128,"end_character":42},"in_reply_to":"8c7b7b5e_2a7ab4d5","updated":"2021-03-29 19:02:19.000000000","message":"again this i not a hanning indent you keep using that term wrong but ok\nwhat you are asking for is a hanging indent.\n\ni copied test_create_server_with_numa_topology to create this which is why it has the current indentaiton so ill update that too","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c248a7b75e94b0d921f288089fb04270b7ce030","unresolved":true,"context_lines":[{"line_number":128,"context_line":"        host_info \u003d fakelibvirt.HostInfo(cpu_nodes\u003d2, cpu_sockets\u003d1,"},{"line_number":129,"context_line":"                                         cpu_cores\u003d4, cpu_threads\u003d1,"},{"line_number":130,"context_line":"                                         kB_mem\u003d(1024 * 1024 * 16))  # GB"},{"line_number":131,"context_line":"        # create 1024 * 2 MB huge pages, and allocate the rest of the 16 GB as"},{"line_number":132,"context_line":"        # small pages"},{"line_number":133,"context_line":"        for cell in host_info.numa_topology.cells:"},{"line_number":134,"context_line":"            huge_pages \u003d 1024"},{"line_number":135,"context_line":"            small_pages \u003d (host_info.kB_mem - (2048 * huge_pages)) // 4"},{"line_number":136,"context_line":"            cell.mempages \u003d fakelibvirt.create_mempages(["},{"line_number":137,"context_line":"                (4, small_pages),"},{"line_number":138,"context_line":"                (2048, huge_pages),"},{"line_number":139,"context_line":"            ])"},{"line_number":140,"context_line":"        self.start_compute(host_info\u003dhost_info, hostname\u003d\u0027compute1\u0027)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        extra_spec \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"f80a9ed0_7f77e1f8","line":139,"range":{"start_line":131,"start_character":0,"end_line":139,"end_character":14},"updated":"2021-01-13 16:51:35.000000000","message":"This doesn\u0027t seem related to the bug. Do we need this? If we do, you can create this by specifying it above when creating the \u0027HostInfo\u0027 object:\n\n  host_info \u003d fakelibvirt.HostInfo(\n      cpu_nodes\u003d2, cpu_sockets\u003d1, ...\n      mempages\u003d{\n          n: fakelibvirt.create_mempages([(4, 256000), (2048, 500)])\n          for n in range(2)\n      },\n  )","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0e6f23f2f18bfb2f8de8d362943410288e56cebe","unresolved":true,"context_lines":[{"line_number":128,"context_line":"        host_info \u003d fakelibvirt.HostInfo(cpu_nodes\u003d2, cpu_sockets\u003d1,"},{"line_number":129,"context_line":"                                         cpu_cores\u003d4, cpu_threads\u003d1,"},{"line_number":130,"context_line":"                                         kB_mem\u003d(1024 * 1024 * 16))  # GB"},{"line_number":131,"context_line":"        # create 1024 * 2 MB huge pages, and allocate the rest of the 16 GB as"},{"line_number":132,"context_line":"        # small pages"},{"line_number":133,"context_line":"        for cell in host_info.numa_topology.cells:"},{"line_number":134,"context_line":"            huge_pages \u003d 1024"},{"line_number":135,"context_line":"            small_pages \u003d (host_info.kB_mem - (2048 * huge_pages)) // 4"},{"line_number":136,"context_line":"            cell.mempages \u003d fakelibvirt.create_mempages(["},{"line_number":137,"context_line":"                (4, small_pages),"},{"line_number":138,"context_line":"                (2048, huge_pages),"},{"line_number":139,"context_line":"            ])"},{"line_number":140,"context_line":"        self.start_compute(host_info\u003dhost_info, hostname\u003d\u0027compute1\u0027)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        extra_spec \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"2386fe43_ee018c73","line":139,"range":{"start_line":131,"start_character":0,"end_line":139,"end_character":14},"in_reply_to":"f80a9ed0_7f77e1f8","updated":"2021-03-29 19:02:19.000000000","message":"i needed it to replicate teh cutomers envionment in the test but yes it could be removed if i also remove the use of hugepages in the vm\n\nthis came form  test_create_server_with_hugepages by the way.","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c248a7b75e94b0d921f288089fb04270b7ce030","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        extra_spec \u003d {"},{"line_number":143,"context_line":"            \u0027hw:numa_nodes\u0027: \u00272\u0027, \u0027hw:cpu_max_sockets\u0027: \u00272\u0027,"},{"line_number":144,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":145,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027large\u0027}"},{"line_number":146,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"},{"line_number":147,"context_line":"        self._run_build_test(flavor_id, end_status\u003d\u0027ERROR\u0027)"},{"line_number":148,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"eae47313_6361feee","line":145,"range":{"start_line":145,"start_character":42,"end_line":145,"end_character":69},"updated":"2021-01-13 16:51:35.000000000","message":"As above, is this relevant?","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0e6f23f2f18bfb2f8de8d362943410288e56cebe","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        extra_spec \u003d {"},{"line_number":143,"context_line":"            \u0027hw:numa_nodes\u0027: \u00272\u0027, \u0027hw:cpu_max_sockets\u0027: \u00272\u0027,"},{"line_number":144,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":145,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027large\u0027}"},{"line_number":146,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"},{"line_number":147,"context_line":"        self._run_build_test(flavor_id, end_status\u003d\u0027ERROR\u0027)"},{"line_number":148,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"0da94782_5dca7449","line":145,"range":{"start_line":145,"start_character":42,"end_line":145,"end_character":69},"in_reply_to":"937f252a_26d42101","updated":"2021-03-29 19:02:19.000000000","message":"although technially we should never us cpu pinning without seting hw:mem_page_size to something\nyou will get OOM issue if you dont","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0cc6c7366689e06fafe2349864e0047a9702233c","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        extra_spec \u003d {"},{"line_number":143,"context_line":"            \u0027hw:numa_nodes\u0027: \u00272\u0027, \u0027hw:cpu_max_sockets\u0027: \u00272\u0027,"},{"line_number":144,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":145,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027large\u0027}"},{"line_number":146,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"},{"line_number":147,"context_line":"        self._run_build_test(flavor_id, end_status\u003d\u0027ERROR\u0027)"},{"line_number":148,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"937f252a_26d42101","line":145,"range":{"start_line":145,"start_character":42,"end_line":145,"end_character":69},"in_reply_to":"eae47313_6361feee","updated":"2021-03-23 18:02:23.000000000","message":"i was replicating this using the flavour our customer actually had more or less","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5c73e3ac5de6669c2e57b0164ba2454c929251c2","unresolved":true,"context_lines":[{"line_number":158,"context_line":"        # self.assertEqual("},{"line_number":159,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.to_dict(),"},{"line_number":160,"context_line":"        #     inst.numa_topology.cells[1].cpu_topology.to_dict())"},{"line_number":161,"context_line":"        # FIXME(sean-k-mooney): the embedded vcputopology in the instance"},{"line_number":162,"context_line":"        # numa topology object is not correct."},{"line_number":163,"context_line":"        # self.assertLessEqual("},{"line_number":164,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.sockets, 2)"},{"line_number":165,"context_line":"        # self.assertLessEqual("},{"line_number":166,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.cores, 2)"},{"line_number":167,"context_line":"        # self.assertLessEqual("},{"line_number":168,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.threads, 8)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def test_create_server_with_numa_and_cpu_and_memory_topology(self):"},{"line_number":171,"context_line":"        \"\"\"Create a server with two NUMA nodes."}],"source_content_type":"text/x-python","patch_set":3,"id":"387cec09_dd0b16d3","line":168,"range":{"start_line":161,"start_character":0,"end_line":168,"end_character":66},"updated":"2021-01-13 17:33:17.000000000","message":"As noted on the next change, you\u0027re looking at the wrong field here. You want \u0027inst.vcpu_model.topology\u0027 if you want to see what libvirt will eventually run with","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0cc6c7366689e06fafe2349864e0047a9702233c","unresolved":true,"context_lines":[{"line_number":158,"context_line":"        # self.assertEqual("},{"line_number":159,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.to_dict(),"},{"line_number":160,"context_line":"        #     inst.numa_topology.cells[1].cpu_topology.to_dict())"},{"line_number":161,"context_line":"        # FIXME(sean-k-mooney): the embedded vcputopology in the instance"},{"line_number":162,"context_line":"        # numa topology object is not correct."},{"line_number":163,"context_line":"        # self.assertLessEqual("},{"line_number":164,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.sockets, 2)"},{"line_number":165,"context_line":"        # self.assertLessEqual("},{"line_number":166,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.cores, 2)"},{"line_number":167,"context_line":"        # self.assertLessEqual("},{"line_number":168,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.threads, 8)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def test_create_server_with_numa_and_cpu_and_memory_topology(self):"},{"line_number":171,"context_line":"        \"\"\"Create a server with two NUMA nodes."}],"source_content_type":"text/x-python","patch_set":3,"id":"29a7a628_1faf1f8a","line":168,"range":{"start_line":161,"start_character":0,"end_line":168,"end_character":66},"in_reply_to":"387cec09_dd0b16d3","updated":"2021-03-23 18:02:23.000000000","message":"yes but they should have been the same\nthe fact they are diffferent is a sperate bug.\nbut i can use the other filed.","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c248a7b75e94b0d921f288089fb04270b7ce030","unresolved":true,"context_lines":[{"line_number":185,"context_line":"            cell.mempages \u003d fakelibvirt.create_mempages(["},{"line_number":186,"context_line":"                (4, small_pages),"},{"line_number":187,"context_line":"                (2048, huge_pages),"},{"line_number":188,"context_line":"            ])"},{"line_number":189,"context_line":"        self.start_compute(host_info\u003dhost_info, hostname\u003d\u0027compute1\u0027)"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        extra_spec \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"b94e9768_641304a3","line":188,"updated":"2021-01-13 16:51:35.000000000","message":"As above","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5c73e3ac5de6669c2e57b0164ba2454c929251c2","unresolved":true,"context_lines":[{"line_number":209,"context_line":"        # self.assertEqual("},{"line_number":210,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.to_dict(),"},{"line_number":211,"context_line":"        #     inst.numa_topology.cells[1].cpu_topology.to_dict())"},{"line_number":212,"context_line":"        # FIXME(sean-k-mooney): the embedded vcputopology in the instance"},{"line_number":213,"context_line":"        # numa topology object is not correct."},{"line_number":214,"context_line":"        # self.assertLessEqual("},{"line_number":215,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.sockets, 2)"},{"line_number":216,"context_line":"        # self.assertLessEqual("},{"line_number":217,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.cores, 2)"},{"line_number":218,"context_line":"        # self.assertLessEqual("},{"line_number":219,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.threads, 8)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    def test_create_server_with_numa_fails(self):"},{"line_number":222,"context_line":"        \"\"\"Create a two NUMA node instance on a host with only one node."}],"source_content_type":"text/x-python","patch_set":3,"id":"2cc40ba4_5f36e072","line":219,"range":{"start_line":212,"start_character":0,"end_line":219,"end_character":66},"updated":"2021-01-13 17:33:17.000000000","message":"As above","commit_id":"2adfea58c6b04aa9683122ebd4c51df8bda28a5a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":120,"context_line":"        self.assertNotIn(\u0027cpu_topology\u0027, inst.numa_topology.cells[0])"},{"line_number":121,"context_line":"        self.assertNotIn(\u0027cpu_topology\u0027, inst.numa_topology.cells[1])"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def test_create_server_with_numa_and_cpu_topology(self):"},{"line_number":124,"context_line":"        \"\"\"Create a server with two NUMA nodes."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        This should pass and result in a guest NUMA topology with two NUMA"}],"source_content_type":"text/x-python","patch_set":4,"id":"357c745a_ea578351","line":123,"range":{"start_line":123,"start_character":36,"end_line":123,"end_character":40},"updated":"2021-03-29 16:22:16.000000000","message":"nit:\n\n  numa_topology_and_cpu_topology\n\nThe way this is named suggests that there\u0027s a combined CPU+NUMA topology, when in fact they\u0027re two totally separate things","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a4822717b108e708ffc4ba30ca78307ef1dab029","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        self.assertNotIn(\u0027cpu_topology\u0027, inst.numa_topology.cells[0])"},{"line_number":121,"context_line":"        self.assertNotIn(\u0027cpu_topology\u0027, inst.numa_topology.cells[1])"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def test_create_server_with_numa_and_cpu_topology(self):"},{"line_number":124,"context_line":"        \"\"\"Create a server with two NUMA nodes."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        This should pass and result in a guest NUMA topology with two NUMA"}],"source_content_type":"text/x-python","patch_set":4,"id":"bb438d16_06be849e","line":123,"range":{"start_line":123,"start_character":36,"end_line":123,"end_character":40},"in_reply_to":"357c745a_ea578351","updated":"2021-04-16 15:44:56.000000000","message":"Done","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        host_info \u003d fakelibvirt.HostInfo(cpu_nodes\u003d2, cpu_sockets\u003d1,"},{"line_number":131,"context_line":"                                         cpu_cores\u003d4, cpu_threads\u003d1,"},{"line_number":132,"context_line":"                                         kB_mem\u003d(1024 * 1024 * 16))  # GB"},{"line_number":133,"context_line":"        # create 1024 * 2 MB huge pages, and allocate the rest of the 16 GB as"},{"line_number":134,"context_line":"        # small pages"},{"line_number":135,"context_line":"        for cell in host_info.numa_topology.cells:"}],"source_content_type":"text/x-python","patch_set":4,"id":"aeefbca8_707b9e01","line":132,"updated":"2021-03-29 16:22:16.000000000","message":"You removed the hanging indent from the wrong line 😉 Can you fix this one too?","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a713192fb7682354706314d0d0949e7286e32da6","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        host_info \u003d fakelibvirt.HostInfo(cpu_nodes\u003d2, cpu_sockets\u003d1,"},{"line_number":131,"context_line":"                                         cpu_cores\u003d4, cpu_threads\u003d1,"},{"line_number":132,"context_line":"                                         kB_mem\u003d(1024 * 1024 * 16))  # GB"},{"line_number":133,"context_line":"        # create 1024 * 2 MB huge pages, and allocate the rest of the 16 GB as"},{"line_number":134,"context_line":"        # small pages"},{"line_number":135,"context_line":"        for cell in host_info.numa_topology.cells:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ab50dbc_60669030","line":132,"in_reply_to":"885a4836_d1ec2bb8","updated":"2021-03-30 11:29:55.000000000","message":"Yeah, I should have said \"massive hanging indent\" to distinguish from the non-massive hanging indent 😉","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0e6f23f2f18bfb2f8de8d362943410288e56cebe","unresolved":true,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        host_info \u003d fakelibvirt.HostInfo(cpu_nodes\u003d2, cpu_sockets\u003d1,"},{"line_number":131,"context_line":"                                         cpu_cores\u003d4, cpu_threads\u003d1,"},{"line_number":132,"context_line":"                                         kB_mem\u003d(1024 * 1024 * 16))  # GB"},{"line_number":133,"context_line":"        # create 1024 * 2 MB huge pages, and allocate the rest of the 16 GB as"},{"line_number":134,"context_line":"        # small pages"},{"line_number":135,"context_line":"        for cell in host_info.numa_topology.cells:"}],"source_content_type":"text/x-python","patch_set":4,"id":"885a4836_d1ec2bb8","line":132,"in_reply_to":"aeefbca8_707b9e01","updated":"2021-03-29 19:02:19.000000000","message":"actully i had ot do it twice i lost the first verion of this change in an interac tive rebases becasue i forgot to save the changes. but again this in not a hanging indent\n\nhttps://www.python.org/dev/peps/pep-0008/#indentation\n\n# Correct:\n\n# Aligned with opening delimiter.\nfoo \u003d long_function_name(var_one, var_two,\n                         var_three, var_four)\n\n# Add 4 spaces (an extra level of indentation) to distinguish arguments from the rest.\ndef long_function_name(\n        var_one, var_two, var_three,\n        var_four):\n    print(var_one)\n\n# Hanging indents should add a level.\nfoo \u003d long_function_name(\n    var_one, var_two,\n    var_three, var_four)\n\n\n\nthis is a hanning indent\n        host_info \u003d fakelibvirt.HostInfo(\n            cpu_nodes\u003d2, cpu_sockets\u003d1, cpu_cores\u003d2, cpu_threads\u003d2)\n\nthis is  Aligned with opening delimiter\n        host_info \u003d fakelibvirt.HostInfo(cpu_nodes\u003d2, cpu_sockets\u003d1,\n                                         cpu_cores\u003d4, cpu_threads\u003d1,\n                                         kB_mem\u003d(1024 * 1024 * 16))  # GB\n\nbut ya ill fix this when i repin too.\ni am going to keep pointing out when you misuse the term hanign indents however :)","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":138,"context_line":"            cell.mempages \u003d fakelibvirt.create_mempages(["},{"line_number":139,"context_line":"                (4, small_pages),"},{"line_number":140,"context_line":"                (2048, huge_pages),"},{"line_number":141,"context_line":"            ])"},{"line_number":142,"context_line":"        self.start_compute(host_info\u003dhost_info, hostname\u003d\u0027compute1\u0027)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        extra_spec \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"5300bc3f_6063ea99","line":141,"updated":"2021-03-29 16:22:16.000000000","message":"As noted previously, this isn\u0027t specific to hugepages so we don\u0027t need this. I know it might be more realistic but it makes the test more complicated than it necessary. Can you drop it?","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0e6f23f2f18bfb2f8de8d362943410288e56cebe","unresolved":true,"context_lines":[{"line_number":138,"context_line":"            cell.mempages \u003d fakelibvirt.create_mempages(["},{"line_number":139,"context_line":"                (4, small_pages),"},{"line_number":140,"context_line":"                (2048, huge_pages),"},{"line_number":141,"context_line":"            ])"},{"line_number":142,"context_line":"        self.start_compute(host_info\u003dhost_info, hostname\u003d\u0027compute1\u0027)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        extra_spec \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"678d2071_6eb619fd","line":141,"in_reply_to":"5300bc3f_6063ea99","updated":"2021-03-29 19:02:19.000000000","message":"again i had this removed but it was lost in the rebase...\n\nill drop this again. i tought i had fixed this before i pushed but i guess i missed it.","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a713192fb7682354706314d0d0949e7286e32da6","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            cell.mempages \u003d fakelibvirt.create_mempages(["},{"line_number":139,"context_line":"                (4, small_pages),"},{"line_number":140,"context_line":"                (2048, huge_pages),"},{"line_number":141,"context_line":"            ])"},{"line_number":142,"context_line":"        self.start_compute(host_info\u003dhost_info, hostname\u003d\u0027compute1\u0027)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        extra_spec \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"993a86ef_0774c331","line":141,"in_reply_to":"678d2071_6eb619fd","updated":"2021-03-30 11:29:55.000000000","message":"Ack","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        self.start_compute(host_info\u003dhost_info, hostname\u003d\u0027compute1\u0027)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        extra_spec \u003d {"},{"line_number":145,"context_line":"            \u0027hw:numa_nodes\u0027: \u00272\u0027, \u0027hw:cpu_max_sockets\u0027: \u00272\u0027,"},{"line_number":146,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":147,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027small\u0027}"},{"line_number":148,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"}],"source_content_type":"text/x-python","patch_set":4,"id":"c8de7cfa_3190e3a0","line":145,"updated":"2021-03-29 16:22:16.000000000","message":"Any chance we could get these on separate lines so we can visually diff what you\u0027re setting?","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f092012a74a4d5f7d07f7f08879a1c67ea9ffc0f","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        self.start_compute(host_info\u003dhost_info, hostname\u003d\u0027compute1\u0027)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        extra_spec \u003d {"},{"line_number":145,"context_line":"            \u0027hw:numa_nodes\u0027: \u00272\u0027, \u0027hw:cpu_max_sockets\u0027: \u00272\u0027,"},{"line_number":146,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":147,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027small\u0027}"},{"line_number":148,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"}],"source_content_type":"text/x-python","patch_set":4,"id":"c731a015_3e57ccfd","line":145,"in_reply_to":"a4afd761_b781a79b","updated":"2021-03-30 12:07:46.000000000","message":"so if its only 4 extra specs i guess i can live with this.\ni think doing this for all 6 would reduce readablity as you would less of the function visable.\ntoo much virtical space is activly harmful to comprehention fo the function.\nexclusively using this 1 parmater per line style activly make code worse in my view and harder to read.\nthere is a trade of here but 4 parmaters is proably about my limmit where i think that is still acceptable.","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a4822717b108e708ffc4ba30ca78307ef1dab029","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        self.start_compute(host_info\u003dhost_info, hostname\u003d\u0027compute1\u0027)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        extra_spec \u003d {"},{"line_number":145,"context_line":"            \u0027hw:numa_nodes\u0027: \u00272\u0027, \u0027hw:cpu_max_sockets\u0027: \u00272\u0027,"},{"line_number":146,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":147,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027small\u0027}"},{"line_number":148,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"}],"source_content_type":"text/x-python","patch_set":4,"id":"67ba713f_0e9f5ccd","line":145,"in_reply_to":"c731a015_3e57ccfd","updated":"2021-04-16 15:44:56.000000000","message":"Done","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0e6f23f2f18bfb2f8de8d362943410288e56cebe","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        self.start_compute(host_info\u003dhost_info, hostname\u003d\u0027compute1\u0027)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        extra_spec \u003d {"},{"line_number":145,"context_line":"            \u0027hw:numa_nodes\u0027: \u00272\u0027, \u0027hw:cpu_max_sockets\u0027: \u00272\u0027,"},{"line_number":146,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":147,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027small\u0027}"},{"line_number":148,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fb8f24f5_96e4c4d4","line":145,"in_reply_to":"c8de7cfa_3190e3a0","updated":"2021-03-29 19:02:19.000000000","message":"i could but i really hate that stype so unless your are going to -2 i wourld prefer not to.","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a713192fb7682354706314d0d0949e7286e32da6","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        self.start_compute(host_info\u003dhost_info, hostname\u003d\u0027compute1\u0027)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        extra_spec \u003d {"},{"line_number":145,"context_line":"            \u0027hw:numa_nodes\u0027: \u00272\u0027, \u0027hw:cpu_max_sockets\u0027: \u00272\u0027,"},{"line_number":146,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":147,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027small\u0027}"},{"line_number":148,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"}],"source_content_type":"text/x-python","patch_set":4,"id":"a4afd761_b781a79b","line":145,"in_reply_to":"fb8f24f5_96e4c4d4","updated":"2021-03-30 11:29:55.000000000","message":"I\u0027m not, but to me doing this\n\n  \u0027hw:cpu_max_sockets\u0027: \u00272\u0027,\n  \u0027hw:cpu_max_cores\u0027: \u00272\u0027,\n  \u0027hw:cpu_max_threads\u0027: \u00278\u0027,\n\nmakes it somewhat easier to figure out what you\u0027re requesting. Whitespace is a good thing when used appropriately","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":144,"context_line":"        extra_spec \u003d {"},{"line_number":145,"context_line":"            \u0027hw:numa_nodes\u0027: \u00272\u0027, \u0027hw:cpu_max_sockets\u0027: \u00272\u0027,"},{"line_number":146,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":147,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027small\u0027}"},{"line_number":148,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"},{"line_number":149,"context_line":"        self._run_build_test(flavor_id, end_status\u003d\u0027ERROR\u0027)"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"aabdd3ff_d148a5cd","line":147,"range":{"start_line":147,"start_character":12,"end_line":147,"end_character":70},"updated":"2021-03-29 16:22:16.000000000","message":"The important extra specs here are the explicit NUMA topology and the CPU topology knobs meaning both of these are unnecessary, right? Can you drop them?","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a713192fb7682354706314d0d0949e7286e32da6","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        extra_spec \u003d {"},{"line_number":145,"context_line":"            \u0027hw:numa_nodes\u0027: \u00272\u0027, \u0027hw:cpu_max_sockets\u0027: \u00272\u0027,"},{"line_number":146,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":147,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027small\u0027}"},{"line_number":148,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"},{"line_number":149,"context_line":"        self._run_build_test(flavor_id, end_status\u003d\u0027ERROR\u0027)"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"f77e8649_b755a2e1","line":147,"range":{"start_line":147,"start_character":12,"end_line":147,"end_character":70},"in_reply_to":"60736cf6_c89feaf8","updated":"2021-03-30 11:29:55.000000000","message":"Ack","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0e6f23f2f18bfb2f8de8d362943410288e56cebe","unresolved":true,"context_lines":[{"line_number":144,"context_line":"        extra_spec \u003d {"},{"line_number":145,"context_line":"            \u0027hw:numa_nodes\u0027: \u00272\u0027, \u0027hw:cpu_max_sockets\u0027: \u00272\u0027,"},{"line_number":146,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":147,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027small\u0027}"},{"line_number":148,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"},{"line_number":149,"context_line":"        self._run_build_test(flavor_id, end_status\u003d\u0027ERROR\u0027)"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"60736cf6_c89feaf8","line":147,"range":{"start_line":147,"start_character":12,"end_line":147,"end_character":70},"in_reply_to":"aabdd3ff_d148a5cd","updated":"2021-03-29 19:02:19.000000000","message":"actully yes i could remote both togetter but if you have \nhw:cpu_policy\u0027: \u0027dedicated\u0027 then you shoudl have hw:mem_page_size set to something.","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":157,"context_line":"        # self.assertEqual(2, len(inst.numa_topology.cells))"},{"line_number":158,"context_line":"        # self.assertEqual("},{"line_number":159,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.to_dict(),"},{"line_number":160,"context_line":"        #     inst.numa_topology.cells[1].cpu_topology.to_dict())"},{"line_number":161,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.sockets, 2)"},{"line_number":162,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.cores, 2)"},{"line_number":163,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.threads, 8)"}],"source_content_type":"text/x-python","patch_set":4,"id":"845923a6_9d0c7d95","line":160,"updated":"2021-03-29 16:22:16.000000000","message":"Can you drop this test? As noted in the previous PS, things don\u0027t work this way. I see you\u0027ve removed it in the following patch but you forgot to do it here.","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a713192fb7682354706314d0d0949e7286e32da6","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        # self.assertEqual(2, len(inst.numa_topology.cells))"},{"line_number":158,"context_line":"        # self.assertEqual("},{"line_number":159,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.to_dict(),"},{"line_number":160,"context_line":"        #     inst.numa_topology.cells[1].cpu_topology.to_dict())"},{"line_number":161,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.sockets, 2)"},{"line_number":162,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.cores, 2)"},{"line_number":163,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.threads, 8)"}],"source_content_type":"text/x-python","patch_set":4,"id":"cf319b08_0dc08f55","line":160,"in_reply_to":"018bb417_a38faa34","updated":"2021-03-30 11:29:55.000000000","message":"Ack","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0e6f23f2f18bfb2f8de8d362943410288e56cebe","unresolved":true,"context_lines":[{"line_number":157,"context_line":"        # self.assertEqual(2, len(inst.numa_topology.cells))"},{"line_number":158,"context_line":"        # self.assertEqual("},{"line_number":159,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.to_dict(),"},{"line_number":160,"context_line":"        #     inst.numa_topology.cells[1].cpu_topology.to_dict())"},{"line_number":161,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.sockets, 2)"},{"line_number":162,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.cores, 2)"},{"line_number":163,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.threads, 8)"}],"source_content_type":"text/x-python","patch_set":4,"id":"018bb417_a38faa34","line":160,"in_reply_to":"845923a6_9d0c7d95","updated":"2021-03-29 19:02:19.000000000","message":"ya it was ment to be here again my interactive rebase got messed up so it looks like some of the change are in the wong place i had to do everything form scract again when i was about to push. looks like i mess it up in the reush to get it done.","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":162,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.cores, 2)"},{"line_number":163,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.threads, 8)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        # FIXME(sean-k-mooney): the embedded vcputopology in the instance"},{"line_number":166,"context_line":"        # numa topology object is not correct."},{"line_number":167,"context_line":"        # self.assertEqual("},{"line_number":168,"context_line":"        #     inst.vcpu_model.topology.sockets,"}],"source_content_type":"text/x-python","patch_set":4,"id":"053c67b8_0d3e7feb","line":165,"updated":"2021-03-29 16:22:16.000000000","message":"Ditto for all the below","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a4822717b108e708ffc4ba30ca78307ef1dab029","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.cores, 2)"},{"line_number":163,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.threads, 8)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        # FIXME(sean-k-mooney): the embedded vcputopology in the instance"},{"line_number":166,"context_line":"        # numa topology object is not correct."},{"line_number":167,"context_line":"        # self.assertEqual("},{"line_number":168,"context_line":"        #     inst.vcpu_model.topology.sockets,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fb56b823_dbe502a1","line":165,"in_reply_to":"053c67b8_0d3e7feb","updated":"2021-04-16 15:44:56.000000000","message":"Done","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":174,"context_line":"        #     inst.vcpu_model.topology.threads,"},{"line_number":175,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.threads)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def test_create_server_with_numa_and_cpu_and_memory_topology(self):"},{"line_number":178,"context_line":"        \"\"\"Create a server with two NUMA nodes."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        This should pass and result in a guest NUMA topology with two NUMA"}],"source_content_type":"text/x-python","patch_set":4,"id":"18d42f0a_03d87259","line":177,"updated":"2021-03-29 16:22:16.000000000","message":"I\u0027m not sure about this. Is it really relevant? The bug is caused by the interplay of the NUMA topology and the CPU topology. Whether that NUMA topology is implicit or explicit is irrelevant. Perhaps we could just drop this test altogether?","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0e6f23f2f18bfb2f8de8d362943410288e56cebe","unresolved":true,"context_lines":[{"line_number":174,"context_line":"        #     inst.vcpu_model.topology.threads,"},{"line_number":175,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.threads)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def test_create_server_with_numa_and_cpu_and_memory_topology(self):"},{"line_number":178,"context_line":"        \"\"\"Create a server with two NUMA nodes."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        This should pass and result in a guest NUMA topology with two NUMA"}],"source_content_type":"text/x-python","patch_set":4,"id":"50fefa3a_da232875","line":177,"in_reply_to":"18d42f0a_03d87259","updated":"2021-03-29 19:02:19.000000000","message":"ya i can remove this. the first test is enough","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a4822717b108e708ffc4ba30ca78307ef1dab029","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        #     inst.vcpu_model.topology.threads,"},{"line_number":175,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.threads)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def test_create_server_with_numa_and_cpu_and_memory_topology(self):"},{"line_number":178,"context_line":"        \"\"\"Create a server with two NUMA nodes."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        This should pass and result in a guest NUMA topology with two NUMA"}],"source_content_type":"text/x-python","patch_set":4,"id":"25120c4a_1ba60d46","line":177,"in_reply_to":"50fefa3a_da232875","updated":"2021-04-16 15:44:56.000000000","message":"Done","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":192,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":193,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027small\u0027,"},{"line_number":194,"context_line":"            \u0027hw:numa_cpus.0\u0027: \u00270,1,2,3\u0027, \u0027hw:numa_cpus.1\u0027: \u00274,5,6,7\u0027,"},{"line_number":195,"context_line":"            \u0027hw:numa_mem.0\u0027: \u00271024\u0027, \u0027hw:numa_mem.1\u0027: \u00271024\u0027}"},{"line_number":196,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"},{"line_number":197,"context_line":"        self._run_build_test(flavor_id, end_status\u003d\u0027ERROR\u0027)"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"aded1d72_78c2890c","line":195,"updated":"2021-03-29 16:22:16.000000000","message":"ditto (separate lines) and drop \u0027hw:cpu_policy\u0027 and \u0027hw:mem_page_size\u0027","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a4822717b108e708ffc4ba30ca78307ef1dab029","unresolved":false,"context_lines":[{"line_number":192,"context_line":"            \u0027hw:cpu_max_cores\u0027: \u00272\u0027, \u0027hw:cpu_max_threads\u0027: \u00278\u0027,"},{"line_number":193,"context_line":"            \u0027hw:cpu_policy\u0027: \u0027dedicated\u0027, \u0027hw:mem_page_size\u0027: \u0027small\u0027,"},{"line_number":194,"context_line":"            \u0027hw:numa_cpus.0\u0027: \u00270,1,2,3\u0027, \u0027hw:numa_cpus.1\u0027: \u00274,5,6,7\u0027,"},{"line_number":195,"context_line":"            \u0027hw:numa_mem.0\u0027: \u00271024\u0027, \u0027hw:numa_mem.1\u0027: \u00271024\u0027}"},{"line_number":196,"context_line":"        flavor_id \u003d self._create_flavor(vcpu\u003d8, extra_spec\u003dextra_spec)"},{"line_number":197,"context_line":"        self._run_build_test(flavor_id, end_status\u003d\u0027ERROR\u0027)"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"6fb5430c_bfe340f8","line":195,"in_reply_to":"aded1d72_78c2890c","updated":"2021-04-16 15:44:56.000000000","message":"Done","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":205,"context_line":"        # self.assertEqual(2, len(inst.numa_topology.cells))"},{"line_number":206,"context_line":"        # self.assertEqual("},{"line_number":207,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.to_dict(),"},{"line_number":208,"context_line":"        #     inst.numa_topology.cells[1].cpu_topology.to_dict())"},{"line_number":209,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.sockets, 2)"},{"line_number":210,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.cores, 2)"},{"line_number":211,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.threads, 8)"}],"source_content_type":"text/x-python","patch_set":4,"id":"535446e2_45743751","line":208,"updated":"2021-03-29 16:22:16.000000000","message":"Ditto","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a4822717b108e708ffc4ba30ca78307ef1dab029","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        # self.assertEqual(2, len(inst.numa_topology.cells))"},{"line_number":206,"context_line":"        # self.assertEqual("},{"line_number":207,"context_line":"        #     inst.numa_topology.cells[0].cpu_topology.to_dict(),"},{"line_number":208,"context_line":"        #     inst.numa_topology.cells[1].cpu_topology.to_dict())"},{"line_number":209,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.sockets, 2)"},{"line_number":210,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.cores, 2)"},{"line_number":211,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.threads, 8)"}],"source_content_type":"text/x-python","patch_set":4,"id":"4dd5c7c6_e1db826a","line":208,"in_reply_to":"535446e2_45743751","updated":"2021-04-16 15:44:56.000000000","message":"Done","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b23e8b11af5c05b8b1d6238c133915316affb5c1","unresolved":true,"context_lines":[{"line_number":210,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.cores, 2)"},{"line_number":211,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.threads, 8)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        # FIXME(sean-k-mooney): the embedded vcputopology in the instance"},{"line_number":214,"context_line":"        # numa topology object is not correct."},{"line_number":215,"context_line":"        # self.assertEqual("},{"line_number":216,"context_line":"        #     inst.vcpu_model.topology.sockets,"}],"source_content_type":"text/x-python","patch_set":4,"id":"e35ef59a_c06687e3","line":213,"updated":"2021-03-29 16:22:16.000000000","message":"Ditto","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a4822717b108e708ffc4ba30ca78307ef1dab029","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.cores, 2)"},{"line_number":211,"context_line":"        # self.assertLessEqual(inst.vcpu_model.topology.threads, 8)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        # FIXME(sean-k-mooney): the embedded vcputopology in the instance"},{"line_number":214,"context_line":"        # numa topology object is not correct."},{"line_number":215,"context_line":"        # self.assertEqual("},{"line_number":216,"context_line":"        #     inst.vcpu_model.topology.sockets,"}],"source_content_type":"text/x-python","patch_set":4,"id":"155d8d4b_b2df762b","line":213,"in_reply_to":"e35ef59a_c06687e3","updated":"2021-04-16 15:44:56.000000000","message":"Done","commit_id":"feeb053b5fa59b590b84ec4ce75882635364b166"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"19a49eabbeea13c3446f3b4bf68b4da95538d2b6","unresolved":true,"context_lines":[{"line_number":104,"context_line":"        \"\"\""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        host_info \u003d fakelibvirt.HostInfo("},{"line_number":107,"context_line":"            cpu_nodes\u003d2, cpu_sockets\u003d1, cpu_cores\u003d2, cpu_threads\u003d2)"},{"line_number":108,"context_line":"        self.start_compute(host_info\u003dhost_info, hostname\u003d\u0027compute1\u0027)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        extra_spec \u003d {\u0027hw:numa_nodes\u0027: \u00272\u0027}"}],"source_content_type":"text/x-python","patch_set":6,"id":"04c2a81f_2712da55","line":107,"updated":"2021-06-21 13:18:27.000000000","message":"unrelated change","commit_id":"fe25fa13e0572aafb62b28bf7fa843a1860e5010"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"19a49eabbeea13c3446f3b4bf68b4da95538d2b6","unresolved":true,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def test_create_server_with_numa_topology_and_cpu_topology_and_pinning("},{"line_number":123,"context_line":"            self):"},{"line_number":124,"context_line":"        \"\"\"Create a server with two NUMA nodes."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        This should pass and result in a guest NUMA topology with two NUMA"},{"line_number":127,"context_line":"        nodes, pinned cpus and numa affined memory."}],"source_content_type":"text/x-python","patch_set":6,"id":"e28604fa_00a4b042","line":124,"updated":"2021-06-21 13:18:27.000000000","message":"nit: you\u0027re asking for more than just NUMA nodes.","commit_id":"fe25fa13e0572aafb62b28bf7fa843a1860e5010"}]}
