)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9548aae9d6626ac225120c6b1139a65e8195e4b4","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"do not set vcpu_pin elements when virt_type\u003dqemu"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- This change refactors the libvirt numa topology"},{"line_number":10,"context_line":"  xml generation into sub functions to confrom"},{"line_number":11,"context_line":"  to pep8."},{"line_number":12,"context_line":"- This change disables generation of vcpupin"},{"line_number":13,"context_line":"  and emulatorpin elements when generating"},{"line_number":14,"context_line":"  numa config elements for a libvirt guest."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff0f0b1f_4ba84176","line":11,"range":{"start_line":9,"start_character":2,"end_line":11,"end_character":10},"updated":"2017-05-26 16:01:37.000000000","message":"Do this in a separate patch, because I can\u0027t tell where the fix is when you have this large refactor.","commit_id":"67f5ee9934d6573a2b29c546c48c217388333e1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9548aae9d6626ac225120c6b1139a65e8195e4b4","unresolved":false,"context_lines":[{"line_number":9,"context_line":"- This change refactors the libvirt numa topology"},{"line_number":10,"context_line":"  xml generation into sub functions to confrom"},{"line_number":11,"context_line":"  to pep8."},{"line_number":12,"context_line":"- This change disables generation of vcpupin"},{"line_number":13,"context_line":"  and emulatorpin elements when generating"},{"line_number":14,"context_line":"  numa config elements for a libvirt guest."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff0f0b1f_2bb74ddb","line":12,"updated":"2017-05-26 16:01:37.000000000","message":"You need a test for this.","commit_id":"67f5ee9934d6573a2b29c546c48c217388333e1c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"6627f197d949f31daaa304a56b2c2b248a2ca605","unresolved":false,"context_lines":[{"line_number":16,"context_line":"As cpu pinning and hugepages both rely on NUMA topology,"},{"line_number":17,"context_line":"they will also be disabled by this change."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Partial-Bug: #1691178"},{"line_number":20,"context_line":"Co-Authored-By: Tetsuro Nakamura"},{"line_number":21,"context_line":"Change-Id: I000bbb64cacbf2298179e2b9888a1808d514fbec"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7f287b81_771077a9","line":19,"updated":"2017-09-05 07:37:07.000000000","message":"This change is closing the bug","commit_id":"2a547f1fc90c5f263adc33dab00551e8e69d930c"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"534d8f54a42727776fd5420c201e81b76eda23b8","unresolved":false,"context_lines":[{"line_number":16,"context_line":"As cpu pinning and hugepages both rely on NUMA topology,"},{"line_number":17,"context_line":"they will also be disabled by this change."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Partial-Bug: #1691178"},{"line_number":20,"context_line":"Co-Authored-By: Tetsuro Nakamura"},{"line_number":21,"context_line":"Change-Id: I000bbb64cacbf2298179e2b9888a1808d514fbec"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7f287b81_3dcbeda5","line":19,"in_reply_to":"7f287b81_771077a9","updated":"2017-09-05 10:35:14.000000000","message":"Done","commit_id":"2a547f1fc90c5f263adc33dab00551e8e69d930c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6fa7d90a541cb28b30a65d95270c11d7c04f6f61","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"disable numa feature when virt_type is not kvm"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently we only do support NUMA Topology for KVM."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This patch change explicitly raises NUMATopologyUnsupported error"},{"line_number":12,"context_line":"when numa feature is used where virt_type is not set to kvm."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"ff82abbf_d361abd5","line":9,"range":{"start_line":9,"start_character":18,"end_line":9,"end_character":21},"updated":"2017-11-30 18:16:02.000000000","message":"nix","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"66169b760ce2d2291b9ea807d653a30f5bc32e5e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"disable numa feature when virt_type is not kvm"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently we only do support NUMA Topology for KVM."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This patch change explicitly raises NUMATopologyUnsupported error"},{"line_number":12,"context_line":"when numa feature is used where virt_type is not set to kvm."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"df87a7cf_8e32680f","line":9,"range":{"start_line":9,"start_character":18,"end_line":9,"end_character":21},"in_reply_to":"ff82abbf_d361abd5","updated":"2017-12-11 01:02:25.000000000","message":"Done","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b3dbd071204e27c7a840b4458149626cb4918ee0","unresolved":false,"context_lines":[{"line_number":4023,"context_line":"                # how to associate IO threads with guest devices to eliminate"},{"line_number":4024,"context_line":"                # cross NUMA node traffic. This is an area of investigation"},{"line_number":4025,"context_line":"                # for QEMU community devs."},{"line_number":4026,"context_line":"                if(CONF.libvirt.virt_type !\u003d \"qemu\"):"},{"line_number":4027,"context_line":"                    self._set_emulatorpin(emupcpus, guest_cpu_tune)"},{"line_number":4028,"context_line":"                    self._sort_vcpupin(guest_cpu_tune)"},{"line_number":4029,"context_line":"                guest_numa_tune.memory \u003d numa_mem"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_8073b3b1","line":4026,"updated":"2017-05-31 08:42:36.000000000","message":"Don\u0027t we want to raise an error if user specifically requesting a pinning where virt_type\u003dqemu? For the emulator threads I think we are OK we should consider whether user is requesting a \u0027isolate_emulator_threads\u0027","commit_id":"67f5ee9934d6573a2b29c546c48c217388333e1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f3eba4f6d2b2db4dec1c7323e2a0ffa92e311805","unresolved":false,"context_lines":[{"line_number":4082,"context_line":"               will be None."},{"line_number":4083,"context_line":"        \"\"\""},{"line_number":4084,"context_line":""},{"line_number":4085,"context_line":"        if (not self._has_numa_support() and"},{"line_number":4086,"context_line":"                instance_numa_topology is not None):"},{"line_number":4087,"context_line":"            # We should not get here, since we should have avoided"},{"line_number":4088,"context_line":"            # reporting NUMA topology from _get_host_numa_topology"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_8fdf550b","line":4085,"range":{"start_line":4085,"start_character":21,"end_line":4085,"end_character":38},"updated":"2017-09-04 15:22:13.000000000","message":"So I _think_ what sahid is saying is that the check should actually go in here. CPU pinning and hugepages both rely on NUMA topology, so they will be implicitly disabled by this","commit_id":"5d455a03bbe3bfbde8d308c4ce4393c9e34ba1cc"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"6627f197d949f31daaa304a56b2c2b248a2ca605","unresolved":false,"context_lines":[{"line_number":5592,"context_line":"                return False"},{"line_number":5593,"context_line":""},{"line_number":5594,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \"qemu\":"},{"line_number":5595,"context_line":"            LOG.warning(\u0027virt_type \u003d qemu does not support NUMA topology\u0027)"},{"line_number":5596,"context_line":"            return False"},{"line_number":5597,"context_line":""},{"line_number":5598,"context_line":"        caps \u003d self._host.get_capabilities()"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_17da5316","line":5595,"updated":"2017-09-05 07:37:07.000000000","message":"You can\u0027t have this log here. That method is called periodically to compute host resources, you are going to spam operators. Actually no need of log, the NUMATopologyUnsupported exception to users is enough.\n\nAlso I would say no need to check the version of libvirt you can put that condition at the beginning of the method.","commit_id":"2a547f1fc90c5f263adc33dab00551e8e69d930c"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"534d8f54a42727776fd5420c201e81b76eda23b8","unresolved":false,"context_lines":[{"line_number":5592,"context_line":"                return False"},{"line_number":5593,"context_line":""},{"line_number":5594,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \"qemu\":"},{"line_number":5595,"context_line":"            LOG.warning(\u0027virt_type \u003d qemu does not support NUMA topology\u0027)"},{"line_number":5596,"context_line":"            return False"},{"line_number":5597,"context_line":""},{"line_number":5598,"context_line":"        caps \u003d self._host.get_capabilities()"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_3d408d07","line":5595,"in_reply_to":"7f287b81_17da5316","updated":"2017-09-05 10:35:14.000000000","message":"Good to know. Thank you.\nDone.","commit_id":"2a547f1fc90c5f263adc33dab00551e8e69d930c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"1f5ce01c3421413cfa5a2d2a0c72d5d9ecb680bd","unresolved":false,"context_lines":[{"line_number":5581,"context_line":"        # This means that the host can support LibvirtConfigGuestNUMATune"},{"line_number":5582,"context_line":"        # and the nodeset field in LibvirtConfigGuestMemoryBackingPage"},{"line_number":5583,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \"qemu\":"},{"line_number":5584,"context_line":"            return False"},{"line_number":5585,"context_line":""},{"line_number":5586,"context_line":"        for ver in BAD_LIBVIRT_NUMA_VERSIONS:"},{"line_number":5587,"context_line":"            if self._host.has_version(ver):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f287b81_4864b549","line":5584,"updated":"2017-09-05 11:38:29.000000000","message":"Hum... That makes me think about something, what about the other virt_type, do we really support NUMA when using hyperv, XEN or VMWARE...?\n\nI would have probably used CONF.libvirt.virt_type !\u003d \"kvm\" and added a comment saying that; currently we only do support NUMA Topology for KVM. If a some point contributors are going to test that feature for other than KVM so it would be the time to update this condition.","commit_id":"62761ef44b551b6e40e9e4cfc41cf5fa3701cd6d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e44f36df6a3a3a3ff5d19bfb5a96aae61e0a350c","unresolved":false,"context_lines":[{"line_number":5581,"context_line":"        # This means that the host can support LibvirtConfigGuestNUMATune"},{"line_number":5582,"context_line":"        # and the nodeset field in LibvirtConfigGuestMemoryBackingPage"},{"line_number":5583,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \"qemu\":"},{"line_number":5584,"context_line":"            return False"},{"line_number":5585,"context_line":""},{"line_number":5586,"context_line":"        for ver in BAD_LIBVIRT_NUMA_VERSIONS:"},{"line_number":5587,"context_line":"            if self._host.has_version(ver):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f287b81_cebf8dfa","line":5584,"in_reply_to":"7f287b81_4864b549","updated":"2017-09-05 12:45:54.000000000","message":"Good call","commit_id":"62761ef44b551b6e40e9e4cfc41cf5fa3701cd6d"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"7f1fcc740443a603cb45d20ce23bb59767a63c9c","unresolved":false,"context_lines":[{"line_number":5584,"context_line":"        # Currently we only do support NUMA Topology for KVM."},{"line_number":5585,"context_line":"        # If a some point contributors are going to test that feature for"},{"line_number":5586,"context_line":"        # other than KVM so it would be the time to update this condition."},{"line_number":5587,"context_line":"        if CONF.libvirt.virt_type !\u003d \"kvm\":"},{"line_number":5588,"context_line":"            return False"},{"line_number":5589,"context_line":""},{"line_number":5590,"context_line":"        for ver in BAD_LIBVIRT_NUMA_VERSIONS:"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f287b81_a440b908","line":5587,"updated":"2017-09-06 16:29:15.000000000","message":"You did not wanted to have a reno note for this, at least to mention that we do support NUMA for KVM only?","commit_id":"f4afabf1b629a886f795a51ea816e5e91fee0bb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c1295b70e33043e23ce3e788f7e020bacd23a86f","unresolved":false,"context_lines":[{"line_number":5584,"context_line":"        # Currently we only do support NUMA Topology for KVM."},{"line_number":5585,"context_line":"        # If a some point contributors are going to test that feature for"},{"line_number":5586,"context_line":"        # other than KVM so it would be the time to update this condition."},{"line_number":5587,"context_line":"        if CONF.libvirt.virt_type !\u003d \"kvm\":"},{"line_number":5588,"context_line":"            return False"},{"line_number":5589,"context_line":""},{"line_number":5590,"context_line":"        for ver in BAD_LIBVIRT_NUMA_VERSIONS:"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f287b81_84225a51","line":5587,"in_reply_to":"7f287b81_a440b908","updated":"2017-09-06 18:09:21.000000000","message":"Multiple numanodes worjs without kvm. Cpu pinning of the cpu to that numa node dose not so this does not seem correct to me","commit_id":"f4afabf1b629a886f795a51ea816e5e91fee0bb5"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6fa7d90a541cb28b30a65d95270c11d7c04f6f61","unresolved":false,"context_lines":[{"line_number":5581,"context_line":"        # This means that the host can support LibvirtConfigGuestNUMATune"},{"line_number":5582,"context_line":"        # and the nodeset field in LibvirtConfigGuestMemoryBackingPage"},{"line_number":5583,"context_line":""},{"line_number":5584,"context_line":"        # Currently we only do support NUMA Topology for KVM."},{"line_number":5585,"context_line":"        # If a some point contributors are going to test that feature for"},{"line_number":5586,"context_line":"        # other than KVM so it would be the time to update this condition."},{"line_number":5587,"context_line":"        if CONF.libvirt.virt_type !\u003d \"kvm\":"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff82abbf_f3b38f4c","line":5584,"range":{"start_line":5584,"start_character":27,"end_line":5584,"end_character":30},"updated":"2017-11-30 18:16:02.000000000","message":"nix","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"66169b760ce2d2291b9ea807d653a30f5bc32e5e","unresolved":false,"context_lines":[{"line_number":5581,"context_line":"        # This means that the host can support LibvirtConfigGuestNUMATune"},{"line_number":5582,"context_line":"        # and the nodeset field in LibvirtConfigGuestMemoryBackingPage"},{"line_number":5583,"context_line":""},{"line_number":5584,"context_line":"        # Currently we only do support NUMA Topology for KVM."},{"line_number":5585,"context_line":"        # If a some point contributors are going to test that feature for"},{"line_number":5586,"context_line":"        # other than KVM so it would be the time to update this condition."},{"line_number":5587,"context_line":"        if CONF.libvirt.virt_type !\u003d \"kvm\":"}],"source_content_type":"text/x-python","patch_set":9,"id":"df87a7cf_ce56302b","line":5584,"range":{"start_line":5584,"start_character":27,"end_line":5584,"end_character":30},"in_reply_to":"ff82abbf_f3b38f4c","updated":"2017-12-11 01:02:25.000000000","message":"Done","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1581059adb91504d0a73548f6bac31416f77899a","unresolved":false,"context_lines":[{"line_number":5584,"context_line":"        # Currently we only do support NUMA Topology for KVM."},{"line_number":5585,"context_line":"        # If a some point contributors are going to test that feature for"},{"line_number":5586,"context_line":"        # other than KVM so it would be the time to update this condition."},{"line_number":5587,"context_line":"        if CONF.libvirt.virt_type !\u003d \"kvm\":"},{"line_number":5588,"context_line":"            return False"},{"line_number":5589,"context_line":""},{"line_number":5590,"context_line":"        for ver in BAD_LIBVIRT_NUMA_VERSIONS:"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f4e5783_7848175b","line":5587,"range":{"start_line":5587,"start_character":8,"end_line":5587,"end_character":43},"updated":"2017-10-14 14:26:31.000000000","message":"this is significantly broader change then the bug i originally opened and i would not consider this to be a correct fix.\n\nthis disable numa features for xen via libvirt.\n\n\nthe original pug was only for the tcg backend use by qemu with no hardware offload so this line suuld be \n\nif CONF.libvirt.virt_type in (\"qemu\")","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6fa7d90a541cb28b30a65d95270c11d7c04f6f61","unresolved":false,"context_lines":[{"line_number":5584,"context_line":"        # Currently we only do support NUMA Topology for KVM."},{"line_number":5585,"context_line":"        # If a some point contributors are going to test that feature for"},{"line_number":5586,"context_line":"        # other than KVM so it would be the time to update this condition."},{"line_number":5587,"context_line":"        if CONF.libvirt.virt_type !\u003d \"kvm\":"},{"line_number":5588,"context_line":"            return False"},{"line_number":5589,"context_line":""},{"line_number":5590,"context_line":"        for ver in BAD_LIBVIRT_NUMA_VERSIONS:"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff82abbf_f38cef80","line":5587,"range":{"start_line":5587,"start_character":8,"end_line":5587,"end_character":43},"in_reply_to":"5f4e5783_7848175b","updated":"2017-11-30 18:16:02.000000000","message":"\u003e this is significantly broader change then the bug i originally\n \u003e opened and i would not consider this to be a correct fix.\n \u003e \n \u003e this disable numa features for xen via libvirt.\n\nOK, so are you saying you don\u0027t support this patch then? Didn\u0027t you write the patch?\n\n \u003e the original pug\n\nI want the original pug.","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"66169b760ce2d2291b9ea807d653a30f5bc32e5e","unresolved":false,"context_lines":[{"line_number":5584,"context_line":"        # Currently we only do support NUMA Topology for KVM."},{"line_number":5585,"context_line":"        # If a some point contributors are going to test that feature for"},{"line_number":5586,"context_line":"        # other than KVM so it would be the time to update this condition."},{"line_number":5587,"context_line":"        if CONF.libvirt.virt_type !\u003d \"kvm\":"},{"line_number":5588,"context_line":"            return False"},{"line_number":5589,"context_line":""},{"line_number":5590,"context_line":"        for ver in BAD_LIBVIRT_NUMA_VERSIONS:"}],"source_content_type":"text/x-python","patch_set":9,"id":"df87a7cf_093df2c2","line":5587,"range":{"start_line":5587,"start_character":8,"end_line":5587,"end_character":43},"in_reply_to":"df87a7cf_13978eee","updated":"2017-12-11 01:02:25.000000000","message":"\u003e Why wouldn\u0027t we at least log something if we can detect that we\u0027re not going to support NUMA\n\nI\u0027ve submitted 2 remained tasks in launchpad and put that links in the code comment.\n\n\u003e It also sounds like we could be more selective in when we don\u0027t support numa but is that a per-request check? \n\nSince this check depends on image/flavor property and openstack supports multi-hypervisor architecture, per request check (by scheduler) is appropriate. \n\nFYI: By this change numa_topology fields for compute hosts with libvirt/qemu driver become none in nova world via _get_host_numa_topology()@L5616. As a result they are excluded by NUMAtopologyFilter, which is documented to be used for NUMA-related features.","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2afb1fc76930b3616686aa7c0e846a5cf6b60428","unresolved":false,"context_lines":[{"line_number":5584,"context_line":"        # Currently we only do support NUMA Topology for KVM."},{"line_number":5585,"context_line":"        # If a some point contributors are going to test that feature for"},{"line_number":5586,"context_line":"        # other than KVM so it would be the time to update this condition."},{"line_number":5587,"context_line":"        if CONF.libvirt.virt_type !\u003d \"kvm\":"},{"line_number":5588,"context_line":"            return False"},{"line_number":5589,"context_line":""},{"line_number":5590,"context_line":"        for ver in BAD_LIBVIRT_NUMA_VERSIONS:"}],"source_content_type":"text/x-python","patch_set":9,"id":"df87a7cf_13978eee","line":5587,"range":{"start_line":5587,"start_character":8,"end_line":5587,"end_character":43},"in_reply_to":"df87a7cf_69c0702b","updated":"2017-12-07 16:48:04.000000000","message":"From Sean:\n\n\u003e provided you dont request hw:cpu_policy\u003ddedicated and thread polocy isolate/require then qemu can fufile the contract of our api in terms of numa topolog,hugepages and emulator thread pinning which is why i dislike loosing those capablities just because of cpu pinning.\n\nSo it sounds like the planets must be aligned for non-kvm features to work here. However, this just returns False and we throw up our hands. Why wouldn\u0027t we at least log something if we can detect that we\u0027re not going to support NUMA and why, including restrictions/requirements for what is supported, or link to something in the docs that explains that?\n\nIt also sounds like we could be more selective in when we don\u0027t support numa but is that a per-request check? Definitely sounds more complicated, but has anyone looked at how hard that is to implement?","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"a56c9b57121cc78f8878205fe83c22624814e249","unresolved":false,"context_lines":[{"line_number":5584,"context_line":"        # Currently we only do support NUMA Topology for KVM."},{"line_number":5585,"context_line":"        # If a some point contributors are going to test that feature for"},{"line_number":5586,"context_line":"        # other than KVM so it would be the time to update this condition."},{"line_number":5587,"context_line":"        if CONF.libvirt.virt_type !\u003d \"kvm\":"},{"line_number":5588,"context_line":"            return False"},{"line_number":5589,"context_line":""},{"line_number":5590,"context_line":"        for ver in BAD_LIBVIRT_NUMA_VERSIONS:"}],"source_content_type":"text/x-python","patch_set":9,"id":"df87a7cf_69c0702b","line":5587,"range":{"start_line":5587,"start_character":8,"end_line":5587,"end_character":43},"in_reply_to":"df87a7cf_d0d365d4","updated":"2017-12-07 12:56:06.000000000","message":"The fundamental problem here is the ambiguity which virt_type supports which feature(cpu-pinning, numa etc...) of nova. And today the ambiguity results in the silent error, which I intend to fix in this patch. So what we should do at first is to make clear and state that KVM certainly supports nova\u0027s NUMA related features like cpu-pinning. And then we can extend supported virt_types, such as xen and qemu. If my point is not reasonable, I should apologize and am happy to re-hand over this patch to sean.","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b0c1d1126983fb78bd6250abae648d53fde69fd8","unresolved":false,"context_lines":[{"line_number":5584,"context_line":"        # Currently we only do support NUMA Topology for KVM."},{"line_number":5585,"context_line":"        # If a some point contributors are going to test that feature for"},{"line_number":5586,"context_line":"        # other than KVM so it would be the time to update this condition."},{"line_number":5587,"context_line":"        if CONF.libvirt.virt_type !\u003d \"kvm\":"},{"line_number":5588,"context_line":"            return False"},{"line_number":5589,"context_line":""},{"line_number":5590,"context_line":"        for ver in BAD_LIBVIRT_NUMA_VERSIONS:"}],"source_content_type":"text/x-python","patch_set":9,"id":"df87a7cf_d0d365d4","line":5587,"range":{"start_line":5587,"start_character":8,"end_line":5587,"end_character":43},"in_reply_to":"ff82abbf_f38cef80","updated":"2017-12-07 11:01:13.000000000","message":"we all want the original pug jay but since its you ok :)\n\ni dont think its correct to diable all numa,hugepage, and emulator thread isolation for xen,qemu and any other non kvm backend just because 1:1 cpu pinning is not supported in qemu\u0027s tci backend.\n\ni wrote the original 2 version of the patch which just disabled the 1:1 cpu pinning part. i had planned to do add pining of all vm cpus e.g. not per cpu pinning to patchset 3 but i never got around to it tetsuro took over the change since patch 3.\n\nprovided you dont request hw:cpu_policy\u003ddedicated\nand thread polocy isolate/require then qemu can fufile the contract of our api in terms of numa topolog,hugepages and emulator thread pinning which is why i dislike loosing those capablities just because of cpu pinning.\n\nif we have bugs to specifically re add support for hugepages,numa topology and emulator pinning for non kvm backend to the libvirt driver then i can live with this change but it disable far more then i had wanted to or then we need to.","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"}],"releasenotes/notes/bug-1691178-a66afb0702cb2e28.yaml":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0b3739007099e0ccd670c9c61293cd5a64b1f453","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Currently we only do support NUMA Topology for KVM."},{"line_number":5,"context_line":"    Fix to explicitly raise NUMATopologyUnsupported error"},{"line_number":6,"context_line":"    when numa feature is used where virt_type is not set to kvm."},{"line_number":7,"context_line":"issues:"},{"line_number":8,"context_line":"  - |"},{"line_number":9,"context_line":"    As cpu pinning and hugepages both rely on NUMA topology,"},{"line_number":10,"context_line":"    they will also be disabled by this change when virt_type is"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7f287b81_76f14f6b","line":7,"updated":"2017-09-07 10:53:08.000000000","message":"I\u0027d have only used \u0027issues\u0027 and basically merged the two paragraphs. Something like:\n\n  issues:\n    - |\n       NUMA related features like pinning, hugepages, realtime have been\n       explicitly disabled for libvirt driver when not configured to use KVM\n       (virt_type\u003dkvm). An NUMATopologyUnsupported error is going to be\n       reported to users in such case.","commit_id":"ed2e66e11d19cb4d13427e5d16a0c32c7155b90b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1581059adb91504d0a73548f6bac31416f77899a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"issues:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NUMA-related features like CPU pinning, hugepages, and realtime are now"},{"line_number":5,"context_line":"    explicitly disabled when using the libvirt driver with a non-KVM backend"},{"line_number":6,"context_line":"    (``virt_type\u003dkvm``). Attempting to use a different libvirt backend will"},{"line_number":7,"context_line":"    result in a ``NUMATopologyUnsupported`` exception."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5f4e5783_986873b9","line":4,"range":{"start_line":4,"start_character":31,"end_line":4,"end_character":67},"updated":"2017-10-14 14:26:31.000000000","message":"hugepages work with qemu with out kvm.\ni belive they would also work with xen but i have not thested that myself.\n\ncpu pinning should work with xen via libvirt but wont work with qemu tcg backend.\n\nrealtime i assume is suppoprted by xen but not qemu again i have not tested that.","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2afb1fc76930b3616686aa7c0e846a5cf6b60428","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NUMA-related features like CPU pinning, hugepages, and realtime are now"},{"line_number":5,"context_line":"    explicitly disabled when using the libvirt driver with a non-KVM backend"},{"line_number":6,"context_line":"    (``virt_type\u003dkvm``). Attempting to use a different libvirt backend will"},{"line_number":7,"context_line":"    result in a ``NUMATopologyUnsupported`` exception."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"df87a7cf_339c120e","line":6,"range":{"start_line":6,"start_character":7,"end_line":6,"end_character":16},"updated":"2017-12-07 16:48:04.000000000","message":"[libvirt]/virt_type\u003dkvm","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2afb1fc76930b3616686aa7c0e846a5cf6b60428","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NUMA-related features like CPU pinning, hugepages, and realtime are now"},{"line_number":5,"context_line":"    explicitly disabled when using the libvirt driver with a non-KVM backend"},{"line_number":6,"context_line":"    (``virt_type\u003dkvm``). Attempting to use a different libvirt backend will"},{"line_number":7,"context_line":"    result in a ``NUMATopologyUnsupported`` exception."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"df87a7cf_d39cc60f","line":6,"range":{"start_line":6,"start_character":55,"end_line":6,"end_character":70},"updated":"2017-12-07 16:48:04.000000000","message":"``virt_type``","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"66169b760ce2d2291b9ea807d653a30f5bc32e5e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NUMA-related features like CPU pinning, hugepages, and realtime are now"},{"line_number":5,"context_line":"    explicitly disabled when using the libvirt driver with a non-KVM backend"},{"line_number":6,"context_line":"    (``virt_type\u003dkvm``). Attempting to use a different libvirt backend will"},{"line_number":7,"context_line":"    result in a ``NUMATopologyUnsupported`` exception."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"df87a7cf_cea87021","line":6,"range":{"start_line":6,"start_character":7,"end_line":6,"end_character":16},"in_reply_to":"df87a7cf_339c120e","updated":"2017-12-11 01:02:25.000000000","message":"Done","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"66169b760ce2d2291b9ea807d653a30f5bc32e5e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NUMA-related features like CPU pinning, hugepages, and realtime are now"},{"line_number":5,"context_line":"    explicitly disabled when using the libvirt driver with a non-KVM backend"},{"line_number":6,"context_line":"    (``virt_type\u003dkvm``). Attempting to use a different libvirt backend will"},{"line_number":7,"context_line":"    result in a ``NUMATopologyUnsupported`` exception."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"df87a7cf_eea53448","line":6,"range":{"start_line":6,"start_character":55,"end_line":6,"end_character":70},"in_reply_to":"df87a7cf_d39cc60f","updated":"2017-12-11 01:02:25.000000000","message":"Done","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2afb1fc76930b3616686aa7c0e846a5cf6b60428","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    NUMA-related features like CPU pinning, hugepages, and realtime are now"},{"line_number":5,"context_line":"    explicitly disabled when using the libvirt driver with a non-KVM backend"},{"line_number":6,"context_line":"    (``virt_type\u003dkvm``). Attempting to use a different libvirt backend will"},{"line_number":7,"context_line":"    result in a ``NUMATopologyUnsupported`` exception."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"df87a7cf_53a99621","line":7,"range":{"start_line":7,"start_character":16,"end_line":7,"end_character":54},"updated":"2017-12-07 16:48:04.000000000","message":"What does this mean to an end user or operator? This is developer-speak but it\u0027s not a developer reading the release note, it\u0027s the person deploying and supporting the cloud, and dealing with support tickets when things don\u0027t work for their users.\n\nSo this needs to be re-worded to describe the actual impact here, not what the internal code does.\n\nDo we have any solid documentation about how using these features works and what is required to configure nova properly to use them? If so, we need to link those in here as a guide.","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"66169b760ce2d2291b9ea807d653a30f5bc32e5e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    NUMA-related features like CPU pinning, hugepages, and realtime are now"},{"line_number":5,"context_line":"    explicitly disabled when using the libvirt driver with a non-KVM backend"},{"line_number":6,"context_line":"    (``virt_type\u003dkvm``). Attempting to use a different libvirt backend will"},{"line_number":7,"context_line":"    result in a ``NUMATopologyUnsupported`` exception."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"df87a7cf_0e617805","line":7,"range":{"start_line":7,"start_character":16,"end_line":7,"end_character":54},"in_reply_to":"df87a7cf_53a99621","updated":"2017-12-11 01:02:25.000000000","message":"\u003e So this needs to be re-worded to describe the actual impact here, not what the internal code does.\n\nI have changed the words, so please validate. \n\n\u003e Do we have any solid documentation about how using these features works?\n\nI\u0027ve also added some links to the documentation, and noted there explicitly that we don\u0027t support libvirt/qemu driver currently.","commit_id":"7bd5562480c6171b6b3dd90327b1c85b65704f9d"}]}
