)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c1b02ceadcb54dec6ee932242f239005255b0cfc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Stephen Finucane \u003csfinucan@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-09-03 15:24:22 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"libvirt: Make scheduler filters customizable"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Most of the libvirt functional tests need at least the"},{"line_number":10,"context_line":"\u0027NUMATopologyFilter\u0027 scheduler filter enabled. Provide a mechanism to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7faddb67_228a6cbb","line":7,"updated":"2019-09-03 16:10:24.000000000","message":"This is a bit misleading, I would have probably said \"libvirt: Make scheduler filters in functional tests\" to be clear at a passing glance that this isn\u0027t changing runtime code.","commit_id":"de89b2d83faed631d00ee3814ba1d7bdbb3cdf1b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e3fd3ce159b8cf89a4b71a5e6aedcdb44821ab3","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Most of the libvirt functional tests need at least the"},{"line_number":10,"context_line":"\u0027NUMATopologyFilter\u0027 scheduler filter enabled. Provide a mechanism to"},{"line_number":11,"context_line":"enable this, adding the filter to the real-time tests where it was"},{"line_number":12,"context_line":"previously missing."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Id51ed2304140754a1eef402d558123b5e6bab9c8"},{"line_number":15,"context_line":"Signed-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7faddb67_42544854","line":12,"range":{"start_line":11,"start_character":13,"end_line":12,"end_character":19},"updated":"2019-09-03 16:08:45.000000000","message":"How were those tests passing without the filter then?","commit_id":"de89b2d83faed631d00ee3814ba1d7bdbb3cdf1b"}],"nova/tests/functional/libvirt/base.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"079328e408dcea4d9701bfe08dc59c043ca19f01","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class ServersTestBase(base.ServersTestBase):"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    ADDITIONAL_FILTERS \u003d [\u0027NUMATopologyFilter\u0027]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def setUp(self):"},{"line_number":39,"context_line":"        super(ServersTestBase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_8eed9125","line":36,"updated":"2019-09-03 12:58:14.000000000","message":"If we do this, should we also add the NUMATopologyFilter as a default one ? \nShould we also add it in devstack for example ?","commit_id":"9b52e4f829732db8aba837c13282e2fc79b19d44"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e9ab4f3df0750a0def383425b5f7a6f5cd9c8e0f","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class ServersTestBase(base.ServersTestBase):"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    ADDITIONAL_FILTERS \u003d [\u0027NUMATopologyFilter\u0027]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def setUp(self):"},{"line_number":39,"context_line":"        super(ServersTestBase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_51cadc4e","line":36,"in_reply_to":"7faddb67_8eed9125","updated":"2019-09-03 14:30:47.000000000","message":"I don\u0027t know. It\u0027s only compatible with libvirt and hyper-v, so it might be a bit unnecessary. Definitely a discussion to be had here though I don\u0027t think we necessarily need to have it here :)\n\nI\u0027ve made this opt-in rather than on by default in PS2","commit_id":"9b52e4f829732db8aba837c13282e2fc79b19d44"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"079328e408dcea4d9701bfe08dc59c043ca19f01","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        self.flags(driver\u003d\u0027filter_scheduler\u0027, group\u003d\u0027scheduler\u0027)"},{"line_number":94,"context_line":"        self.flags(enabled_filters\u003denabled_filters, group\u003d\u0027filter_scheduler\u0027)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        return self.start_service(\u0027scheduler\u0027)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def _get_connection(self, host_info, pci_info\u003dNone,"},{"line_number":99,"context_line":"                        libvirt_version\u003dfakelibvirt.FAKE_LIBVIRT_VERSION,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_2ededd69","line":96,"updated":"2019-09-03 12:58:14.000000000","message":"See, the problem here is that you add the filter to all the tests. If so, why not adding it directly to the config default option ?","commit_id":"9b52e4f829732db8aba837c13282e2fc79b19d44"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e3fd3ce159b8cf89a4b71a5e6aedcdb44821ab3","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def _setup_scheduler_service(self):"},{"line_number":90,"context_line":"        enabled_filters \u003d CONF.filter_scheduler.enabled_filters"},{"line_number":91,"context_line":"        enabled_filters +\u003d self.ADDITIONAL_FILTERS"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        self.flags(driver\u003d\u0027filter_scheduler\u0027, group\u003d\u0027scheduler\u0027)"},{"line_number":94,"context_line":"        self.flags(enabled_filters\u003denabled_filters, group\u003d\u0027filter_scheduler\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_82cb201b","line":91,"updated":"2019-09-03 16:08:45.000000000","message":"nit: might want to use a set to filter duplicates","commit_id":"de89b2d83faed631d00ee3814ba1d7bdbb3cdf1b"}],"nova/tests/functional/libvirt/test_pci_sriov_servers.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"079328e408dcea4d9701bfe08dc59c043ca19f01","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class _PCIServersTestBase(base.ServersTestBase):"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    ADDITIONAL_FILTERS \u003d [\u0027NUMATopologyFilter\u0027, \u0027PciPassthroughFilter\u0027]"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def setUp(self):"},{"line_number":34,"context_line":"        self.flags(passthrough_whitelist\u003dself.PCI_PASSTHROUGH_WHITELIST,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_aecbada1","line":31,"updated":"2019-09-03 12:58:14.000000000","message":"See, here you should then just add the PCIPassthroughFilter","commit_id":"9b52e4f829732db8aba837c13282e2fc79b19d44"}],"nova/tests/functional/libvirt/test_rt_servers.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e3fd3ce159b8cf89a4b71a5e6aedcdb44821ab3","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class RealTimeServersTest(base.ServersTestBase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    ADDITIONAL_FILTERS \u003d [\u0027NUMATopologyFilter\u0027]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(RealTimeServersTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_c2eef889","line":23,"updated":"2019-09-03 16:08:45.000000000","message":"I\u0027m not sure why this should be enabled of the test doesn\u0027t fail without it. Is the test bad? Or is this preparing for future changes where it\u0027s required for this test to not break?","commit_id":"de89b2d83faed631d00ee3814ba1d7bdbb3cdf1b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"82152a0d72a84d9e3a16eace418a8a46f53e6e48","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class RealTimeServersTest(base.ServersTestBase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    ADDITIONAL_FILTERS \u003d [\u0027NUMATopologyFilter\u0027]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(RealTimeServersTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_cf9e20b7","line":23,"in_reply_to":"7faddb67_3d54d153","updated":"2019-09-03 17:00:46.000000000","message":"It\u0027s purely for completeness\u0027 sake. We don\u0027t _need_ to enable the filter just as no one _needs_ to enable the NUMATopologyFilter in general. However, by not doing it, the scheduler won\u0027t be able to do any of the additional sanity checks to ensure you\u0027ll be able to fit on the host meaning you\u0027ll increase the chances of late stage build failures resulting from landing on compute nodes that e.g. don\u0027t have enough hugepages. That doesn\u0027t really affect us here, but I\u0027m thinking that since it\u0027s not realistic for someone to be using real-time features without this filter enabled, this filter should be enabled here since functional tests should try to mimic real-world behavior.\n\nIf that doesn\u0027t make sense, I can drop this specific hunk (dumb word) from here and attack it some other time.","commit_id":"de89b2d83faed631d00ee3814ba1d7bdbb3cdf1b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8b7825879c5f728a2ab8862a8dfaee4844367dbf","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class RealTimeServersTest(base.ServersTestBase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    ADDITIONAL_FILTERS \u003d [\u0027NUMATopologyFilter\u0027]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(RealTimeServersTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_3d54d153","line":23,"in_reply_to":"7faddb67_7da569b3","updated":"2019-09-03 16:40:53.000000000","message":"\u003e It\u0027ll fail when it hits the \"compute node\". That\u0027s _okay_, but it\u0027s\n \u003e in the slightest bit realistic.\n\nI\u0027m not sure what you mean. Currently adding this or removing it makes no difference to the test, so will later changes in the series change that? Or is this just here for completeness and if so, why can\u0027t we add something to assert in the test to actually make sure that we need to enable the filter?","commit_id":"de89b2d83faed631d00ee3814ba1d7bdbb3cdf1b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"3787fa5c96f057e9c76d554c22d5c11093b08549","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class RealTimeServersTest(base.ServersTestBase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    ADDITIONAL_FILTERS \u003d [\u0027NUMATopologyFilter\u0027]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(RealTimeServersTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_b321c24f","line":23,"in_reply_to":"7faddb67_be22f1ff","updated":"2019-09-04 11:56:07.000000000","message":"Maybe a comment summarizing this discussion (we don\u0027t need it, but it mimics the real world and gives the filter some extra coverage) would be appropriate.\n\nNo need to block this patch on that.","commit_id":"de89b2d83faed631d00ee3814ba1d7bdbb3cdf1b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c5afed37d1c5181dda3894f142053e0359fc9beb","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class RealTimeServersTest(base.ServersTestBase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    ADDITIONAL_FILTERS \u003d [\u0027NUMATopologyFilter\u0027]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(RealTimeServersTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_7da569b3","line":23,"in_reply_to":"7faddb67_c2eef889","updated":"2019-09-03 16:30:31.000000000","message":"It\u0027ll fail when it hits the \"compute node\". That\u0027s _okay_, but it\u0027s in the slightest bit realistic.","commit_id":"de89b2d83faed631d00ee3814ba1d7bdbb3cdf1b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"2ceec694951332bc639c715f7ba79545b19418fc","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class RealTimeServersTest(base.ServersTestBase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    ADDITIONAL_FILTERS \u003d [\u0027NUMATopologyFilter\u0027]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(RealTimeServersTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_be22f1ff","line":23,"in_reply_to":"7faddb67_cf9e20b7","updated":"2019-09-04 04:29:44.000000000","message":"I guess Stephen means that the RT running the same code with NUMATopologyFilter. so actually the code being verified. But yes, it will be great to mimic the real-world.","commit_id":"de89b2d83faed631d00ee3814ba1d7bdbb3cdf1b"}]}
