)]}'
{"octavia/common/data_models.py":[{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"21348f7c6a9992f95d289620ee29b738adf07a35","unresolved":false,"context_lines":[{"line_number":512,"context_line":"        self.distributor_id \u003d distributor_id"},{"line_number":513,"context_line":"        self.service_type \u003d service_type"},{"line_number":514,"context_line":"        self.frontend_subnet_id \u003d frontend_subnet_id"},{"line_number":515,"context_line":"        self.network_id \u003d network_id"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"    def delete(self):"},{"line_number":518,"context_line":"        for amphora in self.load_balancer.amphorae:"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f91af0f_811556e7","line":515,"updated":"2018-01-10 01:08:40.000000000","message":"frontend_network_id?","commit_id":"075709ea8f8cef315bbbeaeac7bb15f8f9619814"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"6bb594e2248a76f8088bb1b7f6943226e086723e","unresolved":false,"context_lines":[{"line_number":512,"context_line":"        self.distributor_id \u003d distributor_id"},{"line_number":513,"context_line":"        self.service_type \u003d service_type"},{"line_number":514,"context_line":"        self.frontend_subnet_id \u003d frontend_subnet_id"},{"line_number":515,"context_line":"        self.network_id \u003d network_id"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"    def delete(self):"},{"line_number":518,"context_line":"        for amphora in self.load_balancer.amphorae:"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f91af0f_ed944739","line":515,"in_reply_to":"9f91af0f_811556e7","updated":"2018-01-17 06:46:04.000000000","message":"Done","commit_id":"075709ea8f8cef315bbbeaeac7bb15f8f9619814"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"0157183c958a1bf80674b37c32c86b6d03484b55","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        self.cached_zone \u003d cached_zone"},{"line_number":533,"context_line":"        self.distributor_id \u003d distributor_id"},{"line_number":534,"context_line":"        self.service_type \u003d service_type"},{"line_number":535,"context_line":"        # self.frontend_subnet_id \u003d frontend_subnet_id"},{"line_number":536,"context_line":"        # self.frontend_network_id \u003d frontend_network_id"},{"line_number":537,"context_line":""},{"line_number":538,"context_line":"    def delete(self):"},{"line_number":539,"context_line":"        for amphora in self.load_balancer.amphorae:"}],"source_content_type":"text/x-python","patch_set":34,"id":"7f96bb07_84752d34","line":536,"range":{"start_line":535,"start_character":0,"end_line":536,"end_character":56},"updated":"2018-01-19 06:45:31.000000000","message":"Can these be safely removed?","commit_id":"4e89f3a7ec8174c18ec201b85f353ec783c7d79e"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"3d2a99ebcb4d774180b819a8efce4a52a68356b1","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        self.cached_zone \u003d cached_zone"},{"line_number":533,"context_line":"        self.distributor_id \u003d distributor_id"},{"line_number":534,"context_line":"        self.service_type \u003d service_type"},{"line_number":535,"context_line":"        # self.frontend_subnet_id \u003d frontend_subnet_id"},{"line_number":536,"context_line":"        # self.frontend_network_id \u003d frontend_network_id"},{"line_number":537,"context_line":""},{"line_number":538,"context_line":"    def delete(self):"},{"line_number":539,"context_line":"        for amphora in self.load_balancer.amphorae:"}],"source_content_type":"text/x-python","patch_set":34,"id":"7f96bb07_3a8ad51a","line":536,"range":{"start_line":535,"start_character":0,"end_line":536,"end_character":56},"in_reply_to":"7f96bb07_84752d34","updated":"2018-01-23 13:42:27.000000000","message":"Done","commit_id":"4e89f3a7ec8174c18ec201b85f353ec783c7d79e"}],"octavia/db/base_models.py":[{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"8b7f6b79ef0cadb31ed785cdd68fdb44e40aa88c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        if obj.__class__.__name__ in [\u0027Member\u0027, \u0027Pool\u0027, \u0027LoadBalancer\u0027,"},{"line_number":33,"context_line":"                                      \u0027Listener\u0027, \u0027Amphora\u0027, \u0027L7Policy\u0027,"},{"line_number":34,"context_line":"                                      \u0027L7Rule\u0027, \u0027Distributor\u0027,"},{"line_number":35,"context_line":"                                      \u0027DistributorL3BGPSpeaker\u0027,"},{"line_number":36,"context_line":"                                      \u0027DistributorL3BGPPeer\u0027]:"},{"line_number":37,"context_line":"            return obj.__class__.__name__ + obj.id"},{"line_number":38,"context_line":"        elif obj.__class__.__name__ in [\u0027SessionPersistence\u0027, \u0027HealthMonitor\u0027]:"},{"line_number":39,"context_line":"            return obj.__class__.__name__ + obj.pool_id"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f91af0f_ff511f64","line":36,"range":{"start_line":35,"start_character":0,"end_line":36,"end_character":62},"updated":"2017-12-28 01:49:49.000000000","message":"DistributorL3BGPPeerRegistration is not handled here.","commit_id":"8e62b406e75042cf386665f059cd96431ce72a10"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"cb387a3fdd96b2d6a3eef096029405f2a4155b9e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        if obj.__class__.__name__ in [\u0027Member\u0027, \u0027Pool\u0027, \u0027LoadBalancer\u0027,"},{"line_number":33,"context_line":"                                      \u0027Listener\u0027, \u0027Amphora\u0027, \u0027L7Policy\u0027,"},{"line_number":34,"context_line":"                                      \u0027L7Rule\u0027, \u0027Distributor\u0027,"},{"line_number":35,"context_line":"                                      \u0027DistributorL3BGPSpeaker\u0027,"},{"line_number":36,"context_line":"                                      \u0027DistributorL3BGPPeer\u0027]:"},{"line_number":37,"context_line":"            return obj.__class__.__name__ + obj.id"},{"line_number":38,"context_line":"        elif obj.__class__.__name__ in [\u0027SessionPersistence\u0027, \u0027HealthMonitor\u0027]:"},{"line_number":39,"context_line":"            return obj.__class__.__name__ + obj.pool_id"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f91af0f_06f773f7","line":36,"range":{"start_line":35,"start_character":0,"end_line":36,"end_character":62},"in_reply_to":"9f91af0f_ff511f64","updated":"2018-01-05 10:55:58.000000000","message":"Done","commit_id":"8e62b406e75042cf386665f059cd96431ce72a10"}],"octavia/db/migration/alembic_migrations/versions/6cb44aa2c1c9_create_l3_active_active_tables.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e2598dceaf30a43933281f0b7d26bc01bdbd8f76","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    op.create_table("},{"line_number":46,"context_line":"        u\u0027distributor_l3_bgp_peer\u0027,"},{"line_number":47,"context_line":"        sa.Column(u\u0027id\u0027, sa.String(64), nullable\u003dTrue),"},{"line_number":48,"context_line":"        sa.Column(u\u0027peer_ip\u0027, sa.Integer(), nullable\u003dFalse),"},{"line_number":49,"context_line":"        sa.Column(u\u0027remote_as\u0027, sa.Integer(), nullable\u003dFalse),"},{"line_number":50,"context_line":"        sa.Column(u\u0027auth_type\u0027, sa.String(16), nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_ba9d8a67","line":47,"range":{"start_line":47,"start_character":40,"end_line":47,"end_character":48},"updated":"2017-12-16 00:31:59.000000000","message":"This should be primary_key. We can\u0027t have null IDs","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"1930f52df0c6bdc737a788be689e211e2f7aef15","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    op.create_table("},{"line_number":46,"context_line":"        u\u0027distributor_l3_bgp_peer\u0027,"},{"line_number":47,"context_line":"        sa.Column(u\u0027id\u0027, sa.String(64), nullable\u003dTrue),"},{"line_number":48,"context_line":"        sa.Column(u\u0027peer_ip\u0027, sa.Integer(), nullable\u003dFalse),"},{"line_number":49,"context_line":"        sa.Column(u\u0027remote_as\u0027, sa.Integer(), nullable\u003dFalse),"},{"line_number":50,"context_line":"        sa.Column(u\u0027auth_type\u0027, sa.String(16), nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_7e028c0d","line":47,"range":{"start_line":47,"start_character":40,"end_line":47,"end_character":48},"in_reply_to":"df87a7cf_ba9d8a67","updated":"2017-12-17 11:02:19.000000000","message":"Done","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e2598dceaf30a43933281f0b7d26bc01bdbd8f76","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    op.create_table("},{"line_number":56,"context_line":"        u\u0027amphora_registration\u0027,"},{"line_number":57,"context_line":"        sa.Column(u\u0027amphora_id\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":58,"context_line":"        sa.Column(u\u0027load_balancer_id\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":59,"context_line":"        sa.Column(u\u0027distributor_id\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":60,"context_line":"        sa.ForeignKeyConstraint("}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_da716e46","line":57,"range":{"start_line":57,"start_character":48,"end_line":57,"end_character":56},"updated":"2017-12-16 00:31:59.000000000","message":"Should this be a primary key?","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"1930f52df0c6bdc737a788be689e211e2f7aef15","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    op.create_table("},{"line_number":56,"context_line":"        u\u0027amphora_registration\u0027,"},{"line_number":57,"context_line":"        sa.Column(u\u0027amphora_id\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":58,"context_line":"        sa.Column(u\u0027load_balancer_id\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":59,"context_line":"        sa.Column(u\u0027distributor_id\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":60,"context_line":"        sa.ForeignKeyConstraint("}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_4102490b","line":57,"range":{"start_line":57,"start_character":48,"end_line":57,"end_character":56},"in_reply_to":"df87a7cf_da716e46","updated":"2017-12-17 11:02:19.000000000","message":"yes It should be primary key. Done","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e2598dceaf30a43933281f0b7d26bc01bdbd8f76","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    op.create_table("},{"line_number":73,"context_line":"        u\u0027distributor_l3_bgp_peer_registration\u0027,"},{"line_number":74,"context_line":"        sa.Column(u\u0027distributor_l3_bgp_speaker_id\u0027,"},{"line_number":75,"context_line":"                  sa.String(36), nullable\u003dFalse),"},{"line_number":76,"context_line":"        sa.Column(u\u0027distributor_l3_bgp_peer_id\u0027,"},{"line_number":77,"context_line":"                  sa.String(36), nullable\u003dFalse),"},{"line_number":78,"context_line":"        sa.ForeignKeyConstraint("}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_7ab702da","line":75,"range":{"start_line":75,"start_character":33,"end_line":75,"end_character":41},"updated":"2017-12-16 00:31:59.000000000","message":"Should this be the primary key?","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"1930f52df0c6bdc737a788be689e211e2f7aef15","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    op.create_table("},{"line_number":73,"context_line":"        u\u0027distributor_l3_bgp_peer_registration\u0027,"},{"line_number":74,"context_line":"        sa.Column(u\u0027distributor_l3_bgp_speaker_id\u0027,"},{"line_number":75,"context_line":"                  sa.String(36), nullable\u003dFalse),"},{"line_number":76,"context_line":"        sa.Column(u\u0027distributor_l3_bgp_peer_id\u0027,"},{"line_number":77,"context_line":"                  sa.String(36), nullable\u003dFalse),"},{"line_number":78,"context_line":"        sa.ForeignKeyConstraint("}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_e1083d29","line":75,"range":{"start_line":75,"start_character":33,"end_line":75,"end_character":41},"in_reply_to":"df87a7cf_7ab702da","updated":"2017-12-17 11:02:19.000000000","message":"Done","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e2598dceaf30a43933281f0b7d26bc01bdbd8f76","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        u\u0027distributor_l3_amphora_bgp_speaker_registration\u0027,"},{"line_number":90,"context_line":"        sa.Column(u\u0027distributor_l3_bgp_speaker_id\u0027,"},{"line_number":91,"context_line":"                  sa.String(36), nullable\u003dFalse),"},{"line_number":92,"context_line":"        sa.Column(u\u0027amphora_id\u0027,"},{"line_number":93,"context_line":"                  sa.String(36), nullable\u003dFalse),"},{"line_number":94,"context_line":"        sa.ForeignKeyConstraint("},{"line_number":95,"context_line":"            [u\u0027distributor_l3_bgp_speaker_id\u0027],"}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_f8279963","line":92,"range":{"start_line":92,"start_character":20,"end_line":92,"end_character":30},"updated":"2017-12-16 00:31:59.000000000","message":"Shouldn\u0027t this be tied to the distributor? Distributors can have more than one amphora.","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"1930f52df0c6bdc737a788be689e211e2f7aef15","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        u\u0027distributor_l3_amphora_bgp_speaker_registration\u0027,"},{"line_number":90,"context_line":"        sa.Column(u\u0027distributor_l3_bgp_speaker_id\u0027,"},{"line_number":91,"context_line":"                  sa.String(36), nullable\u003dFalse),"},{"line_number":92,"context_line":"        sa.Column(u\u0027amphora_id\u0027,"},{"line_number":93,"context_line":"                  sa.String(36), nullable\u003dFalse),"},{"line_number":94,"context_line":"        sa.ForeignKeyConstraint("},{"line_number":95,"context_line":"            [u\u0027distributor_l3_bgp_speaker_id\u0027],"}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_a1123557","line":92,"range":{"start_line":92,"start_character":20,"end_line":92,"end_character":30},"in_reply_to":"df87a7cf_f8279963","updated":"2017-12-17 11:02:19.000000000","message":"yes, it Should be in case of Amphora being distributor. I was considering L3 distributor scenario\u0027s only.","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e2598dceaf30a43933281f0b7d26bc01bdbd8f76","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    op.add_column("},{"line_number":129,"context_line":"        u\u0027amphora\u0027,"},{"line_number":130,"context_line":"        sa.Column(u\u0027fronten_subnet_id\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    op.add_column("},{"line_number":133,"context_line":"        u\u0027amphora\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_1a39163e","line":130,"range":{"start_line":130,"start_character":20,"end_line":130,"end_character":27},"updated":"2017-12-16 00:31:59.000000000","message":"frontend","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"1930f52df0c6bdc737a788be689e211e2f7aef15","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    op.add_column("},{"line_number":129,"context_line":"        u\u0027amphora\u0027,"},{"line_number":130,"context_line":"        sa.Column(u\u0027fronten_subnet_id\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    op.add_column("},{"line_number":133,"context_line":"        u\u0027amphora\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_c10df935","line":130,"range":{"start_line":130,"start_character":20,"end_line":130,"end_character":27},"in_reply_to":"df87a7cf_1a39163e","updated":"2017-12-17 11:02:19.000000000","message":"My Bad, Done","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e2598dceaf30a43933281f0b7d26bc01bdbd8f76","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    op.add_column("},{"line_number":133,"context_line":"        u\u0027amphora\u0027,"},{"line_number":134,"context_line":"        sa.Column(u\u0027service_type\u0027, sa.String(36), nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_fa547256","line":134,"range":{"start_line":134,"start_character":20,"end_line":134,"end_character":32},"updated":"2017-12-16 00:31:59.000000000","message":"amphora_type seems more clear.\nThis also needs a table, populated with valid options, and this setup as a foreign key to that table.","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"1930f52df0c6bdc737a788be689e211e2f7aef15","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    op.add_column("},{"line_number":133,"context_line":"        u\u0027amphora\u0027,"},{"line_number":134,"context_line":"        sa.Column(u\u0027service_type\u0027, sa.String(36), nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_611c2d6a","line":134,"range":{"start_line":134,"start_character":20,"end_line":134,"end_character":32},"in_reply_to":"df87a7cf_fa547256","updated":"2017-12-17 11:02:19.000000000","message":"Yes need tables. I have created models for different types, Miss to update upgrades. Will add them.","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"5686b3bb495c11976c4d2fe44b415d6f674d9772","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\"\"\"create l3-active-active tables"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Revision ID: 6cb44aa2c1c9"},{"line_number":17,"context_line":"Revises: d5cf3da30ed8"},{"line_number":18,"context_line":"Create Date: 2017-11-30 23:31:22.278044"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":21,"id":"9f91af0f_930e518b","line":17,"updated":"2018-01-06 02:08:18.000000000","message":"Revises: 0aee2b450512","commit_id":"b43ea448c3dd54aeb6f4654c1c25a2f2a6765f2f"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"b6ea37ea455c03e7e17b264cf34a00b1fde24c82","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\"\"\"create l3-active-active tables"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Revision ID: 6cb44aa2c1c9"},{"line_number":17,"context_line":"Revises: d5cf3da30ed8"},{"line_number":18,"context_line":"Create Date: 2017-11-30 23:31:22.278044"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":21,"id":"9f91af0f_331d05bd","line":17,"in_reply_to":"9f91af0f_930e518b","updated":"2018-01-06 02:10:34.000000000","message":"\u003e Revises: 0aee2b450512\n\nIgnore this","commit_id":"b43ea448c3dd54aeb6f4654c1c25a2f2a6765f2f"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"5686b3bb495c11976c4d2fe44b415d6f674d9772","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# revision identifiers, used by Alembic."},{"line_number":26,"context_line":"revision \u003d \u00276cb44aa2c1c9\u0027"},{"line_number":27,"context_line":"down_revision \u003d \u0027bf171d0d91c3\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def upgrade():"}],"source_content_type":"text/x-python","patch_set":21,"id":"9f91af0f_d314d9a2","line":27,"updated":"2018-01-06 02:08:18.000000000","message":"down_revision \u003d \u00270aee2b450512\u0027","commit_id":"b43ea448c3dd54aeb6f4654c1c25a2f2a6765f2f"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"b6ea37ea455c03e7e17b264cf34a00b1fde24c82","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# revision identifiers, used by Alembic."},{"line_number":26,"context_line":"revision \u003d \u00276cb44aa2c1c9\u0027"},{"line_number":27,"context_line":"down_revision \u003d \u0027bf171d0d91c3\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def upgrade():"}],"source_content_type":"text/x-python","patch_set":21,"id":"9f91af0f_d37939fc","line":27,"in_reply_to":"9f91af0f_d314d9a2","updated":"2018-01-06 02:10:34.000000000","message":"\u003e down_revision \u003d \u00270aee2b450512\u0027\n\nIgnore this","commit_id":"b43ea448c3dd54aeb6f4654c1c25a2f2a6765f2f"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"dfc040c5a05634e5ae6456d9b41b8341a16db366","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# revision identifiers, used by Alembic."},{"line_number":26,"context_line":"revision \u003d \u00276cb44aa2c1c9\u0027"},{"line_number":27,"context_line":"down_revision \u003d \u0027bf171d0d91c3\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def upgrade():"}],"source_content_type":"text/x-python","patch_set":21,"id":"9f91af0f_4f99fdc1","line":27,"in_reply_to":"9f91af0f_d37939fc","updated":"2018-01-06 03:13:03.000000000","message":"down_revision\u003d d5cf3da30ed8 should be the correct one after rebase and fix merge conflict.","commit_id":"b43ea448c3dd54aeb6f4654c1c25a2f2a6765f2f"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"21348f7c6a9992f95d289620ee29b738adf07a35","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    op.add_column("},{"line_number":128,"context_line":"        u\u0027amphora\u0027,"},{"line_number":129,"context_line":"        sa.Column(u\u0027network_id\u0027, sa.String(36), nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f91af0f_01df063a","line":129,"updated":"2018-01-10 01:08:40.000000000","message":"frontend_network_id?","commit_id":"075709ea8f8cef315bbbeaeac7bb15f8f9619814"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"f0f68f0ab53bf6cbba160a1d39837b771c47c69c","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        sa.ForeignKeyConstraint([u\u0027load_balancer_id\u0027], [u\u0027load_balancer.id\u0027],"},{"line_number":38,"context_line":"                                name\u003du\u0027fk_amphora_frontend_load_balancer_id\u0027)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    )"},{"line_number":41,"context_line":"    op.create_table("},{"line_number":42,"context_line":"        u\u0027distributor_l3_bgp_speaker\u0027,"},{"line_number":43,"context_line":"        sa.Column(u\u0027id\u0027, sa.String(36), primary_key\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":33,"id":"7f96bb07_b47bd189","line":40,"updated":"2018-01-18 15:22:17.000000000","message":"We should populate the existing vip subnet_id and network_id into this table.\nThis is for upgrading, otherwise we get empty frontend network information for existing load balancers.\n\nHere is a similar one:\nhttps://review.openstack.org/#/c/529936/6/octavia/db/migration/alembic_migrations/versions/d7f02b85e054_add_frontend_l3_active_active.py","commit_id":"342b92869a8b06fb875e8b315f7d7faf5b1de8ac"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"de0a372d049c550a20a854f211477452ed8f5f57","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        sa.ForeignKeyConstraint([u\u0027load_balancer_id\u0027], [u\u0027load_balancer.id\u0027],"},{"line_number":38,"context_line":"                                name\u003du\u0027fk_amphora_frontend_load_balancer_id\u0027)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    )"},{"line_number":41,"context_line":"    op.create_table("},{"line_number":42,"context_line":"        u\u0027distributor_l3_bgp_speaker\u0027,"},{"line_number":43,"context_line":"        sa.Column(u\u0027id\u0027, sa.String(36), primary_key\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":33,"id":"7f96bb07_6ecc8234","line":40,"in_reply_to":"7f96bb07_b47bd189","updated":"2018-01-19 05:06:48.000000000","message":"Done","commit_id":"342b92869a8b06fb875e8b315f7d7faf5b1de8ac"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"455079c8c966841e5804f85a6c202535ca66a215","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        sa.Column(u\u0027ttl_hops\u0027, sa.Integer(), nullable\u003dTrue),"},{"line_number":61,"context_line":"        sa.Column(u\u0027hold_time\u0027, sa.Integer(), nullable\u003dTrue),"},{"line_number":62,"context_line":"        sa.Column(u\u0027keepalive_interval\u0027, sa.Integer(), nullable\u003dTrue),"},{"line_number":63,"context_line":"        sa.UniqueConstraint(u\u0027ip\u0027, u\u0027remote_s\u0027,"},{"line_number":64,"context_line":"                            name\u003du\u0027uq_distributor_l3_bgp_peer_ip_remote_as\u0027)"},{"line_number":65,"context_line":"    )"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"7f96bb07_baf90581","line":63,"range":{"start_line":63,"start_character":37,"end_line":63,"end_character":45},"updated":"2018-01-23 13:43:08.000000000","message":"remote_as?","commit_id":"d6725d19b7b923aaa9a9150fd578fb13a2ab8bd0"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"b23535d872a10a1684df59464fb7b5773ee3997d","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        sa.Column(u\u0027ttl_hops\u0027, sa.Integer(), nullable\u003dTrue),"},{"line_number":61,"context_line":"        sa.Column(u\u0027hold_time\u0027, sa.Integer(), nullable\u003dTrue),"},{"line_number":62,"context_line":"        sa.Column(u\u0027keepalive_interval\u0027, sa.Integer(), nullable\u003dTrue),"},{"line_number":63,"context_line":"        sa.UniqueConstraint(u\u0027ip\u0027, u\u0027remote_s\u0027,"},{"line_number":64,"context_line":"                            name\u003du\u0027uq_distributor_l3_bgp_peer_ip_remote_as\u0027)"},{"line_number":65,"context_line":"    )"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"7f96bb07_9de1a32d","line":63,"range":{"start_line":63,"start_character":37,"end_line":63,"end_character":45},"in_reply_to":"7f96bb07_baf90581","updated":"2018-01-23 13:56:27.000000000","message":"Done","commit_id":"d6725d19b7b923aaa9a9150fd578fb13a2ab8bd0"}],"octavia/db/models.py":[{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"21348f7c6a9992f95d289620ee29b738adf07a35","unresolved":false,"context_lines":[{"line_number":542,"context_line":"                                   backref\u003dorm.backref(\"amphorae\","},{"line_number":543,"context_line":"                                                       uselist\u003dTrue))"},{"line_number":544,"context_line":"    frontend_subnet_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":545,"context_line":"    network_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"class AmphoraHealth(base_models.BASE):"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f91af0f_81ea36d5","line":545,"range":{"start_line":545,"start_character":4,"end_line":545,"end_character":14},"updated":"2018-01-10 01:08:40.000000000","message":"frontend_network_id?","commit_id":"075709ea8f8cef315bbbeaeac7bb15f8f9619814"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"5e9fb803c34c1886a267b4c5cc94a0fc31f5bfff","unresolved":false,"context_lines":[{"line_number":541,"context_line":"    distributor \u003d orm.relationship(\"Distributor\", uselist\u003dFalse,"},{"line_number":542,"context_line":"                                   backref\u003dorm.backref(\"amphorae\","},{"line_number":543,"context_line":"                                                       uselist\u003dTrue))"},{"line_number":544,"context_line":"    frontend_subnet_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":545,"context_line":"    frontend_network_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"class AmphoraHealth(base_models.BASE):"}],"source_content_type":"text/x-python","patch_set":30,"id":"7f96bb07_ff0d423e","line":545,"range":{"start_line":544,"start_character":0,"end_line":545,"end_character":65},"updated":"2018-01-15 02:58:56.000000000","message":"We need to discuss this, these values are feed from load balancer creation.\nShould we move this to load balancer table and make foreign keys here?","commit_id":"58dabe064b1bc28d12824663cc3df3c0b3303f2b"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"6bb594e2248a76f8088bb1b7f6943226e086723e","unresolved":false,"context_lines":[{"line_number":541,"context_line":"    distributor \u003d orm.relationship(\"Distributor\", uselist\u003dFalse,"},{"line_number":542,"context_line":"                                   backref\u003dorm.backref(\"amphorae\","},{"line_number":543,"context_line":"                                                       uselist\u003dTrue))"},{"line_number":544,"context_line":"    frontend_subnet_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":545,"context_line":"    frontend_network_id \u003d sa.Column(sa.String(36), nullable\u003dTrue)"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"class AmphoraHealth(base_models.BASE):"}],"source_content_type":"text/x-python","patch_set":30,"id":"7f96bb07_1e0c5eea","line":545,"range":{"start_line":544,"start_character":0,"end_line":545,"end_character":65},"in_reply_to":"7f96bb07_ff0d423e","updated":"2018-01-17 06:46:04.000000000","message":"Added AmphoraFrontend table","commit_id":"58dabe064b1bc28d12824663cc3df3c0b3303f2b"}],"octavia/db/repositories.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"abb2c8ac68bcf225a664ddb28ac8dabd82be95d8","unresolved":false,"context_lines":[{"line_number":1348,"context_line":""},{"line_number":1349,"context_line":""},{"line_number":1350,"context_line":"class DistributorRepository(BaseRepository):"},{"line_number":1351,"context_line":"    models_class \u003d models.Distributor"},{"line_number":1352,"context_line":""},{"line_number":1353,"context_line":"    def update(self, session, id, **model_kwargs):"},{"line_number":1354,"context_line":"        with session.begin(subtransactions\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":14,"id":"df87a7cf_0963e443","line":1351,"range":{"start_line":1351,"start_character":4,"end_line":1351,"end_character":16},"updated":"2017-12-18 16:36:14.000000000","message":"model_class","commit_id":"a3b6c4614838e90330cd0eed48f624c6e712a7a1"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"db448cf437e2baac9adc60ed85c9be4451561327","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        self.amp_build_req \u003d AmphoraBuildReqRepository()"},{"line_number":167,"context_line":"        self.quotas \u003d QuotasRepository()"},{"line_number":168,"context_line":"        self.distributor \u003d DistributorRepository()"},{"line_number":169,"context_line":"        self.amphora_frontend \u003d AmphoraBuildSlotsRepository()"},{"line_number":170,"context_line":"        self.distributor_l3_bgp_speaker \u003d DistributorL3BGPSpeakerRepository()"},{"line_number":171,"context_line":"        self.distributor_l3_bgp_peer \u003d DistributorL3BGPPeerRepository()"},{"line_number":172,"context_line":"        self.amphora_registration \u003d AmphoraRegistrationRepository()"}],"source_content_type":"text/x-python","patch_set":32,"id":"7f96bb07_e0954c34","line":169,"updated":"2018-01-17 07:54:36.000000000","message":"Should this be AmphoraFrontendRepository()?","commit_id":"5ef9cb9329e47f7646d5e0c03c88ddc3af7a5294"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"7480cea8c8bb69b80cd73208965510eb96475820","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        self.amp_build_req \u003d AmphoraBuildReqRepository()"},{"line_number":167,"context_line":"        self.quotas \u003d QuotasRepository()"},{"line_number":168,"context_line":"        self.distributor \u003d DistributorRepository()"},{"line_number":169,"context_line":"        self.amphora_frontend \u003d AmphoraBuildSlotsRepository()"},{"line_number":170,"context_line":"        self.distributor_l3_bgp_speaker \u003d DistributorL3BGPSpeakerRepository()"},{"line_number":171,"context_line":"        self.distributor_l3_bgp_peer \u003d DistributorL3BGPPeerRepository()"},{"line_number":172,"context_line":"        self.amphora_registration \u003d AmphoraRegistrationRepository()"}],"source_content_type":"text/x-python","patch_set":32,"id":"7f96bb07_600cdc40","line":169,"in_reply_to":"7f96bb07_e0954c34","updated":"2018-01-17 18:39:44.000000000","message":"Done","commit_id":"5ef9cb9329e47f7646d5e0c03c88ddc3af7a5294"}],"octavia/tests/functional/db/test_repositories.py":[{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"06987de4ffc974fa3a424f408ff0c46cfa0e1ef7","unresolved":false,"context_lines":[{"line_number":4192,"context_line":"        new_amp_reg \u003d self.amphora_reg_repo.update("},{"line_number":4193,"context_line":"            self.session,"},{"line_number":4194,"context_line":"            amphora_id\u003damphora_id,"},{"line_number":4195,"context_line":"            amp_reg\u003damp_reg)"},{"line_number":4196,"context_line":""},{"line_number":4197,"context_line":"        return new_amp_reg"},{"line_number":4198,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_3129b39a","line":4195,"updated":"2017-12-15 09:26:48.000000000","message":"This does not match what\u0027s defined in repositories.py\nIt is called amphora_registration there\n\nAlso amphora_id\u003damphora_id, should be amphora_id,","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"1930f52df0c6bdc737a788be689e211e2f7aef15","unresolved":false,"context_lines":[{"line_number":4192,"context_line":"        new_amp_reg \u003d self.amphora_reg_repo.update("},{"line_number":4193,"context_line":"            self.session,"},{"line_number":4194,"context_line":"            amphora_id\u003damphora_id,"},{"line_number":4195,"context_line":"            amp_reg\u003damp_reg)"},{"line_number":4196,"context_line":""},{"line_number":4197,"context_line":"        return new_amp_reg"},{"line_number":4198,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"df87a7cf_34ec2528","line":4195,"in_reply_to":"df87a7cf_3129b39a","updated":"2017-12-17 11:02:19.000000000","message":"Done","commit_id":"6b43fa2d7fa00da2e3fe82df15cab3759230c1f2"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"8b7f6b79ef0cadb31ed785cdd68fdb44e40aa88c","unresolved":false,"context_lines":[{"line_number":4209,"context_line":"        dist \u003d self.distributor_repo.create("},{"line_number":4210,"context_line":"            self.session,"},{"line_number":4211,"context_line":"            id\u003ddistributor_id,"},{"line_number":4212,"context_line":"            distributor_type\u003dconstants.DISTRIBUTOR_TYPE_L3_BGP,"},{"line_number":4213,"context_line":"            provisioning_status\u003dconstants.ONLINE,"},{"line_number":4214,"context_line":"            operating_status\u003dconstants.ACTIVE)"},{"line_number":4215,"context_line":"        return dist"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f91af0f_bfc15731","line":4212,"range":{"start_line":4212,"start_character":12,"end_line":4212,"end_character":63},"updated":"2017-12-28 01:49:49.000000000","message":"The constant referred here is not defined.\nAlso it seems there is no column called distributor_type, there is only a topology column","commit_id":"8e62b406e75042cf386665f059cd96431ce72a10"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"cb387a3fdd96b2d6a3eef096029405f2a4155b9e","unresolved":false,"context_lines":[{"line_number":4209,"context_line":"        dist \u003d self.distributor_repo.create("},{"line_number":4210,"context_line":"            self.session,"},{"line_number":4211,"context_line":"            id\u003ddistributor_id,"},{"line_number":4212,"context_line":"            distributor_type\u003dconstants.DISTRIBUTOR_TYPE_L3_BGP,"},{"line_number":4213,"context_line":"            provisioning_status\u003dconstants.ONLINE,"},{"line_number":4214,"context_line":"            operating_status\u003dconstants.ACTIVE)"},{"line_number":4215,"context_line":"        return dist"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f91af0f_66551fc6","line":4212,"range":{"start_line":4212,"start_character":12,"end_line":4212,"end_character":63},"in_reply_to":"9f91af0f_bfc15731","updated":"2018-01-05 10:55:58.000000000","message":"Done","commit_id":"8e62b406e75042cf386665f059cd96431ce72a10"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"8b7f6b79ef0cadb31ed785cdd68fdb44e40aa88c","unresolved":false,"context_lines":[{"line_number":4244,"context_line":"        self.create_amphora_registration()"},{"line_number":4245,"context_line":""},{"line_number":4246,"context_line":"    def test_update(self):"},{"line_number":4247,"context_line":"        expected \u003d self.update_amp_reg(amphora_id\u003dself.FAKE_UUID_1)"},{"line_number":4248,"context_line":"        observed \u003d self.amphora_registration_repo.get("},{"line_number":4249,"context_line":"            self.session,"},{"line_number":4250,"context_line":"            amphora_id\u003dself.FAKE_UUID_1)"},{"line_number":4251,"context_line":"        self.assertIsInstance(expected, models.AmphoraRegistration)"},{"line_number":4252,"context_line":"        self.assertEqual(expected.amphora_id, observed.amphora_id)"},{"line_number":4253,"context_line":"        self.assertEqual(expected.load_balancer_id, observed.load_balancer_id)"},{"line_number":4254,"context_line":"        self.assertEqual(expected.distributor_id, observed.distributor_id)"},{"line_number":4255,"context_line":""},{"line_number":4256,"context_line":"    def test_delete(self):"},{"line_number":4257,"context_line":"        expected \u003d self.create_amphora_registration()"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f91af0f_dff8db7d","line":4254,"range":{"start_line":4247,"start_character":0,"end_line":4254,"end_character":74},"updated":"2017-12-28 01:49:49.000000000","message":"It should create the depend resources before update like in the test_create above, otherwise it would cause foreign key constraint error.","commit_id":"8e62b406e75042cf386665f059cd96431ce72a10"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"cb387a3fdd96b2d6a3eef096029405f2a4155b9e","unresolved":false,"context_lines":[{"line_number":4244,"context_line":"        self.create_amphora_registration()"},{"line_number":4245,"context_line":""},{"line_number":4246,"context_line":"    def test_update(self):"},{"line_number":4247,"context_line":"        expected \u003d self.update_amp_reg(amphora_id\u003dself.FAKE_UUID_1)"},{"line_number":4248,"context_line":"        observed \u003d self.amphora_registration_repo.get("},{"line_number":4249,"context_line":"            self.session,"},{"line_number":4250,"context_line":"            amphora_id\u003dself.FAKE_UUID_1)"},{"line_number":4251,"context_line":"        self.assertIsInstance(expected, models.AmphoraRegistration)"},{"line_number":4252,"context_line":"        self.assertEqual(expected.amphora_id, observed.amphora_id)"},{"line_number":4253,"context_line":"        self.assertEqual(expected.load_balancer_id, observed.load_balancer_id)"},{"line_number":4254,"context_line":"        self.assertEqual(expected.distributor_id, observed.distributor_id)"},{"line_number":4255,"context_line":""},{"line_number":4256,"context_line":"    def test_delete(self):"},{"line_number":4257,"context_line":"        expected \u003d self.create_amphora_registration()"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f91af0f_865063d6","line":4254,"range":{"start_line":4247,"start_character":0,"end_line":4254,"end_character":74},"in_reply_to":"9f91af0f_dff8db7d","updated":"2018-01-05 10:55:58.000000000","message":"Done","commit_id":"8e62b406e75042cf386665f059cd96431ce72a10"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"8b7f6b79ef0cadb31ed785cdd68fdb44e40aa88c","unresolved":false,"context_lines":[{"line_number":4318,"context_line":"        super(DistributorL3AmpBGPSpeakerRegRepositoryTest, self).setUp()"},{"line_number":4319,"context_line":""},{"line_number":4320,"context_line":"    def create_distributor_l3amp_bgp_speaker_reg(self):"},{"line_number":4321,"context_line":"        dist_l3ampbgp_speaker_reg \u003d ("},{"line_number":4322,"context_line":"            self.distributor_l3_amphora_bgp_speaker_registration_repo.create("},{"line_number":4323,"context_line":"                self.session,"},{"line_number":4324,"context_line":"                distributor_l3_bgp_speaker_id\u003dself.FAKE_UUID_1,"},{"line_number":4325,"context_line":"                amphora_id\u003dself.FAKE_UUID_2"},{"line_number":4326,"context_line":"            ))"},{"line_number":4327,"context_line":"        return dist_l3ampbgp_speaker_reg"},{"line_number":4328,"context_line":""},{"line_number":4329,"context_line":"    def test_delete(self):"},{"line_number":4330,"context_line":"        expected \u003d self.create_distributor_l3amp_bgp_speaker_reg()"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f91af0f_bfd637f1","line":4327,"range":{"start_line":4321,"start_character":0,"end_line":4327,"end_character":40},"updated":"2017-12-28 01:49:49.000000000","message":"The amphora is not created before bgp speaker registrations, which would cause a foreign key constraint error.","commit_id":"8e62b406e75042cf386665f059cd96431ce72a10"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"cb387a3fdd96b2d6a3eef096029405f2a4155b9e","unresolved":false,"context_lines":[{"line_number":4318,"context_line":"        super(DistributorL3AmpBGPSpeakerRegRepositoryTest, self).setUp()"},{"line_number":4319,"context_line":""},{"line_number":4320,"context_line":"    def create_distributor_l3amp_bgp_speaker_reg(self):"},{"line_number":4321,"context_line":"        dist_l3ampbgp_speaker_reg \u003d ("},{"line_number":4322,"context_line":"            self.distributor_l3_amphora_bgp_speaker_registration_repo.create("},{"line_number":4323,"context_line":"                self.session,"},{"line_number":4324,"context_line":"                distributor_l3_bgp_speaker_id\u003dself.FAKE_UUID_1,"},{"line_number":4325,"context_line":"                amphora_id\u003dself.FAKE_UUID_2"},{"line_number":4326,"context_line":"            ))"},{"line_number":4327,"context_line":"        return dist_l3ampbgp_speaker_reg"},{"line_number":4328,"context_line":""},{"line_number":4329,"context_line":"    def test_delete(self):"},{"line_number":4330,"context_line":"        expected \u003d self.create_distributor_l3amp_bgp_speaker_reg()"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f91af0f_c6466b22","line":4327,"range":{"start_line":4321,"start_character":0,"end_line":4327,"end_character":40},"in_reply_to":"9f91af0f_bfd637f1","updated":"2018-01-05 10:55:58.000000000","message":"Done","commit_id":"8e62b406e75042cf386665f059cd96431ce72a10"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"8b7f6b79ef0cadb31ed785cdd68fdb44e40aa88c","unresolved":false,"context_lines":[{"line_number":4344,"context_line":"    def setUp(self):"},{"line_number":4345,"context_line":"        super(DistributorL3AmpVIPRegistrationRepositroyTest, self).setUp()"},{"line_number":4346,"context_line":""},{"line_number":4347,"context_line":"    def create_distributor_l3amp_vip_reg(self):"},{"line_number":4348,"context_line":"        dist_l3amp_vip_reg \u003d ("},{"line_number":4349,"context_line":"            self.distributor_l3_amphora_vip_registration_repo.create("},{"line_number":4350,"context_line":"                self.session,"},{"line_number":4351,"context_line":"                amphora_id\u003dself.FAKE_UUID_1,"},{"line_number":4352,"context_line":"                load_balancer_id\u003dself.FAKE_UUID_2,"},{"line_number":4353,"context_line":"                nexthop_ip\u003dself.FAKE_IP,"},{"line_number":4354,"context_line":"                distributor_l3_bgp_peer_id\u003dself.FAKE_UUID_2))"},{"line_number":4355,"context_line":"        return dist_l3amp_vip_reg"},{"line_number":4356,"context_line":""},{"line_number":4357,"context_line":"    def update_distributor_l3amp_vip_reg(self, amphora_id, load_balancer_id):"},{"line_number":4358,"context_line":"        dist_l3amp_vip_reg \u003d {\u0027amphora_id\u0027: amphora_id,"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f91af0f_bf44f7b8","line":4355,"range":{"start_line":4347,"start_character":0,"end_line":4355,"end_character":33},"updated":"2017-12-28 01:49:49.000000000","message":"It should create the depended resources such as amphora and loadbalancer, otherwise it would cause foreign key constraint error.","commit_id":"8e62b406e75042cf386665f059cd96431ce72a10"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"cb387a3fdd96b2d6a3eef096029405f2a4155b9e","unresolved":false,"context_lines":[{"line_number":4344,"context_line":"    def setUp(self):"},{"line_number":4345,"context_line":"        super(DistributorL3AmpVIPRegistrationRepositroyTest, self).setUp()"},{"line_number":4346,"context_line":""},{"line_number":4347,"context_line":"    def create_distributor_l3amp_vip_reg(self):"},{"line_number":4348,"context_line":"        dist_l3amp_vip_reg \u003d ("},{"line_number":4349,"context_line":"            self.distributor_l3_amphora_vip_registration_repo.create("},{"line_number":4350,"context_line":"                self.session,"},{"line_number":4351,"context_line":"                amphora_id\u003dself.FAKE_UUID_1,"},{"line_number":4352,"context_line":"                load_balancer_id\u003dself.FAKE_UUID_2,"},{"line_number":4353,"context_line":"                nexthop_ip\u003dself.FAKE_IP,"},{"line_number":4354,"context_line":"                distributor_l3_bgp_peer_id\u003dself.FAKE_UUID_2))"},{"line_number":4355,"context_line":"        return dist_l3amp_vip_reg"},{"line_number":4356,"context_line":""},{"line_number":4357,"context_line":"    def update_distributor_l3amp_vip_reg(self, amphora_id, load_balancer_id):"},{"line_number":4358,"context_line":"        dist_l3amp_vip_reg \u003d {\u0027amphora_id\u0027: amphora_id,"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f91af0f_06453317","line":4355,"range":{"start_line":4347,"start_character":0,"end_line":4355,"end_character":33},"in_reply_to":"9f91af0f_bf44f7b8","updated":"2018-01-05 10:55:58.000000000","message":"Done","commit_id":"8e62b406e75042cf386665f059cd96431ce72a10"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"8b7f6b79ef0cadb31ed785cdd68fdb44e40aa88c","unresolved":false,"context_lines":[{"line_number":4365,"context_line":"            self.distributor_l3_amphora_vip_registration_repo.update("},{"line_number":4366,"context_line":"                self.session,"},{"line_number":4367,"context_line":"                amphora_id\u003damphora_id,"},{"line_number":4368,"context_line":"                oad_balancer_id\u003dload_balancer_id,"},{"line_number":4369,"context_line":"                dist_l3amp_vip_reg\u003ddist_l3amp_vip_reg))"},{"line_number":4370,"context_line":"        return new_dist_l3amp_vip_reg"},{"line_number":4371,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"9f91af0f_9f2013fa","line":4368,"range":{"start_line":4368,"start_character":16,"end_line":4368,"end_character":31},"updated":"2017-12-28 01:49:49.000000000","message":"load_balancer_id?","commit_id":"8e62b406e75042cf386665f059cd96431ce72a10"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"cb387a3fdd96b2d6a3eef096029405f2a4155b9e","unresolved":false,"context_lines":[{"line_number":4365,"context_line":"            self.distributor_l3_amphora_vip_registration_repo.update("},{"line_number":4366,"context_line":"                self.session,"},{"line_number":4367,"context_line":"                amphora_id\u003damphora_id,"},{"line_number":4368,"context_line":"                oad_balancer_id\u003dload_balancer_id,"},{"line_number":4369,"context_line":"                dist_l3amp_vip_reg\u003ddist_l3amp_vip_reg))"},{"line_number":4370,"context_line":"        return new_dist_l3amp_vip_reg"},{"line_number":4371,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"9f91af0f_a64b2729","line":4368,"range":{"start_line":4368,"start_character":16,"end_line":4368,"end_character":31},"in_reply_to":"9f91af0f_9f2013fa","updated":"2018-01-05 10:55:58.000000000","message":"Done","commit_id":"8e62b406e75042cf386665f059cd96431ce72a10"}],"octavia/tests/unit/controller/housekeeping/test_house_keeping.py":[{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"21348f7c6a9992f95d289620ee29b738adf07a35","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            vrrp_ip\u003dself.FAKE_IP,"},{"line_number":112,"context_line":"            ha_ip\u003dself.FAKE_IP,"},{"line_number":113,"context_line":"            frontend_subnet_id\u003dself.FAKE_UUID_1,"},{"line_number":114,"context_line":"            network_id\u003dself.FAKE_UUID_3)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        self.amp_repo.get_all.return_value \u003d ([amphora], None)"},{"line_number":117,"context_line":"        self.amp_health_repo.check_amphora_expired.return_value \u003d True"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f91af0f_41c2ee5a","line":114,"range":{"start_line":114,"start_character":12,"end_line":114,"end_character":22},"updated":"2018-01-10 01:08:40.000000000","message":"frontend_network_id?","commit_id":"075709ea8f8cef315bbbeaeac7bb15f8f9619814"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"21348f7c6a9992f95d289620ee29b738adf07a35","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            vrrp_ip\u003dself.FAKE_IP,"},{"line_number":134,"context_line":"            ha_ip\u003dself.FAKE_IP,"},{"line_number":135,"context_line":"            frontend_subnet_id\u003dself.FAKE_UUID_1,"},{"line_number":136,"context_line":"            network_id\u003dself.FAKE_UUID_3)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        self.amp_repo.get_all.return_value \u003d ([amphora], None)"},{"line_number":139,"context_line":"        self.amp_health_repo.check_amphora_expired.return_value \u003d False"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f91af0f_e1b462f4","line":136,"range":{"start_line":136,"start_character":12,"end_line":136,"end_character":22},"updated":"2018-01-10 01:08:40.000000000","message":"frontend_network_id?","commit_id":"075709ea8f8cef315bbbeaeac7bb15f8f9619814"}]}
