)]}'
{"keystone/catalog/V8_backends/sql.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fcebee97952698099e777460e8e5f98c4e5100c2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":2,"context_line":"# Copyright 2012 Canonical Ltd."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_c4438f6b","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":31},"updated":"2016-01-20 15:29:39.000000000","message":"nit: i think these can be removed.","commit_id":"89a811092a73569911ad61790de1a2e3795b50fe"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"0f51ea785f4c4913ca290dc787a464fec9ad43f6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":2,"context_line":"# Copyright 2012 Canonical Ltd."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a5de9d1_6c6f2f93","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":31},"in_reply_to":"9a68dd71_c4438f6b","updated":"2016-01-27 10:49:54.000000000","message":"Done","commit_id":"89a811092a73569911ad61790de1a2e3795b50fe"}],"keystone/catalog/core.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"22e4f31813245f8f6ec1c4c10caf1c680183bd3b","unresolved":false,"context_lines":[{"line_number":974,"context_line":"        return self.driver.update_region(region_id, region_ref)"},{"line_number":975,"context_line":""},{"line_number":976,"context_line":"    def delete_region(self, region_id):"},{"line_number":977,"context_line":"        return self.driver.delete_region(region_id)"},{"line_number":978,"context_line":""},{"line_number":979,"context_line":"    def create_service(self, service_id, service_ref):"},{"line_number":980,"context_line":"        return self.driver.create_service(service_id, service_ref)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_47a52f02","line":977,"range":{"start_line":977,"start_character":8,"end_line":977,"end_character":14},"updated":"2016-01-19 15:51:49.000000000","message":"don\u0027t need return here....","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"82dc54e90c30622b9ddef7e172b621195ec6fb6e","unresolved":false,"context_lines":[{"line_number":974,"context_line":"        return self.driver.update_region(region_id, region_ref)"},{"line_number":975,"context_line":""},{"line_number":976,"context_line":"    def delete_region(self, region_id):"},{"line_number":977,"context_line":"        return self.driver.delete_region(region_id)"},{"line_number":978,"context_line":""},{"line_number":979,"context_line":"    def create_service(self, service_id, service_ref):"},{"line_number":980,"context_line":"        return self.driver.create_service(service_id, service_ref)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_d85d607a","line":977,"range":{"start_line":977,"start_character":8,"end_line":977,"end_character":14},"in_reply_to":"ba63e191_47a52f02","updated":"2016-01-20 03:40:24.000000000","message":"Done","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"22e4f31813245f8f6ec1c4c10caf1c680183bd3b","unresolved":false,"context_lines":[{"line_number":1004,"context_line":"        return self.driver.update_endpoint(endpoint_id, endpoint_ref)"},{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"    def delete_endpoint(self, endpoint_id):"},{"line_number":1007,"context_line":"        return self.driver.delete_endpoint(endpoint_id)"},{"line_number":1008,"context_line":""},{"line_number":1009,"context_line":"    def get_catalog(self, user_id, tenant_id):"},{"line_number":1010,"context_line":"        return self.driver.get_catalog(user_id, tenant_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_27ad9be9","line":1007,"range":{"start_line":1007,"start_character":8,"end_line":1007,"end_character":14},"updated":"2016-01-19 15:51:49.000000000","message":"don\u0027t need return here....","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"82dc54e90c30622b9ddef7e172b621195ec6fb6e","unresolved":false,"context_lines":[{"line_number":1004,"context_line":"        return self.driver.update_endpoint(endpoint_id, endpoint_ref)"},{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"    def delete_endpoint(self, endpoint_id):"},{"line_number":1007,"context_line":"        return self.driver.delete_endpoint(endpoint_id)"},{"line_number":1008,"context_line":""},{"line_number":1009,"context_line":"    def get_catalog(self, user_id, tenant_id):"},{"line_number":1010,"context_line":"        return self.driver.get_catalog(user_id, tenant_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_98504860","line":1007,"range":{"start_line":1007,"start_character":8,"end_line":1007,"end_character":14},"in_reply_to":"ba63e191_27ad9be9","updated":"2016-01-20 03:40:24.000000000","message":"Done","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"22e4f31813245f8f6ec1c4c10caf1c680183bd3b","unresolved":false,"context_lines":[{"line_number":1013,"context_line":"        return self.driver.get_v3_catalog(user_id, tenant_id)"},{"line_number":1014,"context_line":""},{"line_number":1015,"context_line":"    def add_endpoint_to_project(self, endpoint_id, project_id):"},{"line_number":1016,"context_line":"        return self.driver.add_endpoint_to_project(endpoint_id, project_id)"},{"line_number":1017,"context_line":""},{"line_number":1018,"context_line":"    def remove_endpoint_from_project(self, endpoint_id, project_id):"},{"line_number":1019,"context_line":"        return self.driver.remove_endpoint_from_project(endpoint_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_2794bb89","line":1016,"range":{"start_line":1016,"start_character":8,"end_line":1016,"end_character":14},"updated":"2016-01-19 15:51:49.000000000","message":"don\u0027t need return here....","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"82dc54e90c30622b9ddef7e172b621195ec6fb6e","unresolved":false,"context_lines":[{"line_number":1013,"context_line":"        return self.driver.get_v3_catalog(user_id, tenant_id)"},{"line_number":1014,"context_line":""},{"line_number":1015,"context_line":"    def add_endpoint_to_project(self, endpoint_id, project_id):"},{"line_number":1016,"context_line":"        return self.driver.add_endpoint_to_project(endpoint_id, project_id)"},{"line_number":1017,"context_line":""},{"line_number":1018,"context_line":"    def remove_endpoint_from_project(self, endpoint_id, project_id):"},{"line_number":1019,"context_line":"        return self.driver.remove_endpoint_from_project(endpoint_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_588f30cc","line":1016,"range":{"start_line":1016,"start_character":8,"end_line":1016,"end_character":14},"in_reply_to":"ba63e191_2794bb89","updated":"2016-01-20 03:40:24.000000000","message":"Done","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"22e4f31813245f8f6ec1c4c10caf1c680183bd3b","unresolved":false,"context_lines":[{"line_number":1016,"context_line":"        return self.driver.add_endpoint_to_project(endpoint_id, project_id)"},{"line_number":1017,"context_line":""},{"line_number":1018,"context_line":"    def remove_endpoint_from_project(self, endpoint_id, project_id):"},{"line_number":1019,"context_line":"        return self.driver.remove_endpoint_from_project(endpoint_id,"},{"line_number":1020,"context_line":"                                                        project_id)"},{"line_number":1021,"context_line":""},{"line_number":1022,"context_line":"    def check_endpoint_in_project(self, endpoint_id, project_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_6781534a","line":1019,"range":{"start_line":1019,"start_character":8,"end_line":1019,"end_character":14},"updated":"2016-01-19 15:51:49.000000000","message":"don\u0027t need return here....","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"82dc54e90c30622b9ddef7e172b621195ec6fb6e","unresolved":false,"context_lines":[{"line_number":1016,"context_line":"        return self.driver.add_endpoint_to_project(endpoint_id, project_id)"},{"line_number":1017,"context_line":""},{"line_number":1018,"context_line":"    def remove_endpoint_from_project(self, endpoint_id, project_id):"},{"line_number":1019,"context_line":"        return self.driver.remove_endpoint_from_project(endpoint_id,"},{"line_number":1020,"context_line":"                                                        project_id)"},{"line_number":1021,"context_line":""},{"line_number":1022,"context_line":"    def check_endpoint_in_project(self, endpoint_id, project_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_18c0d8df","line":1019,"range":{"start_line":1019,"start_character":8,"end_line":1019,"end_character":14},"in_reply_to":"ba63e191_6781534a","updated":"2016-01-20 03:40:24.000000000","message":"Done","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"22e4f31813245f8f6ec1c4c10caf1c680183bd3b","unresolved":false,"context_lines":[{"line_number":1029,"context_line":"        return self.driver.list_projects_for_endpoint(endpoint_id)"},{"line_number":1030,"context_line":""},{"line_number":1031,"context_line":"    def delete_association_by_endpoint(self, endpoint_id):"},{"line_number":1032,"context_line":"        return self.driver.delete_association_by_endpoint(endpoint_id)"},{"line_number":1033,"context_line":""},{"line_number":1034,"context_line":"    def delete_association_by_project(self, project_id):"},{"line_number":1035,"context_line":"        return self.driver.delete_association_by_project(project_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_87e9e71c","line":1032,"range":{"start_line":1032,"start_character":8,"end_line":1032,"end_character":14},"updated":"2016-01-19 15:51:49.000000000","message":"don\u0027t need return here....","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"82dc54e90c30622b9ddef7e172b621195ec6fb6e","unresolved":false,"context_lines":[{"line_number":1029,"context_line":"        return self.driver.list_projects_for_endpoint(endpoint_id)"},{"line_number":1030,"context_line":""},{"line_number":1031,"context_line":"    def delete_association_by_endpoint(self, endpoint_id):"},{"line_number":1032,"context_line":"        return self.driver.delete_association_by_endpoint(endpoint_id)"},{"line_number":1033,"context_line":""},{"line_number":1034,"context_line":"    def delete_association_by_project(self, project_id):"},{"line_number":1035,"context_line":"        return self.driver.delete_association_by_project(project_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_d8b9e07a","line":1032,"range":{"start_line":1032,"start_character":8,"end_line":1032,"end_character":14},"in_reply_to":"ba63e191_87e9e71c","updated":"2016-01-20 03:40:24.000000000","message":"Done","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"22e4f31813245f8f6ec1c4c10caf1c680183bd3b","unresolved":false,"context_lines":[{"line_number":1032,"context_line":"        return self.driver.delete_association_by_endpoint(endpoint_id)"},{"line_number":1033,"context_line":""},{"line_number":1034,"context_line":"    def delete_association_by_project(self, project_id):"},{"line_number":1035,"context_line":"        return self.driver.delete_association_by_project(project_id)"},{"line_number":1036,"context_line":""},{"line_number":1037,"context_line":"    def create_endpoint_group(self, endpoint_group):"},{"line_number":1038,"context_line":"        return self.driver.create_endpoint_group(endpoint_group)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_47f3ef0a","line":1035,"range":{"start_line":1035,"start_character":8,"end_line":1035,"end_character":14},"updated":"2016-01-19 15:51:49.000000000","message":"don\u0027t need return here....","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"82dc54e90c30622b9ddef7e172b621195ec6fb6e","unresolved":false,"context_lines":[{"line_number":1032,"context_line":"        return self.driver.delete_association_by_endpoint(endpoint_id)"},{"line_number":1033,"context_line":""},{"line_number":1034,"context_line":"    def delete_association_by_project(self, project_id):"},{"line_number":1035,"context_line":"        return self.driver.delete_association_by_project(project_id)"},{"line_number":1036,"context_line":""},{"line_number":1037,"context_line":"    def create_endpoint_group(self, endpoint_group):"},{"line_number":1038,"context_line":"        return self.driver.create_endpoint_group(endpoint_group)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_58a65054","line":1035,"range":{"start_line":1035,"start_character":8,"end_line":1035,"end_character":14},"in_reply_to":"ba63e191_47f3ef0a","updated":"2016-01-20 03:40:24.000000000","message":"Done","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"22e4f31813245f8f6ec1c4c10caf1c680183bd3b","unresolved":false,"context_lines":[{"line_number":1045,"context_line":"                                                 endpoint_group)"},{"line_number":1046,"context_line":""},{"line_number":1047,"context_line":"    def delete_endpoint_group(self, endpoint_group_id):"},{"line_number":1048,"context_line":"        return self.driver.delete_endpoint_group(endpoint_group_id)"},{"line_number":1049,"context_line":""},{"line_number":1050,"context_line":"    def add_endpoint_group_to_project(self, endpoint_group_id, project_id):"},{"line_number":1051,"context_line":"        return self.driver.add_endpoint_group_to_project(endpoint_group_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_c7e7df3e","line":1048,"range":{"start_line":1048,"start_character":8,"end_line":1048,"end_character":14},"updated":"2016-01-19 15:51:49.000000000","message":"don\u0027t need return here....","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"82dc54e90c30622b9ddef7e172b621195ec6fb6e","unresolved":false,"context_lines":[{"line_number":1045,"context_line":"                                                 endpoint_group)"},{"line_number":1046,"context_line":""},{"line_number":1047,"context_line":"    def delete_endpoint_group(self, endpoint_group_id):"},{"line_number":1048,"context_line":"        return self.driver.delete_endpoint_group(endpoint_group_id)"},{"line_number":1049,"context_line":""},{"line_number":1050,"context_line":"    def add_endpoint_group_to_project(self, endpoint_group_id, project_id):"},{"line_number":1051,"context_line":"        return self.driver.add_endpoint_group_to_project(endpoint_group_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_987368e7","line":1048,"range":{"start_line":1048,"start_character":8,"end_line":1048,"end_character":14},"in_reply_to":"ba63e191_c7e7df3e","updated":"2016-01-20 03:40:24.000000000","message":"Done","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"22e4f31813245f8f6ec1c4c10caf1c680183bd3b","unresolved":false,"context_lines":[{"line_number":1048,"context_line":"        return self.driver.delete_endpoint_group(endpoint_group_id)"},{"line_number":1049,"context_line":""},{"line_number":1050,"context_line":"    def add_endpoint_group_to_project(self, endpoint_group_id, project_id):"},{"line_number":1051,"context_line":"        return self.driver.add_endpoint_group_to_project(endpoint_group_id,"},{"line_number":1052,"context_line":"                                                         project_id)"},{"line_number":1053,"context_line":""},{"line_number":1054,"context_line":"    def get_endpoint_group_in_project(self, endpoint_group_id, project_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_a763cbb0","line":1051,"range":{"start_line":1051,"start_character":8,"end_line":1051,"end_character":14},"updated":"2016-01-19 15:51:49.000000000","message":"don\u0027t need return here....","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"82dc54e90c30622b9ddef7e172b621195ec6fb6e","unresolved":false,"context_lines":[{"line_number":1048,"context_line":"        return self.driver.delete_endpoint_group(endpoint_group_id)"},{"line_number":1049,"context_line":""},{"line_number":1050,"context_line":"    def add_endpoint_group_to_project(self, endpoint_group_id, project_id):"},{"line_number":1051,"context_line":"        return self.driver.add_endpoint_group_to_project(endpoint_group_id,"},{"line_number":1052,"context_line":"                                                         project_id)"},{"line_number":1053,"context_line":""},{"line_number":1054,"context_line":"    def get_endpoint_group_in_project(self, endpoint_group_id, project_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_780d543d","line":1051,"range":{"start_line":1051,"start_character":8,"end_line":1051,"end_character":14},"in_reply_to":"ba63e191_a763cbb0","updated":"2016-01-20 03:40:24.000000000","message":"Done","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"22e4f31813245f8f6ec1c4c10caf1c680183bd3b","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"        return self.driver.add_endpoint_group_to_project(endpoint_group_id,"},{"line_number":1052,"context_line":"                                                         project_id)"},{"line_number":1053,"context_line":""},{"line_number":1054,"context_line":"    def get_endpoint_group_in_project(self, endpoint_group_id, project_id):"},{"line_number":1055,"context_line":"        return self.driver.get_endpoint_group_in_project(endpoint_group_id,"},{"line_number":1056,"context_line":"                                                         project_id)"},{"line_number":1057,"context_line":""},{"line_number":1058,"context_line":"    def list_endpoint_groups(self):"},{"line_number":1059,"context_line":"        return self.driver.list_endpoint_groups()"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_27703b72","line":1056,"range":{"start_line":1054,"start_character":8,"end_line":1056,"end_character":68},"updated":"2016-01-19 15:51:49.000000000","message":"appears to be a duplicate","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"16a043daac2d7a7585c86984cf7fc685799cff24","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"        return self.driver.add_endpoint_group_to_project(endpoint_group_id,"},{"line_number":1052,"context_line":"                                                         project_id)"},{"line_number":1053,"context_line":""},{"line_number":1054,"context_line":"    def get_endpoint_group_in_project(self, endpoint_group_id, project_id):"},{"line_number":1055,"context_line":"        return self.driver.get_endpoint_group_in_project(endpoint_group_id,"},{"line_number":1056,"context_line":"                                                         project_id)"},{"line_number":1057,"context_line":""},{"line_number":1058,"context_line":"    def list_endpoint_groups(self):"},{"line_number":1059,"context_line":"        return self.driver.list_endpoint_groups()"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_925b402e","line":1056,"range":{"start_line":1054,"start_character":8,"end_line":1056,"end_character":68},"in_reply_to":"ba63e191_133bd99d","updated":"2016-01-20 04:37:31.000000000","message":"sorry, my mistake...it isn\u0027t a duplicate, please disregard....","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"82dc54e90c30622b9ddef7e172b621195ec6fb6e","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"        return self.driver.add_endpoint_group_to_project(endpoint_group_id,"},{"line_number":1052,"context_line":"                                                         project_id)"},{"line_number":1053,"context_line":""},{"line_number":1054,"context_line":"    def get_endpoint_group_in_project(self, endpoint_group_id, project_id):"},{"line_number":1055,"context_line":"        return self.driver.get_endpoint_group_in_project(endpoint_group_id,"},{"line_number":1056,"context_line":"                                                         project_id)"},{"line_number":1057,"context_line":""},{"line_number":1058,"context_line":"    def list_endpoint_groups(self):"},{"line_number":1059,"context_line":"        return self.driver.list_endpoint_groups()"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_133bd99d","line":1056,"range":{"start_line":1054,"start_character":8,"end_line":1056,"end_character":68},"in_reply_to":"ba63e191_27703b72","updated":"2016-01-20 03:40:24.000000000","message":"hmm, I have trouble to address this comments, where is this duplicated? more details about this?","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"22e4f31813245f8f6ec1c4c10caf1c680183bd3b","unresolved":false,"context_lines":[{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":"    def remove_endpoint_group_from_project(self, endpoint_group_id,"},{"line_number":1069,"context_line":"                                           project_id):"},{"line_number":1070,"context_line":"        return self.driver.remove_endpoint_group_from_project("},{"line_number":1071,"context_line":"            endpoint_group_id,"},{"line_number":1072,"context_line":"            project_id)"},{"line_number":1073,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_4741af0a","line":1070,"range":{"start_line":1070,"start_character":8,"end_line":1070,"end_character":14},"updated":"2016-01-19 15:51:49.000000000","message":"don\u0027t need return here....","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"82dc54e90c30622b9ddef7e172b621195ec6fb6e","unresolved":false,"context_lines":[{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":"    def remove_endpoint_group_from_project(self, endpoint_group_id,"},{"line_number":1069,"context_line":"                                           project_id):"},{"line_number":1070,"context_line":"        return self.driver.remove_endpoint_group_from_project("},{"line_number":1071,"context_line":"            endpoint_group_id,"},{"line_number":1072,"context_line":"            project_id)"},{"line_number":1073,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_d83ec0d9","line":1070,"range":{"start_line":1070,"start_character":8,"end_line":1070,"end_character":14},"in_reply_to":"ba63e191_4741af0a","updated":"2016-01-20 03:40:24.000000000","message":"Done","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"22e4f31813245f8f6ec1c4c10caf1c680183bd3b","unresolved":false,"context_lines":[{"line_number":1072,"context_line":"            project_id)"},{"line_number":1073,"context_line":""},{"line_number":1074,"context_line":"    def delete_endpoint_group_association_by_project(self, project_id):"},{"line_number":1075,"context_line":"        return self.driver.delete_endpoint_group_association_by_project("},{"line_number":1076,"context_line":"            project_id)"},{"line_number":1077,"context_line":""},{"line_number":1078,"context_line":"Driver \u003d manager.create_legacy_driver(CatalogDriverV8)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_c7befffe","line":1075,"range":{"start_line":1075,"start_character":8,"end_line":1075,"end_character":14},"updated":"2016-01-19 15:51:49.000000000","message":"don\u0027t need return here....","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"82dc54e90c30622b9ddef7e172b621195ec6fb6e","unresolved":false,"context_lines":[{"line_number":1072,"context_line":"            project_id)"},{"line_number":1073,"context_line":""},{"line_number":1074,"context_line":"    def delete_endpoint_group_association_by_project(self, project_id):"},{"line_number":1075,"context_line":"        return self.driver.delete_endpoint_group_association_by_project("},{"line_number":1076,"context_line":"            project_id)"},{"line_number":1077,"context_line":""},{"line_number":1078,"context_line":"Driver \u003d manager.create_legacy_driver(CatalogDriverV8)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_7826b4cf","line":1075,"range":{"start_line":1075,"start_character":8,"end_line":1075,"end_character":14},"in_reply_to":"ba63e191_c7befffe","updated":"2016-01-20 03:40:24.000000000","message":"Done","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fcebee97952698099e777460e8e5f98c4e5100c2","unresolved":false,"context_lines":[{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        return filtered_endpoints"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"# The CatalogDriverBase class is the set of driver methods from earlier"},{"line_number":394,"context_line":"# drivers that we still support, that have not been removed or modified. This"},{"line_number":395,"context_line":"# class is then used to created the augmented V8 and V9 version abstract driver"},{"line_number":396,"context_line":"# classes, without having to duplicate a lot of abstract method signatures."},{"line_number":397,"context_line":"# If you remove a method from V9, then move the abstact methods from this Base"},{"line_number":398,"context_line":"# class to the V8 class. Do not modify any of the method signatures in the Base"},{"line_number":399,"context_line":"# class - changes should only be made in the V8 and subsequent classes."},{"line_number":400,"context_line":""},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_bf56a204","line":399,"range":{"start_line":393,"start_character":0,"end_line":399,"end_character":71},"updated":"2016-01-20 15:29:39.000000000","message":"This seems like good information that could be placed inside the doc string for the CatalogDriverBase class.","commit_id":"89a811092a73569911ad61790de1a2e3795b50fe"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"0f51ea785f4c4913ca290dc787a464fec9ad43f6","unresolved":false,"context_lines":[{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        return filtered_endpoints"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"# The CatalogDriverBase class is the set of driver methods from earlier"},{"line_number":394,"context_line":"# drivers that we still support, that have not been removed or modified. This"},{"line_number":395,"context_line":"# class is then used to created the augmented V8 and V9 version abstract driver"},{"line_number":396,"context_line":"# classes, without having to duplicate a lot of abstract method signatures."},{"line_number":397,"context_line":"# If you remove a method from V9, then move the abstact methods from this Base"},{"line_number":398,"context_line":"# class to the V8 class. Do not modify any of the method signatures in the Base"},{"line_number":399,"context_line":"# class - changes should only be made in the V8 and subsequent classes."},{"line_number":400,"context_line":""},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a5de9d1_2caa9771","line":399,"range":{"start_line":393,"start_character":0,"end_line":399,"end_character":71},"in_reply_to":"9a68dd71_bf56a204","updated":"2016-01-27 10:49:54.000000000","message":"Done","commit_id":"89a811092a73569911ad61790de1a2e3795b50fe"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fcebee97952698099e777460e8e5f98c4e5100c2","unresolved":false,"context_lines":[{"line_number":923,"context_line":"class CatalogDriverV9(CatalogDriverBase):"},{"line_number":924,"context_line":"    \"\"\"New or redefined methods from V8."},{"line_number":925,"context_line":""},{"line_number":926,"context_line":"    Add any new V9 abstract methods (or those with modified signatures) to"},{"line_number":927,"context_line":"    this class."},{"line_number":928,"context_line":""},{"line_number":929,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_3fb9522f","line":926,"range":{"start_line":926,"start_character":12,"end_line":926,"end_character":15},"updated":"2016-01-20 15:29:39.000000000","message":"by \"new\" I assume this means any methods that are \"different\" than what is provided in V8.","commit_id":"89a811092a73569911ad61790de1a2e3795b50fe"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"0f51ea785f4c4913ca290dc787a464fec9ad43f6","unresolved":false,"context_lines":[{"line_number":923,"context_line":"class CatalogDriverV9(CatalogDriverBase):"},{"line_number":924,"context_line":"    \"\"\"New or redefined methods from V8."},{"line_number":925,"context_line":""},{"line_number":926,"context_line":"    Add any new V9 abstract methods (or those with modified signatures) to"},{"line_number":927,"context_line":"    this class."},{"line_number":928,"context_line":""},{"line_number":929,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a5de9d1_cc2ae3e7","line":926,"range":{"start_line":926,"start_character":12,"end_line":926,"end_character":15},"in_reply_to":"9a68dd71_3fb9522f","updated":"2016-01-27 10:49:54.000000000","message":"yep, the new added or redefined methods that are different from V8 should be here.","commit_id":"89a811092a73569911ad61790de1a2e3795b50fe"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fcebee97952698099e777460e8e5f98c4e5100c2","unresolved":false,"context_lines":[{"line_number":943,"context_line":"                                     class, since the manager will no longer be"},{"line_number":944,"context_line":"                                     calling it."},{"line_number":945,"context_line":"    Method signature (or meaning) changed - wrap the old method in a new"},{"line_number":946,"context_line":"                                            signature here, and munge the input"},{"line_number":947,"context_line":"                                            and output parameters accordingly."},{"line_number":948,"context_line":"    New method added to new driver - add a method to implement the new"},{"line_number":949,"context_line":"                                     functionality here if possible. If that is"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_1fd56e42","line":946,"range":{"start_line":946,"start_character":64,"end_line":946,"end_character":69},"updated":"2016-01-20 15:29:39.000000000","message":"I\u0027d replace \u0027munge\u0027 with something that is a little more specific. Maybe an example?","commit_id":"89a811092a73569911ad61790de1a2e3795b50fe"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"0f51ea785f4c4913ca290dc787a464fec9ad43f6","unresolved":false,"context_lines":[{"line_number":943,"context_line":"                                     class, since the manager will no longer be"},{"line_number":944,"context_line":"                                     calling it."},{"line_number":945,"context_line":"    Method signature (or meaning) changed - wrap the old method in a new"},{"line_number":946,"context_line":"                                            signature here, and munge the input"},{"line_number":947,"context_line":"                                            and output parameters accordingly."},{"line_number":948,"context_line":"    New method added to new driver - add a method to implement the new"},{"line_number":949,"context_line":"                                     functionality here if possible. If that is"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a5de9d1_0f2f8da2","line":946,"range":{"start_line":946,"start_character":64,"end_line":946,"end_character":69},"in_reply_to":"9a68dd71_1fd56e42","updated":"2016-01-27 10:49:54.000000000","message":"Done","commit_id":"89a811092a73569911ad61790de1a2e3795b50fe"},{"author":{"_account_id":19985,"name":"Ryosuke Mizuno","email":"r-mizuno@rs.jp.nec.com","username":"r-mizuno"},"change_message_id":"f33eee007293546944fce821f9c458bbabcd063f","unresolved":false,"context_lines":[{"line_number":401,"context_line":"    abstract driver classes, without having to duplicate a lot of abstract"},{"line_number":402,"context_line":"    method signatures."},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"    If you remove a method from V9, then move the abstact methods from this"},{"line_number":405,"context_line":"    Base class to the V8 class. Do not modify any of the method signatures"},{"line_number":406,"context_line":"    in the Base class - changes should only be made in the V8 and subsequent"},{"line_number":407,"context_line":"    classes."}],"source_content_type":"text/x-python","patch_set":9,"id":"5a5ae5dd_d218b520","line":404,"range":{"start_line":404,"start_character":50,"end_line":404,"end_character":57},"updated":"2016-02-05 08:51:47.000000000","message":"nit: \"abstact\" -\u003e \"abstract\"","commit_id":"9c71e39e1b25d8e1a4eeb0cb95dc75ecd25931ed"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"7af36443fdcccb6f0b933f1251e2be81fafc1200","unresolved":false,"context_lines":[{"line_number":401,"context_line":"    abstract driver classes, without having to duplicate a lot of abstract"},{"line_number":402,"context_line":"    method signatures."},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"    If you remove a method from V9, then move the abstact methods from this"},{"line_number":405,"context_line":"    Base class to the V8 class. Do not modify any of the method signatures"},{"line_number":406,"context_line":"    in the Base class - changes should only be made in the V8 and subsequent"},{"line_number":407,"context_line":"    classes."}],"source_content_type":"text/x-python","patch_set":9,"id":"5a5ae5dd_4db2e407","line":404,"range":{"start_line":404,"start_character":50,"end_line":404,"end_character":57},"in_reply_to":"5a5ae5dd_d218b520","updated":"2016-02-05 08:57:38.000000000","message":"Done","commit_id":"9c71e39e1b25d8e1a4eeb0cb95dc75ecd25931ed"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"bc96b6781391ecf31ec122d56c049890fb6d2795","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    def __init__(self):"},{"line_number":139,"context_line":"        super(Manager, self).__init__(CONF.catalog.driver)"},{"line_number":140,"context_line":"        # Make sure it is a driver version we support, and if it is a legacy"},{"line_number":141,"context_line":"        # driver, then wrap it."},{"line_number":142,"context_line":"        if isinstance(self.driver, CatalogDriverV8):"},{"line_number":143,"context_line":"            self.driver \u003d V9CatalogWrapperForV8Driver(self.driver)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a57f1b5_5335ebf4","line":140,"updated":"2016-02-10 20:32:35.000000000","message":"This comment is confusing. Since it just explains what the code is doing I suggest just removing it.","commit_id":"89c219ace18bc09f7a6a87def8184e408209e11f"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"2e76033b37c5e5de436503aa83caf133ed1095a3","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    def __init__(self):"},{"line_number":139,"context_line":"        super(Manager, self).__init__(CONF.catalog.driver)"},{"line_number":140,"context_line":"        # Make sure it is a driver version we support, and if it is a legacy"},{"line_number":141,"context_line":"        # driver, then wrap it."},{"line_number":142,"context_line":"        if isinstance(self.driver, CatalogDriverV8):"},{"line_number":143,"context_line":"            self.driver \u003d V9CatalogWrapperForV8Driver(self.driver)"}],"source_content_type":"text/x-python","patch_set":11,"id":"dae33548_32b550cd","line":140,"in_reply_to":"3a57f1b5_5335ebf4","updated":"2016-02-15 03:48:06.000000000","message":"removed, Done.","commit_id":"89c219ace18bc09f7a6a87def8184e408209e11f"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"bc96b6781391ecf31ec122d56c049890fb6d2795","unresolved":false,"context_lines":[{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    The CatalogDriverBase class is the set of driver methods from earlier"},{"line_number":399,"context_line":"    drivers that we still support, that have not been removed or modified."},{"line_number":400,"context_line":"    This class is then used to created the augmented V8 and V9 version"},{"line_number":401,"context_line":"    abstract driver classes, without having to duplicate a lot of abstract"},{"line_number":402,"context_line":"    method signatures."},{"line_number":403,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a57f1b5_13169355","line":400,"updated":"2016-02-10 20:32:35.000000000","message":"Why call out V8 and V9? This just means we have to fix this comment in the future.","commit_id":"89c219ace18bc09f7a6a87def8184e408209e11f"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"2e76033b37c5e5de436503aa83caf133ed1095a3","unresolved":false,"context_lines":[{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    The CatalogDriverBase class is the set of driver methods from earlier"},{"line_number":399,"context_line":"    drivers that we still support, that have not been removed or modified."},{"line_number":400,"context_line":"    This class is then used to created the augmented V8 and V9 version"},{"line_number":401,"context_line":"    abstract driver classes, without having to duplicate a lot of abstract"},{"line_number":402,"context_line":"    method signatures."},{"line_number":403,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"dae33548_9596c692","line":400,"in_reply_to":"3a57f1b5_13169355","updated":"2016-02-15 03:48:06.000000000","message":"Done","commit_id":"89c219ace18bc09f7a6a87def8184e408209e11f"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"bc96b6781391ecf31ec122d56c049890fb6d2795","unresolved":false,"context_lines":[{"line_number":922,"context_line":""},{"line_number":923,"context_line":"    \"\"\""},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"    pass"},{"line_number":926,"context_line":""},{"line_number":927,"context_line":""},{"line_number":928,"context_line":"class CatalogDriverV9(CatalogDriverBase):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a57f1b5_160d2137","line":925,"updated":"2016-02-10 20:32:35.000000000","message":"(nit) unnecessary","commit_id":"89c219ace18bc09f7a6a87def8184e408209e11f"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"2e76033b37c5e5de436503aa83caf133ed1095a3","unresolved":false,"context_lines":[{"line_number":922,"context_line":""},{"line_number":923,"context_line":"    \"\"\""},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"    pass"},{"line_number":926,"context_line":""},{"line_number":927,"context_line":""},{"line_number":928,"context_line":"class CatalogDriverV9(CatalogDriverBase):"}],"source_content_type":"text/x-python","patch_set":11,"id":"dae33548_927c1c22","line":925,"in_reply_to":"3a57f1b5_160d2137","updated":"2016-02-15 03:48:06.000000000","message":"remove this, Done","commit_id":"89c219ace18bc09f7a6a87def8184e408209e11f"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"bc96b6781391ecf31ec122d56c049890fb6d2795","unresolved":false,"context_lines":[{"line_number":933,"context_line":""},{"line_number":934,"context_line":"    \"\"\""},{"line_number":935,"context_line":""},{"line_number":936,"context_line":"    pass"},{"line_number":937,"context_line":""},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"class V9CatalogWrapperForV8Driver(CatalogDriverV9):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a57f1b5_b6144d44","line":936,"updated":"2016-02-10 20:32:35.000000000","message":"(nit) unnecessary","commit_id":"89c219ace18bc09f7a6a87def8184e408209e11f"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"2e76033b37c5e5de436503aa83caf133ed1095a3","unresolved":false,"context_lines":[{"line_number":933,"context_line":""},{"line_number":934,"context_line":"    \"\"\""},{"line_number":935,"context_line":""},{"line_number":936,"context_line":"    pass"},{"line_number":937,"context_line":""},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"class V9CatalogWrapperForV8Driver(CatalogDriverV9):"}],"source_content_type":"text/x-python","patch_set":11,"id":"dae33548_7279982f","line":936,"in_reply_to":"3a57f1b5_b6144d44","updated":"2016-02-15 03:48:06.000000000","message":"Done","commit_id":"89c219ace18bc09f7a6a87def8184e408209e11f"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"bc96b6781391ecf31ec122d56c049890fb6d2795","unresolved":false,"context_lines":[{"line_number":968,"context_line":""},{"line_number":969,"context_line":"    @versionutils.deprecated("},{"line_number":970,"context_line":"        as_of\u003dversionutils.deprecated.MITAKA,"},{"line_number":971,"context_line":"        what\u003d\u0027keystone.catalog.CatalogDriverV8\u0027,"},{"line_number":972,"context_line":"        in_favor_of\u003d\u0027keystone.catalog.CatalogDriverV9\u0027,"},{"line_number":973,"context_line":"        remove_in\u003d+2)"},{"line_number":974,"context_line":"    def __init__(self, wrapped_driver):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a57f1b5_763575d8","line":971,"updated":"2016-02-10 20:32:35.000000000","message":"These are not the correct paths.","commit_id":"89c219ace18bc09f7a6a87def8184e408209e11f"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"2e76033b37c5e5de436503aa83caf133ed1095a3","unresolved":false,"context_lines":[{"line_number":968,"context_line":""},{"line_number":969,"context_line":"    @versionutils.deprecated("},{"line_number":970,"context_line":"        as_of\u003dversionutils.deprecated.MITAKA,"},{"line_number":971,"context_line":"        what\u003d\u0027keystone.catalog.CatalogDriverV8\u0027,"},{"line_number":972,"context_line":"        in_favor_of\u003d\u0027keystone.catalog.CatalogDriverV9\u0027,"},{"line_number":973,"context_line":"        remove_in\u003d+2)"},{"line_number":974,"context_line":"    def __init__(self, wrapped_driver):"}],"source_content_type":"text/x-python","patch_set":11,"id":"dae33548_329ef056","line":971,"in_reply_to":"3a57f1b5_763575d8","updated":"2016-02-15 03:48:06.000000000","message":"The path is correct,\n\u003e\u003e\u003e from keystone.catalog import CatalogDriverV8\n\u003e\u003e\u003e from keystone.catalog import CatalogDriverV9\n\u003e\u003e\u003e","commit_id":"89c219ace18bc09f7a6a87def8184e408209e11f"}],"keystone/tests/unit/backend/legacy_drivers/catalog/V8/sql.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fcebee97952698099e777460e8e5f98c4e5100c2","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        # V8 SQL specific driver overrides"},{"line_number":29,"context_line":"        self.config_fixture.config("},{"line_number":30,"context_line":"            group\u003d\u0027catalog\u0027,"},{"line_number":31,"context_line":"            driver\u003d\u0027keystone.catalog.V8_backends.sql.Catalog\u0027)"},{"line_number":32,"context_line":"        self.use_specific_sql_driver_version("},{"line_number":33,"context_line":"            \u0027keystone.catalog\u0027, \u0027backends\u0027, \u0027V8_\u0027)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_df2a762c","line":31,"range":{"start_line":31,"start_character":20,"end_line":31,"end_character":60},"updated":"2016-01-20 15:29:39.000000000","message":"are we going to use entrypoints for these in our setup.cfg?","commit_id":"89a811092a73569911ad61790de1a2e3795b50fe"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"0f51ea785f4c4913ca290dc787a464fec9ad43f6","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        # V8 SQL specific driver overrides"},{"line_number":29,"context_line":"        self.config_fixture.config("},{"line_number":30,"context_line":"            group\u003d\u0027catalog\u0027,"},{"line_number":31,"context_line":"            driver\u003d\u0027keystone.catalog.V8_backends.sql.Catalog\u0027)"},{"line_number":32,"context_line":"        self.use_specific_sql_driver_version("},{"line_number":33,"context_line":"            \u0027keystone.catalog\u0027, \u0027backends\u0027, \u0027V8_\u0027)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a5de9d1_1abeedff","line":31,"range":{"start_line":31,"start_character":20,"end_line":31,"end_character":60},"in_reply_to":"9a68dd71_df2a762c","updated":"2016-01-27 10:49:54.000000000","message":"I think so, we should config the setup.cfg to use the V8 driver.","commit_id":"89a811092a73569911ad61790de1a2e3795b50fe"}],"keystone/tests/unit/test_backend.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"22e4f31813245f8f6ec1c4c10caf1c680183bd3b","unresolved":false,"context_lines":[{"line_number":4938,"context_line":"                          region_two[\u0027id\u0027],"},{"line_number":4939,"context_line":"                          {\u0027parent_region_id\u0027: region_four[\u0027id\u0027]})"},{"line_number":4940,"context_line":""},{"line_number":4941,"context_line":"    @mock.patch.object(core.CatalogDriverBase,"},{"line_number":4942,"context_line":"                       \"_ensure_no_circle_in_hierarchical_regions\")"},{"line_number":4943,"context_line":"    def test_circular_regions_can_be_deleted(self, mock_ensure_on_circle):"},{"line_number":4944,"context_line":"        # turn off the enforcement so that cycles can be created for the test"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_4c6d5603","line":4941,"range":{"start_line":4941,"start_character":41,"end_line":4941,"end_character":45},"updated":"2016-01-19 15:51:49.000000000","message":"In case we ever modified this....I guess technically this should b V9 and you should override the test in the legacy test class to make it V8 - but this would break at this point, so we would know it....so I\u0027m OK either way.","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"82dc54e90c30622b9ddef7e172b621195ec6fb6e","unresolved":false,"context_lines":[{"line_number":4938,"context_line":"                          region_two[\u0027id\u0027],"},{"line_number":4939,"context_line":"                          {\u0027parent_region_id\u0027: region_four[\u0027id\u0027]})"},{"line_number":4940,"context_line":""},{"line_number":4941,"context_line":"    @mock.patch.object(core.CatalogDriverBase,"},{"line_number":4942,"context_line":"                       \"_ensure_no_circle_in_hierarchical_regions\")"},{"line_number":4943,"context_line":"    def test_circular_regions_can_be_deleted(self, mock_ensure_on_circle):"},{"line_number":4944,"context_line":"        # turn off the enforcement so that cycles can be created for the test"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_eeee5e8a","line":4941,"range":{"start_line":4941,"start_character":41,"end_line":4941,"end_character":45},"in_reply_to":"ba63e191_4c6d5603","updated":"2016-01-20 03:40:24.000000000","message":"Done","commit_id":"035a3ab30474d996f123bba01e0b848ca687da96"}],"releasenotes/notes/v9CatalogDriver-cd64dcd2d5360891.yaml":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"bc96b6781391ecf31ec122d56c049890fb6d2795","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Mitaka, so any custom drivers based on the V8 interface should still work."},{"line_number":5,"context_line":"other:"},{"line_number":6,"context_line":"  - Support for the V8 Catalog driver interface is planned to be removed in"},{"line_number":7,"context_line":"    the \u0027O\u0027 release of OpenStack."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"3a57f1b5_569f19b4","line":7,"updated":"2016-02-10 20:32:35.000000000","message":"Why do we not state this in the upgrade section?","commit_id":"89c219ace18bc09f7a6a87def8184e408209e11f"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"2e76033b37c5e5de436503aa83caf133ed1095a3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Mitaka, so any custom drivers based on the V8 interface should still work."},{"line_number":5,"context_line":"other:"},{"line_number":6,"context_line":"  - Support for the V8 Catalog driver interface is planned to be removed in"},{"line_number":7,"context_line":"    the \u0027O\u0027 release of OpenStack."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"dae33548_75c18280","line":7,"in_reply_to":"3a57f1b5_569f19b4","updated":"2016-02-15 03:48:06.000000000","message":"It was written as this to align with the existed releasenotes, such as \"V9ResourceDriver-26716f97c0cc1a80.yaml\".\n\nI think this could also be fallen into `deprecations` category, can we let it as this and address it with other similar notes if necessary?","commit_id":"89c219ace18bc09f7a6a87def8184e408209e11f"}]}
