)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"26c6ebb7b5fb192b02b08defd070c7b7789537cd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     廖跃华 \u003chzliaoyuehua@corp.netease.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-09-20 19:45:20 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix TypeError when retrieve pools filtered by volume-type"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now cinder’s get-pools API support filtering pools by volume type,"},{"line_number":10,"context_line":"pools will be filtered by get_filtered_backends and the filter"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_945a674d","line":7,"range":{"start_line":7,"start_character":19,"end_line":7,"end_character":27},"updated":"2018-09-20 14:19:53.000000000","message":"retrieving","commit_id":"8de40a143bed73db3a5d6cca3697d0074f05216d"},{"author":{"_account_id":27911,"name":"hzliaoyuehua","email":"hzliaoyuehua@corp.netease.com","username":"hzliaoyuehua"},"change_message_id":"855f8aa411d66b4c9b8c092d3cdf3df7c334b1a2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     廖跃华 \u003chzliaoyuehua@corp.netease.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-09-20 19:45:20 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix TypeError when retrieve pools filtered by volume-type"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now cinder’s get-pools API support filtering pools by volume type,"},{"line_number":10,"context_line":"pools will be filtered by get_filtered_backends and the filter"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_33ae06e7","line":7,"range":{"start_line":7,"start_character":19,"end_line":7,"end_character":27},"in_reply_to":"3f79a3b5_945a674d","updated":"2018-09-20 16:06:08.000000000","message":"Done","commit_id":"8de40a143bed73db3a5d6cca3697d0074f05216d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"26c6ebb7b5fb192b02b08defd070c7b7789537cd","unresolved":false,"context_lines":[{"line_number":10,"context_line":"pools will be filtered by get_filtered_backends and the filter"},{"line_number":11,"context_line":"properties of get_filtered_backends only consists of volume-type properties."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"When pools filtered by CapacityFilter and the backend is support thin"},{"line_number":14,"context_line":"provisioning, CapacityFilter will raise TypeError since the requested_size"},{"line_number":15,"context_line":"is None and it\u0027s an unsupported operand type(s) for +: \u0027int\u0027 and \u0027NoneType\u0027."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_143417fa","line":13,"range":{"start_line":13,"start_character":10,"end_line":13,"end_character":11},"updated":"2018-09-20 14:19:53.000000000","message":"are","commit_id":"8de40a143bed73db3a5d6cca3697d0074f05216d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"26c6ebb7b5fb192b02b08defd070c7b7789537cd","unresolved":false,"context_lines":[{"line_number":10,"context_line":"pools will be filtered by get_filtered_backends and the filter"},{"line_number":11,"context_line":"properties of get_filtered_backends only consists of volume-type properties."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"When pools filtered by CapacityFilter and the backend is support thin"},{"line_number":14,"context_line":"provisioning, CapacityFilter will raise TypeError since the requested_size"},{"line_number":15,"context_line":"is None and it\u0027s an unsupported operand type(s) for +: \u0027int\u0027 and \u0027NoneType\u0027."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_74246bc6","line":13,"range":{"start_line":13,"start_character":54,"end_line":13,"end_character":64},"updated":"2018-09-20 14:19:53.000000000","message":"supports","commit_id":"8de40a143bed73db3a5d6cca3697d0074f05216d"},{"author":{"_account_id":27911,"name":"hzliaoyuehua","email":"hzliaoyuehua@corp.netease.com","username":"hzliaoyuehua"},"change_message_id":"855f8aa411d66b4c9b8c092d3cdf3df7c334b1a2","unresolved":false,"context_lines":[{"line_number":10,"context_line":"pools will be filtered by get_filtered_backends and the filter"},{"line_number":11,"context_line":"properties of get_filtered_backends only consists of volume-type properties."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"When pools filtered by CapacityFilter and the backend is support thin"},{"line_number":14,"context_line":"provisioning, CapacityFilter will raise TypeError since the requested_size"},{"line_number":15,"context_line":"is None and it\u0027s an unsupported operand type(s) for +: \u0027int\u0027 and \u0027NoneType\u0027."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_d386b265","line":13,"range":{"start_line":13,"start_character":10,"end_line":13,"end_character":11},"in_reply_to":"3f79a3b5_143417fa","updated":"2018-09-20 16:06:08.000000000","message":"Done","commit_id":"8de40a143bed73db3a5d6cca3697d0074f05216d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"26c6ebb7b5fb192b02b08defd070c7b7789537cd","unresolved":false,"context_lines":[{"line_number":15,"context_line":"is None and it\u0027s an unsupported operand type(s) for +: \u0027int\u0027 and \u0027NoneType\u0027."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In this patch, we passed the filter class `CapabilitiesFilter` into"},{"line_number":18,"context_line":"get_filtered_backends to let pools only filtered by CapabilitiesFilter."},{"line_number":19,"context_line":"It can also speed up the filter process when we have thousands pools."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: #1793460"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_54fe0f06","line":18,"range":{"start_line":18,"start_character":39,"end_line":18,"end_character":40},"updated":"2018-09-20 14:19:53.000000000","message":"be","commit_id":"8de40a143bed73db3a5d6cca3697d0074f05216d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"26c6ebb7b5fb192b02b08defd070c7b7789537cd","unresolved":false,"context_lines":[{"line_number":15,"context_line":"is None and it\u0027s an unsupported operand type(s) for +: \u0027int\u0027 and \u0027NoneType\u0027."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In this patch, we passed the filter class `CapabilitiesFilter` into"},{"line_number":18,"context_line":"get_filtered_backends to let pools only filtered by CapabilitiesFilter."},{"line_number":19,"context_line":"It can also speed up the filter process when we have thousands pools."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: #1793460"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_9408272d","line":18,"range":{"start_line":18,"start_character":21,"end_line":18,"end_character":22},"updated":"2018-09-20 14:19:53.000000000","message":"method","commit_id":"8de40a143bed73db3a5d6cca3697d0074f05216d"},{"author":{"_account_id":27911,"name":"hzliaoyuehua","email":"hzliaoyuehua@corp.netease.com","username":"hzliaoyuehua"},"change_message_id":"855f8aa411d66b4c9b8c092d3cdf3df7c334b1a2","unresolved":false,"context_lines":[{"line_number":15,"context_line":"is None and it\u0027s an unsupported operand type(s) for +: \u0027int\u0027 and \u0027NoneType\u0027."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In this patch, we passed the filter class `CapabilitiesFilter` into"},{"line_number":18,"context_line":"get_filtered_backends to let pools only filtered by CapabilitiesFilter."},{"line_number":19,"context_line":"It can also speed up the filter process when we have thousands pools."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: #1793460"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_13af4ae0","line":18,"range":{"start_line":18,"start_character":21,"end_line":18,"end_character":22},"in_reply_to":"3f79a3b5_9408272d","updated":"2018-09-20 16:06:08.000000000","message":"Done","commit_id":"8de40a143bed73db3a5d6cca3697d0074f05216d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"26c6ebb7b5fb192b02b08defd070c7b7789537cd","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In this patch, we passed the filter class `CapabilitiesFilter` into"},{"line_number":18,"context_line":"get_filtered_backends to let pools only filtered by CapabilitiesFilter."},{"line_number":19,"context_line":"It can also speed up the filter process when we have thousands pools."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: #1793460"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_af04f014","line":19,"range":{"start_line":19,"start_character":62,"end_line":19,"end_character":63},"updated":"2018-09-20 14:19:53.000000000","message":"of","commit_id":"8de40a143bed73db3a5d6cca3697d0074f05216d"},{"author":{"_account_id":27911,"name":"hzliaoyuehua","email":"hzliaoyuehua@corp.netease.com","username":"hzliaoyuehua"},"change_message_id":"855f8aa411d66b4c9b8c092d3cdf3df7c334b1a2","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In this patch, we passed the filter class `CapabilitiesFilter` into"},{"line_number":18,"context_line":"get_filtered_backends to let pools only filtered by CapabilitiesFilter."},{"line_number":19,"context_line":"It can also speed up the filter process when we have thousands pools."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: #1793460"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_7379de7f","line":19,"range":{"start_line":19,"start_character":62,"end_line":19,"end_character":63},"in_reply_to":"3f79a3b5_af04f014","updated":"2018-09-20 16:06:08.000000000","message":"Done","commit_id":"8de40a143bed73db3a5d6cca3697d0074f05216d"}],"cinder/scheduler/filters/capacity_filter.py":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"a9c5f8b131ee8a703d8b2cabda8a2ee1658a6d0c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                       \u0027grouping_name\u0027: backend_state.backend_id, \u0027id\u0027: volid,"},{"line_number":55,"context_line":"                       \u0027size\u0027: requested_size})"},{"line_number":56,"context_line":"        else:"},{"line_number":57,"context_line":"            requested_size \u003d filter_properties.get(\u0027size\u0027, 0)"},{"line_number":58,"context_line":"            LOG.debug(\u0027Checking if %(grouping)s %(grouping_name)s can create \u0027"},{"line_number":59,"context_line":"                      \u0027a %(size)s GB volume (%(id)s)\u0027,"},{"line_number":60,"context_line":"                      {\u0027grouping\u0027: grouping,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_209dce08","line":57,"range":{"start_line":57,"start_character":48,"end_line":57,"end_character":61},"updated":"2018-10-22 13:58:40.000000000","message":"I don\u0027t understand how this could be related to your bug description on the commit message. Also, if the request (filter_properties) does not have the size field, that should be set on the API layer, so scheduler have the proper information.","commit_id":"1dc495d1c8ae900a2309235c26d47ba7a1c9b63a"},{"author":{"_account_id":27911,"name":"hzliaoyuehua","email":"hzliaoyuehua@corp.netease.com","username":"hzliaoyuehua"},"change_message_id":"c9034ac7a22cb9082eb8a659df8a21a2341397ce","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                       \u0027grouping_name\u0027: backend_state.backend_id, \u0027id\u0027: volid,"},{"line_number":55,"context_line":"                       \u0027size\u0027: requested_size})"},{"line_number":56,"context_line":"        else:"},{"line_number":57,"context_line":"            requested_size \u003d filter_properties.get(\u0027size\u0027, 0)"},{"line_number":58,"context_line":"            LOG.debug(\u0027Checking if %(grouping)s %(grouping_name)s can create \u0027"},{"line_number":59,"context_line":"                      \u0027a %(size)s GB volume (%(id)s)\u0027,"},{"line_number":60,"context_line":"                      {\u0027grouping\u0027: grouping,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_9b08c12e","line":57,"range":{"start_line":57,"start_character":48,"end_line":57,"end_character":61},"in_reply_to":"3f79a3b5_209dce08","updated":"2018-10-23 06:15:07.000000000","message":"Done","commit_id":"1dc495d1c8ae900a2309235c26d47ba7a1c9b63a"}],"cinder/scheduler/host_manager.py":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2b2abdf530f673b6a8b3af524c4991ae6694ade6","unresolved":false,"context_lines":[{"line_number":414,"context_line":"        self.filter_handler \u003d filters.BackendFilterHandler(\u0027cinder.scheduler.\u0027"},{"line_number":415,"context_line":"                                                           \u0027filters\u0027)"},{"line_number":416,"context_line":"        self.filter_classes \u003d self.filter_handler.get_all_classes()"},{"line_number":417,"context_line":"        self.enabled_filters \u003d self._choose_backend_filters("},{"line_number":418,"context_line":"            CONF.scheduler_default_filters)"},{"line_number":419,"context_line":"        self.weight_handler \u003d importutils.import_object("},{"line_number":420,"context_line":"            CONF.scheduler_weight_handler,"},{"line_number":421,"context_line":"            \u0027cinder.scheduler.weights\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_bbc63915","line":418,"range":{"start_line":417,"start_character":8,"end_line":418,"end_character":43},"updated":"2018-10-05 13:18:26.000000000","message":"this filters is the first type I mentioned, and are not related to the \u0027cinder get-pools --filter\u003dxx\u0027 operations.","commit_id":"bb26db2afc7e37a1055def5ff5ddb2ac085f4679"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2b2abdf530f673b6a8b3af524c4991ae6694ade6","unresolved":false,"context_lines":[{"line_number":689,"context_line":""},{"line_number":690,"context_line":"        filtered \u003d self.get_filtered_backends("},{"line_number":691,"context_line":"            pools.values(), filter_properties,"},{"line_number":692,"context_line":"            filter_class_names\u003d[\u0027CapabilitiesFilter\u0027])"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"        # filter the pools by value"},{"line_number":695,"context_line":"        return {k: v for k, v in pools.items() if v in filtered}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_1b508d5f","line":692,"range":{"start_line":692,"start_character":12,"end_line":692,"end_character":53},"updated":"2018-10-05 13:18:26.000000000","message":"-1: You can\u0027t do this. You are obfuscating the scheduler_default_filters options.","commit_id":"bb26db2afc7e37a1055def5ff5ddb2ac085f4679"},{"author":{"_account_id":27911,"name":"hzliaoyuehua","email":"hzliaoyuehua@corp.netease.com","username":"hzliaoyuehua"},"change_message_id":"844bd341c7ef54eddbb60d9d3bcf52326d890d28","unresolved":false,"context_lines":[{"line_number":689,"context_line":""},{"line_number":690,"context_line":"        filtered \u003d self.get_filtered_backends("},{"line_number":691,"context_line":"            pools.values(), filter_properties,"},{"line_number":692,"context_line":"            filter_class_names\u003d[\u0027CapabilitiesFilter\u0027])"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"        # filter the pools by value"},{"line_number":695,"context_line":"        return {k: v for k, v in pools.items() if v in filtered}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_72a434a4","line":692,"range":{"start_line":692,"start_character":12,"end_line":692,"end_character":53},"in_reply_to":"3f79a3b5_1b508d5f","updated":"2018-10-06 09:50:49.000000000","message":"@Erlon R.Cruz, @Eric Harney, thanks for your review. But I still have a bit confused, Based on the current implementation, all pools will be filtered by the filters in scheduler_default_filters if we want to parse pools by volume_type, this is almost same as the scheduler selecting pools. The only difference is we warp filter properties only with volume_type in function _filter_pools_by_volume_type. So I think pass CapabilitiesFilter here is a better way because we just want parse pools by volume_type and CapabilitiesFilter can do this. What is your opinion?","commit_id":"bb26db2afc7e37a1055def5ff5ddb2ac085f4679"},{"author":{"_account_id":27911,"name":"hzliaoyuehua","email":"hzliaoyuehua@corp.netease.com","username":"hzliaoyuehua"},"change_message_id":"b2894cbf333f3be5c824b6337f5f3927b0ef75c3","unresolved":false,"context_lines":[{"line_number":689,"context_line":""},{"line_number":690,"context_line":"        filtered \u003d self.get_filtered_backends("},{"line_number":691,"context_line":"            pools.values(), filter_properties,"},{"line_number":692,"context_line":"            filter_class_names\u003d[\u0027CapabilitiesFilter\u0027])"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"        # filter the pools by value"},{"line_number":695,"context_line":"        return {k: v for k, v in pools.items() if v in filtered}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_87465fa7","line":692,"range":{"start_line":692,"start_character":12,"end_line":692,"end_character":53},"in_reply_to":"3f79a3b5_1b508d5f","updated":"2018-10-19 08:30:08.000000000","message":"Done","commit_id":"bb26db2afc7e37a1055def5ff5ddb2ac085f4679"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"e5bb173d8bb3f832219958aa2ae5e39b29449573","unresolved":false,"context_lines":[{"line_number":689,"context_line":""},{"line_number":690,"context_line":"        filtered \u003d self.get_filtered_backends("},{"line_number":691,"context_line":"            pools.values(), filter_properties,"},{"line_number":692,"context_line":"            filter_class_names\u003d[\u0027CapabilitiesFilter\u0027])"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"        # filter the pools by value"},{"line_number":695,"context_line":"        return {k: v for k, v in pools.items() if v in filtered}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_43a93bdc","line":692,"range":{"start_line":692,"start_character":12,"end_line":692,"end_character":53},"in_reply_to":"3f79a3b5_1b508d5f","updated":"2018-10-05 14:34:27.000000000","message":"Yeah, this doesn\u0027t look right.","commit_id":"bb26db2afc7e37a1055def5ff5ddb2ac085f4679"},{"author":{"_account_id":27911,"name":"hzliaoyuehua","email":"hzliaoyuehua@corp.netease.com","username":"hzliaoyuehua"},"change_message_id":"b2894cbf333f3be5c824b6337f5f3927b0ef75c3","unresolved":false,"context_lines":[{"line_number":689,"context_line":""},{"line_number":690,"context_line":"        filtered \u003d self.get_filtered_backends("},{"line_number":691,"context_line":"            pools.values(), filter_properties,"},{"line_number":692,"context_line":"            filter_class_names\u003d[\u0027CapabilitiesFilter\u0027])"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"        # filter the pools by value"},{"line_number":695,"context_line":"        return {k: v for k, v in pools.items() if v in filtered}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_6749c3b6","line":692,"range":{"start_line":692,"start_character":12,"end_line":692,"end_character":53},"in_reply_to":"3f79a3b5_43a93bdc","updated":"2018-10-19 08:30:08.000000000","message":"Done","commit_id":"bb26db2afc7e37a1055def5ff5ddb2ac085f4679"}]}
