)]}'
{"nova/tests/functional/test_json_filter.py":[{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"98dd958e901f6c31232524988d9c4173adcc982d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"class JsonFilterTestCase(integrated_helpers.ProviderUsageBaseTestCase):"},{"line_number":33,"context_line":"    \"\"\"Functional tests for the JsonFilter scheduler filter.\"\"\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    microversion \u003d \u00272.1\u0027"},{"line_number":36,"context_line":"    compute_driver \u003d \u0027fake.SmallFakeDriver\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_fa8b15bd","line":35,"range":{"start_line":35,"start_character":4,"end_line":35,"end_character":24},"updated":"2019-04-03 09:24:27.000000000","message":"any reason for overwriting the default 2.latest to 2.1 here ?","commit_id":"88c20a168ee89293751bd22ad621d1d8eb305693"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"8d6721591be8ddb218976fad8233df82c2b496c2","unresolved":false,"context_lines":[{"line_number":32,"context_line":"class JsonFilterTestCase(integrated_helpers.ProviderUsageBaseTestCase):"},{"line_number":33,"context_line":"    \"\"\"Functional tests for the JsonFilter scheduler filter.\"\"\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    microversion \u003d \u00272.1\u0027"},{"line_number":36,"context_line":"    compute_driver \u003d \u0027fake.SmallFakeDriver\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_6f766941","line":35,"range":{"start_line":35,"start_character":4,"end_line":35,"end_character":24},"in_reply_to":"5fc1f717_b2a92325","updated":"2019-04-04 08:24:55.000000000","message":"ok, thanks for clarifying!","commit_id":"88c20a168ee89293751bd22ad621d1d8eb305693"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2f64ef39dff4f4e69002ea634ad8bb3688957cd1","unresolved":false,"context_lines":[{"line_number":32,"context_line":"class JsonFilterTestCase(integrated_helpers.ProviderUsageBaseTestCase):"},{"line_number":33,"context_line":"    \"\"\"Functional tests for the JsonFilter scheduler filter.\"\"\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    microversion \u003d \u00272.1\u0027"},{"line_number":36,"context_line":"    compute_driver \u003d \u0027fake.SmallFakeDriver\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_b2a92325","line":35,"range":{"start_line":35,"start_character":4,"end_line":35,"end_character":24},"in_reply_to":"5fc1f717_fa8b15bd","updated":"2019-04-04 00:35:06.000000000","message":"Because nothing about this should have anything to do with microversions and is a super old filter, so I just wanted to makes sure it all works based on the base microversion.","commit_id":"88c20a168ee89293751bd22ad621d1d8eb305693"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c0b4237558521566d7e8804113b75de4764a109a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            self.flags(enabled_filters\u003denabled_filters,"},{"line_number":45,"context_line":"                       group\u003d\u0027filter_scheduler\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # Use our custom weigher defined above to make sure that we have"},{"line_number":48,"context_line":"        # a predictable scheduling sort order during server create."},{"line_number":49,"context_line":"        self.flags(weight_classes\u003d[__name__ + \u0027.HostNameWeigher\u0027],"},{"line_number":50,"context_line":"                   group\u003d\u0027filter_scheduler\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        super(JsonFilterTestCase, self).setUp()"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_9493ca00","line":50,"range":{"start_line":47,"start_character":8,"end_line":50,"end_character":44},"updated":"2019-04-03 07:27:43.000000000","message":"This is inspired by Eric comment, so...we should set \u0027host_subset_size\u0027 to 1, otherwise, we still have chance to get the host2 without JsonFilter due to the random choice.","commit_id":"88c20a168ee89293751bd22ad621d1d8eb305693"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2f64ef39dff4f4e69002ea634ad8bb3688957cd1","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            self.flags(enabled_filters\u003denabled_filters,"},{"line_number":45,"context_line":"                       group\u003d\u0027filter_scheduler\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # Use our custom weigher defined above to make sure that we have"},{"line_number":48,"context_line":"        # a predictable scheduling sort order during server create."},{"line_number":49,"context_line":"        self.flags(weight_classes\u003d[__name__ + \u0027.HostNameWeigher\u0027],"},{"line_number":50,"context_line":"                   group\u003d\u0027filter_scheduler\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        super(JsonFilterTestCase, self).setUp()"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_526ebf00","line":50,"range":{"start_line":47,"start_character":8,"end_line":50,"end_character":44},"in_reply_to":"5fc1f717_5271dfa7","updated":"2019-04-04 00:35:06.000000000","message":"This HostNameWeigher pattern is used in several functional tests so I was just copying it.","commit_id":"88c20a168ee89293751bd22ad621d1d8eb305693"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f37f3e68d4edb89b221a199ff850b9149b7b2981","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            self.flags(enabled_filters\u003denabled_filters,"},{"line_number":45,"context_line":"                       group\u003d\u0027filter_scheduler\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # Use our custom weigher defined above to make sure that we have"},{"line_number":48,"context_line":"        # a predictable scheduling sort order during server create."},{"line_number":49,"context_line":"        self.flags(weight_classes\u003d[__name__ + \u0027.HostNameWeigher\u0027],"},{"line_number":50,"context_line":"                   group\u003d\u0027filter_scheduler\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        super(JsonFilterTestCase, self).setUp()"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_5271dfa7","line":50,"range":{"start_line":47,"start_character":8,"end_line":50,"end_character":44},"in_reply_to":"5fc1f717_6e6e86ca","updated":"2019-04-03 23:33:05.000000000","message":"ah, thanks, I assume it isn\u0027t 1, since I somewhere we change this value in the test.","commit_id":"88c20a168ee89293751bd22ad621d1d8eb305693"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"98dd958e901f6c31232524988d9c4173adcc982d","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            self.flags(enabled_filters\u003denabled_filters,"},{"line_number":45,"context_line":"                       group\u003d\u0027filter_scheduler\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # Use our custom weigher defined above to make sure that we have"},{"line_number":48,"context_line":"        # a predictable scheduling sort order during server create."},{"line_number":49,"context_line":"        self.flags(weight_classes\u003d[__name__ + \u0027.HostNameWeigher\u0027],"},{"line_number":50,"context_line":"                   group\u003d\u0027filter_scheduler\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        super(JsonFilterTestCase, self).setUp()"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_6e6e86ca","line":50,"range":{"start_line":47,"start_character":8,"end_line":50,"end_character":44},"in_reply_to":"5fc1f717_9493ca00","updated":"2019-04-03 09:24:27.000000000","message":"ran the test on devstack\n\nI got the following values:\n\n CONF.filter_scheduler.weight_classes: [\u0027nova.tests.functional.test_json_filter.HostNameWeigher\u0027]\n CONF.filter_scheduler.host_subset_size: 1 (default from https://github.com/openstack/nova/blob/292315c00d1de7bdc9b457eac84ffda11cb1b664/nova/conf/scheduler.py#L188)\n\nSo I think we are good even if we don\u0027t explicitly set it since its taken from default.","commit_id":"88c20a168ee89293751bd22ad621d1d8eb305693"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"98dd958e901f6c31232524988d9c4173adcc982d","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        # custom HostNameWeigher, host1 would be chosen."},{"line_number":72,"context_line":"        query \u003d jsonutils.dumps([\u0027\u003d\u0027, \u0027$hypervisor_hostname\u0027, \u0027host2\u0027])"},{"line_number":73,"context_line":"        server \u003d self._build_minimal_create_server_request("},{"line_number":74,"context_line":"            self.api, \u0027test_filter_on_hypervisor_hostname\u0027)"},{"line_number":75,"context_line":"        request \u003d {\u0027server\u0027: server, \u0027os:scheduler_hints\u0027: {\u0027query\u0027: query}}"},{"line_number":76,"context_line":"        server \u003d self.api.post_server(request)"},{"line_number":77,"context_line":"        server \u003d self._wait_for_state_change(self.admin_api, server, \u0027ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_7ab96577","line":74,"range":{"start_line":74,"start_character":22,"end_line":74,"end_character":58},"updated":"2019-04-03 09:24:27.000000000","message":"note-for-self: this is the name of the server and the request looks like \n\n {\u0027os:scheduler_hints\u0027: {\u0027query\u0027: \u0027[\"\u003d\", \"$hypervisor_hostname\", \"host2\"]\u0027}, \u0027server\u0027: {\u0027name\u0027: \u0027test_filter_on_hypervisor_hostname\u0027, \u0027flavorRef\u0027: u\u0027http://fake.server/2\u0027, \u0027imageRef\u0027: u\u0027cedef40a-ed67-4d10-800e-17455edce175\u0027}}","commit_id":"88c20a168ee89293751bd22ad621d1d8eb305693"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"e1a97ef4fd3313f043d8d3d64b40bde9405adfe7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5fc1f717_d167ad4c","line":82,"updated":"2019-03-26 17:47:40.000000000","message":"Could create a server without the os:scheduler_hints query (or with a bogus one) to prove that it lands on host1; though I assume that\u0027s redundant with some other test elsewhere.","commit_id":"88c20a168ee89293751bd22ad621d1d8eb305693"}]}
