)]}'
{"octavia/api/v2/controllers/listener.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ec3f6786dc31e52ffc890f3241251a5dd8909a31","unresolved":true,"context_lines":[{"line_number":327,"context_line":"                raise exceptions.DuplicateListenerEntry("},{"line_number":328,"context_line":"                    protocol\u003dlistener_dict.get(\u0027protocol\u0027),"},{"line_number":329,"context_line":"                    port\u003dlistener_dict.get(\u0027protocol_port\u0027))"},{"line_number":330,"context_line":"            return None"},{"line_number":331,"context_line":"        except odb_exceptions.DBError as e:"},{"line_number":332,"context_line":"            raise exceptions.InvalidOption(value\u003dlistener_dict.get(\u0027protocol\u0027),"},{"line_number":333,"context_line":"                                           option\u003d\u0027protocol\u0027) from e"}],"source_content_type":"text/x-python","patch_set":1,"id":"bc69a34a_d4374325","line":330,"updated":"2021-02-22 15:22:18.000000000","message":"To make this future-proof it should be at L334 at +4 spaces indent, so it covers all possible paths that get past L319.","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"d197df22c284f6eadb04c2f03ac9c946fbb63557","unresolved":false,"context_lines":[{"line_number":327,"context_line":"                raise exceptions.DuplicateListenerEntry("},{"line_number":328,"context_line":"                    protocol\u003dlistener_dict.get(\u0027protocol\u0027),"},{"line_number":329,"context_line":"                    port\u003dlistener_dict.get(\u0027protocol_port\u0027))"},{"line_number":330,"context_line":"            return None"},{"line_number":331,"context_line":"        except odb_exceptions.DBError as e:"},{"line_number":332,"context_line":"            raise exceptions.InvalidOption(value\u003dlistener_dict.get(\u0027protocol\u0027),"},{"line_number":333,"context_line":"                                           option\u003d\u0027protocol\u0027) from e"}],"source_content_type":"text/x-python","patch_set":1,"id":"32ddcb98_0c284ada","line":330,"in_reply_to":"9c2f0c10_e4c28355","updated":"2021-02-22 16:55:13.000000000","message":"Done","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e283e2e796e0f55993118f77fbd94e03b24faa5a","unresolved":true,"context_lines":[{"line_number":327,"context_line":"                raise exceptions.DuplicateListenerEntry("},{"line_number":328,"context_line":"                    protocol\u003dlistener_dict.get(\u0027protocol\u0027),"},{"line_number":329,"context_line":"                    port\u003dlistener_dict.get(\u0027protocol_port\u0027))"},{"line_number":330,"context_line":"            return None"},{"line_number":331,"context_line":"        except odb_exceptions.DBError as e:"},{"line_number":332,"context_line":"            raise exceptions.InvalidOption(value\u003dlistener_dict.get(\u0027protocol\u0027),"},{"line_number":333,"context_line":"                                           option\u003d\u0027protocol\u0027) from e"}],"source_content_type":"text/x-python","patch_set":1,"id":"9c2f0c10_e4c28355","line":330,"in_reply_to":"bc69a34a_d4374325","updated":"2021-02-22 16:48:31.000000000","message":"+1, I agree that return None can just be a catch all here.","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"}],"octavia/api/v2/controllers/member.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ec3f6786dc31e52ffc890f3241251a5dd8909a31","unresolved":true,"context_lines":[{"line_number":129,"context_line":"                raise exceptions.DuplicateMemberEntry("},{"line_number":130,"context_line":"                    ip_address\u003dmember_dict.get(\u0027ip_address\u0027),"},{"line_number":131,"context_line":"                    port\u003dmember_dict.get(\u0027protocol_port\u0027))"},{"line_number":132,"context_line":"            return None"},{"line_number":133,"context_line":"        except odb_exceptions.DBError as e:"},{"line_number":134,"context_line":"            # TODO(blogan): will have to do separate validation protocol"},{"line_number":135,"context_line":"            # before creation or update since the exception messages"}],"source_content_type":"text/x-python","patch_set":1,"id":"c7765956_c50668c9","line":132,"updated":"2021-02-22 15:22:18.000000000","message":"Same comment as other file","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"d197df22c284f6eadb04c2f03ac9c946fbb63557","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                raise exceptions.DuplicateMemberEntry("},{"line_number":130,"context_line":"                    ip_address\u003dmember_dict.get(\u0027ip_address\u0027),"},{"line_number":131,"context_line":"                    port\u003dmember_dict.get(\u0027protocol_port\u0027))"},{"line_number":132,"context_line":"            return None"},{"line_number":133,"context_line":"        except odb_exceptions.DBError as e:"},{"line_number":134,"context_line":"            # TODO(blogan): will have to do separate validation protocol"},{"line_number":135,"context_line":"            # before creation or update since the exception messages"}],"source_content_type":"text/x-python","patch_set":1,"id":"c716f132_8ba79f2e","line":132,"in_reply_to":"c7765956_c50668c9","updated":"2021-02-22 16:55:13.000000000","message":"Done","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"}],"octavia/certificates/manager/barbican.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ec3f6786dc31e52ffc890f3241251a5dd8909a31","unresolved":true,"context_lines":[{"line_number":91,"context_line":"        except Exception as e:"},{"line_number":92,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":93,"context_line":"                LOG.error(\u0027Error storing certificate data: %s\u0027, str(e))"},{"line_number":94,"context_line":"            return None"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def get_cert(self, context, cert_ref, resource_ref\u003dNone, check_only\u003dFalse,"},{"line_number":97,"context_line":"                 service_name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"420d214c_06cc4730","line":94,"updated":"2021-02-22 15:22:18.000000000","message":"Same comment","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"d197df22c284f6eadb04c2f03ac9c946fbb63557","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        except Exception as e:"},{"line_number":92,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":93,"context_line":"                LOG.error(\u0027Error storing certificate data: %s\u0027, str(e))"},{"line_number":94,"context_line":"            return None"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def get_cert(self, context, cert_ref, resource_ref\u003dNone, check_only\u003dFalse,"},{"line_number":97,"context_line":"                 service_name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"b807bd86_744a2305","line":94,"in_reply_to":"420d214c_06cc4730","updated":"2021-02-22 16:55:13.000000000","message":"Done","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"}],"octavia/certificates/manager/barbican_legacy.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ec3f6786dc31e52ffc890f3241251a5dd8909a31","unresolved":true,"context_lines":[{"line_number":114,"context_line":"                                    i.name, old_ref)"},{"line_number":115,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":116,"context_line":"                LOG.error(\u0027Error storing certificate data: %s\u0027, str(e))"},{"line_number":117,"context_line":"            return None"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def get_cert(self, context, cert_ref, resource_ref\u003dNone, check_only\u003dFalse,"},{"line_number":120,"context_line":"                 service_name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"8d8b3f49_d10951d8","line":117,"updated":"2021-02-22 15:22:18.000000000","message":"Same","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"d197df22c284f6eadb04c2f03ac9c946fbb63557","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                                    i.name, old_ref)"},{"line_number":115,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":116,"context_line":"                LOG.error(\u0027Error storing certificate data: %s\u0027, str(e))"},{"line_number":117,"context_line":"            return None"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def get_cert(self, context, cert_ref, resource_ref\u003dNone, check_only\u003dFalse,"},{"line_number":120,"context_line":"                 service_name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"e7f481be_ab89844b","line":117,"in_reply_to":"8d8b3f49_d10951d8","updated":"2021-02-22 16:55:13.000000000","message":"Done","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ec3f6786dc31e52ffc890f3241251a5dd8909a31","unresolved":true,"context_lines":[{"line_number":159,"context_line":"        except Exception as e:"},{"line_number":160,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":161,"context_line":"                LOG.error(\u0027Error getting cert %s: %s\u0027, cert_ref, str(e))"},{"line_number":162,"context_line":"            return None"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    def delete_cert(self, context, cert_ref, resource_ref, service_name\u003dNone):"},{"line_number":165,"context_line":"        \"\"\"Deregister as a consumer for the specified cert."}],"source_content_type":"text/x-python","patch_set":1,"id":"8c7c5904_27da52c6","line":162,"updated":"2021-02-22 15:22:18.000000000","message":"Same","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"d197df22c284f6eadb04c2f03ac9c946fbb63557","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        except Exception as e:"},{"line_number":160,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":161,"context_line":"                LOG.error(\u0027Error getting cert %s: %s\u0027, cert_ref, str(e))"},{"line_number":162,"context_line":"            return None"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    def delete_cert(self, context, cert_ref, resource_ref, service_name\u003dNone):"},{"line_number":165,"context_line":"        \"\"\"Deregister as a consumer for the specified cert."}],"source_content_type":"text/x-python","patch_set":1,"id":"2706b575_e4edc9a3","line":162,"in_reply_to":"8c7c5904_27da52c6","updated":"2021-02-22 16:55:13.000000000","message":"Done","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"}],"octavia/common/policy.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ec3f6786dc31e52ffc890f3241251a5dd8909a31","unresolved":true,"context_lines":[{"line_number":118,"context_line":"                LOG.debug(\u0027Policy check for %(action)s failed with \u0027"},{"line_number":119,"context_line":"                          \u0027credentials %(credentials)s\u0027,"},{"line_number":120,"context_line":"                          {\u0027action\u0027: action, \u0027credentials\u0027: credentials})"},{"line_number":121,"context_line":"        return None"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def check_is_admin(self, context):"},{"line_number":124,"context_line":"        \"\"\"Does roles contains \u0027admin\u0027 role according to policy setting."}],"source_content_type":"text/x-python","patch_set":1,"id":"9392ead8_ca747fba","line":121,"updated":"2021-02-22 15:22:18.000000000","message":"Looks good :)","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"d197df22c284f6eadb04c2f03ac9c946fbb63557","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                LOG.debug(\u0027Policy check for %(action)s failed with \u0027"},{"line_number":119,"context_line":"                          \u0027credentials %(credentials)s\u0027,"},{"line_number":120,"context_line":"                          {\u0027action\u0027: action, \u0027credentials\u0027: credentials})"},{"line_number":121,"context_line":"        return None"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def check_is_admin(self, context):"},{"line_number":124,"context_line":"        \"\"\"Does roles contains \u0027admin\u0027 role according to policy setting."}],"source_content_type":"text/x-python","patch_set":1,"id":"2acf8d7b_049da5e0","line":121,"in_reply_to":"9392ead8_ca747fba","updated":"2021-02-22 16:55:13.000000000","message":"Thanks!","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"}],"octavia/common/utils.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ec3f6786dc31e52ffc890f3241251a5dd8909a31","unresolved":true,"context_lines":[{"line_number":189,"context_line":"            except Exception as e:"},{"line_number":190,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":191,"context_line":"                    self.logger(e)"},{"line_number":192,"context_line":"                return None"},{"line_number":193,"context_line":"        return call"}],"source_content_type":"text/x-python","patch_set":1,"id":"af293047_8921d534","line":192,"updated":"2021-02-22 15:22:18.000000000","message":"Same","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"d197df22c284f6eadb04c2f03ac9c946fbb63557","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            except Exception as e:"},{"line_number":190,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":191,"context_line":"                    self.logger(e)"},{"line_number":192,"context_line":"                return None"},{"line_number":193,"context_line":"        return call"}],"source_content_type":"text/x-python","patch_set":1,"id":"562280d9_10116bfa","line":192,"in_reply_to":"af293047_8921d534","updated":"2021-02-22 16:55:13.000000000","message":"Done","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"}],"octavia/controller/worker/task_utils.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ec3f6786dc31e52ffc890f3241251a5dd8909a31","unresolved":true,"context_lines":[{"line_number":264,"context_line":"            LOG.error(\"Failed to get loadbalancer %(loadbalancer)s \""},{"line_number":265,"context_line":"                      \"due to: %(except)s\","},{"line_number":266,"context_line":"                      {\u0027loadbalancer\u0027: loadbalancer_id, \u0027except\u0027: str(e)})"},{"line_number":267,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":1,"id":"344d79d7_c008040e","line":267,"updated":"2021-02-22 15:22:18.000000000","message":"Same","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"d197df22c284f6eadb04c2f03ac9c946fbb63557","unresolved":false,"context_lines":[{"line_number":264,"context_line":"            LOG.error(\"Failed to get loadbalancer %(loadbalancer)s \""},{"line_number":265,"context_line":"                      \"due to: %(except)s\","},{"line_number":266,"context_line":"                      {\u0027loadbalancer\u0027: loadbalancer_id, \u0027except\u0027: str(e)})"},{"line_number":267,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":1,"id":"0bf08eea_972b90fb","line":267,"in_reply_to":"344d79d7_c008040e","updated":"2021-02-22 16:55:13.000000000","message":"Done","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"}],"octavia/controller/worker/v1/controller_worker.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ec3f6786dc31e52ffc890f3241251a5dd8909a31","unresolved":true,"context_lines":[{"line_number":111,"context_line":"            return create_amp_tf.storage.fetch(\u0027amphora\u0027)"},{"line_number":112,"context_line":"        except Exception as e:"},{"line_number":113,"context_line":"            LOG.error(\u0027Failed to create an amphora due to: %s\u0027, str(e))"},{"line_number":114,"context_line":"            return None"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def delete_amphora(self, amphora_id):"},{"line_number":117,"context_line":"        \"\"\"Deletes an existing Amphora."}],"source_content_type":"text/x-python","patch_set":1,"id":"ea14b46d_0e0a2fd8","line":114,"updated":"2021-02-22 15:22:18.000000000","message":"Same","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"d197df22c284f6eadb04c2f03ac9c946fbb63557","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            return create_amp_tf.storage.fetch(\u0027amphora\u0027)"},{"line_number":112,"context_line":"        except Exception as e:"},{"line_number":113,"context_line":"            LOG.error(\u0027Failed to create an amphora due to: %s\u0027, str(e))"},{"line_number":114,"context_line":"            return None"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def delete_amphora(self, amphora_id):"},{"line_number":117,"context_line":"        \"\"\"Deletes an existing Amphora."}],"source_content_type":"text/x-python","patch_set":1,"id":"1c938043_64fb8064","line":114,"in_reply_to":"ea14b46d_0e0a2fd8","updated":"2021-02-22 16:55:13.000000000","message":"Done","commit_id":"f3c378e7b535a6e082e981271d8712c00d17e43f"}]}
