)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"e0453ced501f173c679a3398313689c7214a15f2","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"disable cpu pinning with libvirt/qemu driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since NUMA Topology feature has been now supported for libvirt/qemu"},{"line_number":10,"context_line":"driver, NUMATopologyFilter included those hypervisors with the driver."},{"line_number":11,"context_line":"However, we should exclude those hypervisors when pinning features are"},{"line_number":12,"context_line":"explicitly specified by users."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa0c359_c39a6112","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":70},"updated":"2018-02-13 21:33:09.000000000","message":"I read this five times and I\u0027m still not sure what you mean :) Could you rephrase this please?","commit_id":"2847035f2b83098bb05e73693539c0f66a397d4e"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"d8231b0b9009053bb9ad09c507677d744d831bbd","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"disable cpu pinning with libvirt/qemu driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since NUMA Topology feature has been now supported for libvirt/qemu"},{"line_number":10,"context_line":"driver, NUMATopologyFilter included those hypervisors with the driver."},{"line_number":11,"context_line":"However, we should exclude those hypervisors when pinning features are"},{"line_number":12,"context_line":"explicitly specified by users."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa0c359_547262e5","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":70},"in_reply_to":"3fa0c359_c39a6112","updated":"2018-02-15 05:36:42.000000000","message":"Indeed, I changed my words.","commit_id":"2847035f2b83098bb05e73693539c0f66a397d4e"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"2433ee539e9f5d6b6fadf9607001ceb6c98dc2b7","unresolved":false,"context_lines":[{"line_number":10,"context_line":"However, QEMU hypervisor (i.e. QEMU TCG backend) doesn\u0027t yet support"},{"line_number":11,"context_line":"cpu pinning features."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Since the cpu pinning feature is supported only for KVM backend,"},{"line_number":14,"context_line":"we should exclude hypervisors other than KVM when cpu pinning"},{"line_number":15,"context_line":"features are explicitly specified by users."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3fa0c359_bb580331","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":64},"updated":"2018-02-20 19:44:21.000000000","message":"Hyper-V also seems to support the cpu pinning according to https://github.com/openstack/nova/blob/master/doc/source/admin/cpu-topologies.rst#customizing-instance-numa-placement-policies\n\n The functionality described below is currently only supported by the libvirt/KVM and Hyper-V driver.\n\nIs that invalid?","commit_id":"082dbe2b0d6ddcde08ac01bdf49108c40182d955"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"3f18bcf80c4697bbf93d05ffcb8def404769d5eb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"However, QEMU hypervisor (i.e. QEMU TCG backend) doesn\u0027t yet support"},{"line_number":11,"context_line":"cpu pinning features."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Since the cpu pinning feature is supported only for KVM backend,"},{"line_number":14,"context_line":"we should exclude hypervisors other than KVM when cpu pinning"},{"line_number":15,"context_line":"features are explicitly specified by users."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3fa0c359_072c3500","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":64},"in_reply_to":"3fa0c359_bb580331","updated":"2018-02-21 01:37:08.000000000","message":"Not valid. Hyper-V supports only NUMA placement policies.\nIt doesn\u0027t support cpu pinning policies [1].\n\n[1] https://docs.openstack.org/nova/latest/admin/cpu-topologies.html#customizing-instance-cpu-pinning-policies","commit_id":"082dbe2b0d6ddcde08ac01bdf49108c40182d955"}],"nova/scheduler/filters/numa_topology_filter.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"e0453ced501f173c679a3398313689c7214a15f2","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        if fields.CPUAllocationPolicy.DEDICATED not in cpu_policy:"},{"line_number":46,"context_line":"            return True"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        # if CPUAllocaitonPolicy is dedicated, other than libvirt/kvm backend"},{"line_number":49,"context_line":"        # hypervisor should be excluded here."},{"line_number":50,"context_line":"        support_hv_types \u003d [x[1] for x in host_state.supported_instances]"},{"line_number":51,"context_line":"        if fields.HVType.KVM not in support_hv_types:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_e390bdef","line":48,"range":{"start_line":48,"start_character":16,"end_line":48,"end_character":26},"updated":"2018-02-13 21:33:09.000000000","message":"Allocation","commit_id":"2847035f2b83098bb05e73693539c0f66a397d4e"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"d8231b0b9009053bb9ad09c507677d744d831bbd","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        if fields.CPUAllocationPolicy.DEDICATED not in cpu_policy:"},{"line_number":46,"context_line":"            return True"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        # if CPUAllocaitonPolicy is dedicated, other than libvirt/kvm backend"},{"line_number":49,"context_line":"        # hypervisor should be excluded here."},{"line_number":50,"context_line":"        support_hv_types \u003d [x[1] for x in host_state.supported_instances]"},{"line_number":51,"context_line":"        if fields.HVType.KVM not in support_hv_types:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_347556cd","line":48,"range":{"start_line":48,"start_character":16,"end_line":48,"end_character":26},"in_reply_to":"3fa0c359_e390bdef","updated":"2018-02-15 05:36:42.000000000","message":"Done","commit_id":"2847035f2b83098bb05e73693539c0f66a397d4e"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"17bea12e059874e291ea2a99033b6c4fe04d65b1","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            return True"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        # if CPUAllocationPolicy is dedicated, other than libvirt/kvm backend"},{"line_number":49,"context_line":"        # hypervisor should be excluded here."},{"line_number":50,"context_line":"        support_hv_types \u003d [x[1] for x in host_state.supported_instances]"},{"line_number":51,"context_line":"        if fields.HVType.KVM not in support_hv_types:"},{"line_number":52,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_bcf797d3","line":49,"range":{"start_line":49,"start_character":44,"end_line":49,"end_character":45},"updated":"2018-05-10 20:42:33.000000000","message":"nit: nice to add\n\n because the vCPU pinning feature is supported only for\n libvirt/kvm backend.","commit_id":"0488e7f751a33b705ee1b50181724a244dc056bc"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"cf4b0a7c41cd0a69d23e4b9bcda707df889cafd9","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        # if CPUAllocationPolicy is dedicated, other than libvirt/kvm backend"},{"line_number":49,"context_line":"        # hypervisor should be excluded here."},{"line_number":50,"context_line":"        support_hv_types \u003d [x[1] for x in host_state.supported_instances]"},{"line_number":51,"context_line":"        if fields.HVType.KVM not in support_hv_types:"},{"line_number":52,"context_line":"            return False"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        if fields.CPUThreadAllocationPolicy.REQUIRE not in cpu_thread_policy:"},{"line_number":55,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_bc7b8979","line":52,"range":{"start_line":50,"start_character":0,"end_line":52,"end_character":24},"updated":"2018-06-05 08:14:42.000000000","message":"I don\u0027t think you can do that here, Ken\u0027ichi was right, hyperv is using NUMA topology. I think the problem is on the method itself, we always go through it.","commit_id":"0488e7f751a33b705ee1b50181724a244dc056bc"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"16ebe98e9e4a8937acb92ac0483394b798b2ae7c","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        # if CPUAllocationPolicy is dedicated, other than libvirt/kvm backend"},{"line_number":49,"context_line":"        # hypervisor should be excluded here."},{"line_number":50,"context_line":"        support_hv_types \u003d [x[1] for x in host_state.supported_instances]"},{"line_number":51,"context_line":"        if fields.HVType.KVM not in support_hv_types:"},{"line_number":52,"context_line":"            return False"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        if fields.CPUThreadAllocationPolicy.REQUIRE not in cpu_thread_policy:"},{"line_number":55,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_b10c07ed","line":52,"range":{"start_line":50,"start_character":0,"end_line":52,"end_character":24},"in_reply_to":"5f7c97a3_3619cd21","updated":"2018-06-05 16:06:47.000000000","message":"Hum.. Yes, I\u0027m bit confused with the whole purpose of that method. if we don\u0027t have host_topology we return True and if we don\u0027t ask for a CPU policy we also return True as-well and now if hypervisor is not KVM we return False... It would be great if we can rearrange the algorithm.\n\nExcept of that you are right.","commit_id":"0488e7f751a33b705ee1b50181724a244dc056bc"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"b381acd4e867d7357978a0294fc20123cecaccaf","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        # if CPUAllocationPolicy is dedicated, other than libvirt/kvm backend"},{"line_number":49,"context_line":"        # hypervisor should be excluded here."},{"line_number":50,"context_line":"        support_hv_types \u003d [x[1] for x in host_state.supported_instances]"},{"line_number":51,"context_line":"        if fields.HVType.KVM not in support_hv_types:"},{"line_number":52,"context_line":"            return False"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        if fields.CPUThreadAllocationPolicy.REQUIRE not in cpu_thread_policy:"},{"line_number":55,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_3619cd21","line":52,"range":{"start_line":50,"start_character":0,"end_line":52,"end_character":24},"in_reply_to":"5f7c97a3_bc7b8979","updated":"2018-06-05 15:26:41.000000000","message":"I\u0027m not catching up with you. If a user doesn\u0027t specify dedicated policy, we don\u0027t reach here because of L45. We don\u0027t always go through this method.","commit_id":"0488e7f751a33b705ee1b50181724a244dc056bc"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"cf4b0a7c41cd0a69d23e4b9bcda707df889cafd9","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        if pci_requests:"},{"line_number":86,"context_line":"            pci_requests \u003d pci_requests.requests"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        if not self._satisfies_cpu_policy(host_state, extra_specs,"},{"line_number":89,"context_line":"                                          image_props):"},{"line_number":90,"context_line":"            return False"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        if requested_topology and host_topology:"},{"line_number":93,"context_line":"            limits \u003d objects.NUMATopologyLimits("}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_3c61b9d4","line":90,"range":{"start_line":88,"start_character":0,"end_line":90,"end_character":24},"updated":"2018-06-05 08:14:42.000000000","message":"I have difficulty to to understand that method. This looks to check two things, whether the host has host topology and hyper-threading activated + whether user is requesting some CPU pinning features.\n\nBut that does not look right, what about user just ask for a numa topology?","commit_id":"0488e7f751a33b705ee1b50181724a244dc056bc"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"b381acd4e867d7357978a0294fc20123cecaccaf","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        if pci_requests:"},{"line_number":86,"context_line":"            pci_requests \u003d pci_requests.requests"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        if not self._satisfies_cpu_policy(host_state, extra_specs,"},{"line_number":89,"context_line":"                                          image_props):"},{"line_number":90,"context_line":"            return False"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        if requested_topology and host_topology:"},{"line_number":93,"context_line":"            limits \u003d objects.NUMATopologyLimits("}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_b63e3d89","line":90,"range":{"start_line":88,"start_character":0,"end_line":90,"end_character":24},"in_reply_to":"5f7c97a3_3c61b9d4","updated":"2018-06-05 15:26:41.000000000","message":"Not sure what you are asking for. In that case the method just returns True according to @L45. Does that answer your question?","commit_id":"0488e7f751a33b705ee1b50181724a244dc056bc"}],"nova/tests/unit/scheduler/filters/test_numa_topology_filters.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"16ebe98e9e4a8937acb92ac0483394b798b2ae7c","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def test_numa_topology_filter_pass_cpu_thread_policy_others(self):"},{"line_number":194,"context_line":"        cpu_policy \u003d fields.CPUAllocationPolicy.DEDICATED"},{"line_number":195,"context_line":"        cpu_thread_policy \u003d fields.CPUThreadAllocationPolicy.PREFER"},{"line_number":196,"context_line":"        numa_topology \u003d fakes.NUMA_TOPOLOGY"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"        for cpu_thread_policy in ["}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_91e1cbff","side":"PARENT","line":195,"updated":"2018-06-05 16:06:47.000000000","message":"Sorry if you have already discussed of that - Why did you have updated that test, it does not seem to be related to your change, right?","commit_id":"01361aef6a338560b85463ddf72caee0b651c1d9"}]}
