)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"9d7d01ae3da1e700df03fb50ded14b9dd90d4500","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sherif Abdelwahab \u003csherif.abdelwahab@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-17 12:49:19 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Data model updates for active/standby lb topology"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Create value tables for: lb topology, and amphora roles."},{"line_number":10,"context_line":"2. Add a topology column to the load_balancer table."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_799695f1","line":7,"updated":"2015-07-21 17:50:34.000000000","message":"You didn\u0027t just update the \"data models\" so this basic description is sort of inaccurate.  Maybe just say \"Adding model and data_model changes to support failover topologies\"","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":17041,"name":"Sherif Abdelwahab","email":"selgohari@ieee.org","username":"sherif"},"change_message_id":"228eb19bf0a22f7246a5a43cb04e11382bcb1c33","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sherif Abdelwahab \u003csherif.abdelwahab@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-17 12:49:19 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Data model updates for active/standby lb topology"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Create value tables for: lb topology, and amphora roles."},{"line_number":10,"context_line":"2. Add a topology column to the load_balancer table."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_7b78c28f","line":7,"in_reply_to":"3a50d1a3_799695f1","updated":"2015-07-21 20:42:16.000000000","message":"Done","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"9d7d01ae3da1e700df03fb50ded14b9dd90d4500","unresolved":false,"context_lines":[{"line_number":10,"context_line":"2. Add a topology column to the load_balancer table."},{"line_number":11,"context_line":"3. Add a role column to the amphora table."},{"line_number":12,"context_line":"   topology can take values: SINGLE, ACTIVE_STANDBY"},{"line_number":13,"context_line":"   role can take values: STANDALONE, MASTER, or BACKUP."},{"line_number":14,"context_line":"4. Functional tests."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Amendment: fixed style problem in base.py and constraints.py"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_196af11a","line":13,"updated":"2015-07-21 17:50:34.000000000","message":"nit: these two lines don\u0027t really need to be specified in the commit message.","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":17041,"name":"Sherif Abdelwahab","email":"selgohari@ieee.org","username":"sherif"},"change_message_id":"228eb19bf0a22f7246a5a43cb04e11382bcb1c33","unresolved":false,"context_lines":[{"line_number":10,"context_line":"2. Add a topology column to the load_balancer table."},{"line_number":11,"context_line":"3. Add a role column to the amphora table."},{"line_number":12,"context_line":"   topology can take values: SINGLE, ACTIVE_STANDBY"},{"line_number":13,"context_line":"   role can take values: STANDALONE, MASTER, or BACKUP."},{"line_number":14,"context_line":"4. Functional tests."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Amendment: fixed style problem in base.py and constraints.py"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_1b0ade21","line":13,"in_reply_to":"3a50d1a3_196af11a","updated":"2015-07-21 20:42:16.000000000","message":"Done","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"9d7d01ae3da1e700df03fb50ded14b9dd90d4500","unresolved":false,"context_lines":[{"line_number":13,"context_line":"   role can take values: STANDALONE, MASTER, or BACKUP."},{"line_number":14,"context_line":"4. Functional tests."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Amendment: fixed style problem in base.py and constraints.py"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: If8d0523c9e74787d6a2561fa1f9a2c94cdf12502"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_395b2d89","line":16,"updated":"2015-07-21 17:50:34.000000000","message":"Not sure why you have this line.   (Never seen anything like it before)","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":17041,"name":"Sherif Abdelwahab","email":"selgohari@ieee.org","username":"sherif"},"change_message_id":"228eb19bf0a22f7246a5a43cb04e11382bcb1c33","unresolved":false,"context_lines":[{"line_number":13,"context_line":"   role can take values: STANDALONE, MASTER, or BACKUP."},{"line_number":14,"context_line":"4. Functional tests."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Amendment: fixed style problem in base.py and constraints.py"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: If8d0523c9e74787d6a2561fa1f9a2c94cdf12502"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_db42363e","line":16,"in_reply_to":"3a50d1a3_395b2d89","updated":"2015-07-21 20:42:16.000000000","message":"I prefer tracking changes. But you are right.. It seems like over-specifying changes.","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"f634146a05f9fa1e3274dd0505348564033c88a1","unresolved":false,"context_lines":[{"line_number":13,"context_line":"   role can take values: STANDALONE, MASTER, or BACKUP."},{"line_number":14,"context_line":"4. Functional tests."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Amendment: fixed style problem in base.py and constraints.py"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: If8d0523c9e74787d6a2561fa1f9a2c94cdf12502"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_9bc90e7b","line":16,"in_reply_to":"3a50d1a3_db42363e","updated":"2015-07-21 20:45:04.000000000","message":"I should have phrased it more like a question, because it was more about \"What is it for\" than \"why is it there\" ha ha.  Sorry!","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"}],"octavia/common/constants.py":[{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"9d7d01ae3da1e700df03fb50ded14b9dd90d4500","unresolved":false,"context_lines":[{"line_number":131,"context_line":"TOPOLOGY_STATUS_OK \u003d \u0027OK\u0027"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"# Active standalone roles and topology"},{"line_number":134,"context_line":"TOPOLOGY_FAILOVER \u003d \u0027ACTIVE_STANDBY\u0027"},{"line_number":135,"context_line":"ROLE_MASTER \u003d \u0027MASTER\u0027"},{"line_number":136,"context_line":"ROLE_BACKUP \u003d \u0027BACKUP\u0027"},{"line_number":137,"context_line":"ROLE_STANDALONE \u003d \u0027STANDALONE\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_b362fcab","line":134,"updated":"2015-07-21 17:50:34.000000000","message":"This isn\u0027t the only possible failover option.  Should make the name more specific: \"TOPOLOGY_ACTIVE_STANDBY\"","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":17041,"name":"Sherif Abdelwahab","email":"selgohari@ieee.org","username":"sherif"},"change_message_id":"228eb19bf0a22f7246a5a43cb04e11382bcb1c33","unresolved":false,"context_lines":[{"line_number":131,"context_line":"TOPOLOGY_STATUS_OK \u003d \u0027OK\u0027"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"# Active standalone roles and topology"},{"line_number":134,"context_line":"TOPOLOGY_FAILOVER \u003d \u0027ACTIVE_STANDBY\u0027"},{"line_number":135,"context_line":"ROLE_MASTER \u003d \u0027MASTER\u0027"},{"line_number":136,"context_line":"ROLE_BACKUP \u003d \u0027BACKUP\u0027"},{"line_number":137,"context_line":"ROLE_STANDALONE \u003d \u0027STANDALONE\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_3b723aae","line":134,"in_reply_to":"3a50d1a3_b362fcab","updated":"2015-07-21 20:42:16.000000000","message":"Done","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"}],"octavia/common/data_models.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"02a3ed77635b6a06711a44f35ee88053110905f5","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        self.vip \u003d vip"},{"line_number":185,"context_line":"        self.topology \u003d topology"},{"line_number":186,"context_line":"        self.listeners \u003d listeners or []"},{"line_number":187,"context_line":"        self.amphorae \u003d amphorae or []"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"class Vip(BaseDataModel):"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_5b68b1ba","line":187,"updated":"2015-07-24 17:11:10.000000000","message":"We need to store the VRRP pass phrase here too.","commit_id":"cd00b4cb144a37c8f349ff9a03a28d47cd60e46f"},{"author":{"_account_id":17041,"name":"Sherif Abdelwahab","email":"selgohari@ieee.org","username":"sherif"},"change_message_id":"49e0ea2a0267e65daa07d5ce39fb869c71b77d21","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        self.vip \u003d vip"},{"line_number":185,"context_line":"        self.topology \u003d topology"},{"line_number":186,"context_line":"        self.listeners \u003d listeners or []"},{"line_number":187,"context_line":"        self.amphorae \u003d amphorae or []"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"class Vip(BaseDataModel):"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_71742cfd","line":187,"in_reply_to":"3a50d1a3_5b68b1ba","updated":"2015-07-28 17:10:17.000000000","message":"It turned out that we need to store many information about VRRP. For example, the authentication method itself: PASS, or MD5 and its associated credentials. I will create a new table for VRRP configuration per Loadbalancer in a different commit for the keepalived driver.","commit_id":"cd00b4cb144a37c8f349ff9a03a28d47cd60e46f"}],"octavia/db/migration/alembic_migrations/versions/357d17a6d5ac_update_lb_and_amphora_data_model_for_.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"f3cf0f5d8628f17ea7272186bc9ca0db345be282","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade():"},{"line_number":34,"context_line":"    op.create_table("},{"line_number":35,"context_line":"        u\u0027lb_topology\u0027,"},{"line_number":36,"context_line":"        sa.Column(u\u0027name\u0027, sa.String(30), primary_key\u003dTrue),"},{"line_number":37,"context_line":"        sa.Column(u\u0027description\u0027, sa.String(255), nullable\u003dTrue)"},{"line_number":38,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_fbab72d4","line":35,"updated":"2015-07-21 20:41:46.000000000","message":"any reason why \u0027topology\u0027 wouldn\u0027t work?","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"f3cf0f5d8628f17ea7272186bc9ca0db345be282","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    op.add_column("},{"line_number":76,"context_line":"        u\u0027load_balancer\u0027,"},{"line_number":77,"context_line":"        sa.Column(u\u0027topology\u0027, sa.String(36),"},{"line_number":78,"context_line":"                  sa.ForeignKey(u\u0027lb_topology.name\u0027,"},{"line_number":79,"context_line":"                                name\u003du\u0027fk_lb_topology_name\u0027),"},{"line_number":80,"context_line":"                  nullable\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_5b4e2670","line":77,"updated":"2015-07-21 20:41:46.000000000","message":"this is 36 char length, but the topology table only allows 30.  not a big deal but inconsistent.","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"f3cf0f5d8628f17ea7272186bc9ca0db345be282","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    op.add_column("},{"line_number":84,"context_line":"        u\u0027amphora\u0027,"},{"line_number":85,"context_line":"        sa.Column(u\u0027role\u0027, sa.String(36),"},{"line_number":86,"context_line":"                  sa.ForeignKey(u\u0027amphora_roles.name\u0027,"},{"line_number":87,"context_line":"                                name\u003du\u0027fk_amphora_roles_name\u0027),"},{"line_number":88,"context_line":"                  nullable\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_1b589e31","line":85,"updated":"2015-07-21 20:41:46.000000000","message":"same","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":12403,"name":"Al Miller","email":"al.miller@ajmiller.net","username":"ajmiller"},"change_message_id":"2a392e1e82d3218c1e55295aa38d690cde47a898","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    )"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"def downgrade():"},{"line_number":93,"context_line":"    op.drop_column(u\u0027load_balancer\u0027, u\u0027topology\u0027)"},{"line_number":94,"context_line":"    op.drop_column(u\u0027amphora\u0027, u\u0027role\u0027)"},{"line_number":95,"context_line":"    op.drop_table(u\u0027lb_topology\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_34873962","line":92,"updated":"2015-07-29 16:50:57.000000000","message":"Delete the downgrade section.","commit_id":"cd00b4cb144a37c8f349ff9a03a28d47cd60e46f"}],"octavia/db/models.py":[{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"9d7d01ae3da1e700df03fb50ded14b9dd90d4500","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    __tablename__ \u003d \"amphora_roles\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"class LbTopology(base_models.BASE, base_models.LookupTableMixin):"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    __tablename__ \u003d \"lb_topology\""},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_39e80db4","line":50,"updated":"2015-07-21 17:50:34.000000000","message":"Should be LBTopology.","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":17041,"name":"Sherif Abdelwahab","email":"selgohari@ieee.org","username":"sherif"},"change_message_id":"228eb19bf0a22f7246a5a43cb04e11382bcb1c33","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    __tablename__ \u003d \"amphora_roles\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"class LbTopology(base_models.BASE, base_models.LookupTableMixin):"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    __tablename__ \u003d \"lb_topology\""},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_fb92929e","line":50,"in_reply_to":"3a50d1a3_39e80db4","updated":"2015-07-21 20:42:16.000000000","message":"Done","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"f3cf0f5d8628f17ea7272186bc9ca0db345be282","unresolved":false,"context_lines":[{"line_number":223,"context_line":"                      name\u003d\"fk_load_balancer_operating_status_name\"),"},{"line_number":224,"context_line":"        nullable\u003dFalse)"},{"line_number":225,"context_line":"    topology \u003d sa.Column("},{"line_number":226,"context_line":"        sa.String(16),"},{"line_number":227,"context_line":"        sa.ForeignKey(\"lb_topology.name\", name\u003d\"fk_lb_topology_name\"),"},{"line_number":228,"context_line":"        nullable\u003dTrue)"},{"line_number":229,"context_line":"    enabled \u003d sa.Column(sa.Boolean, nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_bb8c0a80","line":226,"updated":"2015-07-21 20:41:46.000000000","message":"now this is 16 characters.  should match what the migration has.","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"f3cf0f5d8628f17ea7272186bc9ca0db345be282","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    vrrp_ip \u003d sa.Column(sa.String(64), nullable\u003dTrue)"},{"line_number":340,"context_line":"    ha_ip \u003d sa.Column(sa.String(64), nullable\u003dTrue)"},{"line_number":341,"context_line":"    role \u003d sa.Column("},{"line_number":342,"context_line":"        sa.String(16),"},{"line_number":343,"context_line":"        sa.ForeignKey(\"amphora_roles.name\", name\u003d\"fk_amphora_roles_name\"),"},{"line_number":344,"context_line":"        nullable\u003dTrue)"},{"line_number":345,"context_line":"    status \u003d sa.Column("}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_5beaa610","line":342,"updated":"2015-07-21 20:41:46.000000000","message":"same","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"eb137ed780731b7c36485f4da725a7503e2050c9","unresolved":false,"context_lines":[{"line_number":223,"context_line":"                      name\u003d\"fk_load_balancer_operating_status_name\"),"},{"line_number":224,"context_line":"        nullable\u003dFalse)"},{"line_number":225,"context_line":"    topology \u003d sa.Column("},{"line_number":226,"context_line":"        sa.String(16),"},{"line_number":227,"context_line":"        sa.ForeignKey(\"lb_topology.name\", name\u003d\"fk_lb_topology_name\"),"},{"line_number":228,"context_line":"        nullable\u003dTrue)"},{"line_number":229,"context_line":"    enabled \u003d sa.Column(sa.Boolean, nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_4214c89e","line":226,"updated":"2015-07-22 15:48:18.000000000","message":"This string length should be the same as the migration definition.","commit_id":"ec06547c06eab995bb5a887ecd439a4abb43c6b7"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"eb137ed780731b7c36485f4da725a7503e2050c9","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    vrrp_ip \u003d sa.Column(sa.String(64), nullable\u003dTrue)"},{"line_number":340,"context_line":"    ha_ip \u003d sa.Column(sa.String(64), nullable\u003dTrue)"},{"line_number":341,"context_line":"    role \u003d sa.Column("},{"line_number":342,"context_line":"        sa.String(16),"},{"line_number":343,"context_line":"        sa.ForeignKey(\"amphora_roles.name\", name\u003d\"fk_amphora_roles_name\"),"},{"line_number":344,"context_line":"        nullable\u003dTrue)"},{"line_number":345,"context_line":"    status \u003d sa.Column("}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_0281e0c2","line":342,"updated":"2015-07-22 15:48:18.000000000","message":"This string length should be the same as the migration definition.","commit_id":"ec06547c06eab995bb5a887ecd439a4abb43c6b7"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"68377b4f0c5c20e4df098bf2a3d6cd6dbfe16268","unresolved":false,"context_lines":[{"line_number":223,"context_line":"                      name\u003d\"fk_load_balancer_operating_status_name\"),"},{"line_number":224,"context_line":"        nullable\u003dFalse)"},{"line_number":225,"context_line":"    topology \u003d sa.Column("},{"line_number":226,"context_line":"        sa.String(16),"},{"line_number":227,"context_line":"        sa.ForeignKey(\"lb_topology.name\", name\u003d\"fk_lb_topology_name\"),"},{"line_number":228,"context_line":"        nullable\u003dTrue)"},{"line_number":229,"context_line":"    enabled \u003d sa.Column(sa.Boolean, nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_a52a768e","line":226,"updated":"2015-07-22 16:10:30.000000000","message":"Please address Trevor\u0027s comment from Patchset 6 -- I think this should be 36","commit_id":"83ef51c580fd955c4cae8789da0a55996e07b874"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"02a3ed77635b6a06711a44f35ee88053110905f5","unresolved":false,"context_lines":[{"line_number":227,"context_line":"        sa.ForeignKey(\"lb_topology.name\", name\u003d\"fk_lb_topology_name\"),"},{"line_number":228,"context_line":"        nullable\u003dTrue)"},{"line_number":229,"context_line":"    enabled \u003d sa.Column(sa.Boolean, nullable\u003dFalse)"},{"line_number":230,"context_line":"    amphorae \u003d orm.relationship(\"Amphora\", uselist\u003dTrue,"},{"line_number":231,"context_line":"                                backref\u003dorm.backref(\"load_balancer\","},{"line_number":232,"context_line":"                                                    uselist\u003dFalse))"},{"line_number":233,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_dbe84119","line":230,"updated":"2015-07-24 17:11:10.000000000","message":"We need to store the VRRP pass phrase here too so we can rebuild the amphora","commit_id":"cd00b4cb144a37c8f349ff9a03a28d47cd60e46f"},{"author":{"_account_id":17041,"name":"Sherif Abdelwahab","email":"selgohari@ieee.org","username":"sherif"},"change_message_id":"49e0ea2a0267e65daa07d5ce39fb869c71b77d21","unresolved":false,"context_lines":[{"line_number":227,"context_line":"        sa.ForeignKey(\"lb_topology.name\", name\u003d\"fk_lb_topology_name\"),"},{"line_number":228,"context_line":"        nullable\u003dTrue)"},{"line_number":229,"context_line":"    enabled \u003d sa.Column(sa.Boolean, nullable\u003dFalse)"},{"line_number":230,"context_line":"    amphorae \u003d orm.relationship(\"Amphora\", uselist\u003dTrue,"},{"line_number":231,"context_line":"                                backref\u003dorm.backref(\"load_balancer\","},{"line_number":232,"context_line":"                                                    uselist\u003dFalse))"},{"line_number":233,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_11d368d6","line":230,"in_reply_to":"3a50d1a3_dbe84119","updated":"2015-07-28 17:10:17.000000000","message":"Please see the first comment.","commit_id":"cd00b4cb144a37c8f349ff9a03a28d47cd60e46f"}],"octavia/tests/functional/db/base.py":[{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"9d7d01ae3da1e700df03fb50ded14b9dd90d4500","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        self._seed_lookup_table(session, constants.SUPPORTED_AMPHORA_ROLES,"},{"line_number":69,"context_line":"                                models.AmphoraRoles)"},{"line_number":70,"context_line":"        self._seed_lookup_table(session, constants.SUPPORTED_LB_TOPOLOGIES,"},{"line_number":71,"context_line":"                                models.LbTopology)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def _seed_lookup_table(self, session, name_list, model_cls):"},{"line_number":74,"context_line":"        for name in name_list:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_d9eec9b3","line":71,"updated":"2015-07-21 17:50:34.000000000","message":"Match change from before to be \"LBTopology\"","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":17041,"name":"Sherif Abdelwahab","email":"selgohari@ieee.org","username":"sherif"},"change_message_id":"228eb19bf0a22f7246a5a43cb04e11382bcb1c33","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        self._seed_lookup_table(session, constants.SUPPORTED_AMPHORA_ROLES,"},{"line_number":69,"context_line":"                                models.AmphoraRoles)"},{"line_number":70,"context_line":"        self._seed_lookup_table(session, constants.SUPPORTED_LB_TOPOLOGIES,"},{"line_number":71,"context_line":"                                models.LbTopology)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def _seed_lookup_table(self, session, name_list, model_cls):"},{"line_number":74,"context_line":"        for name in name_list:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_3bf79af6","line":71,"in_reply_to":"3a50d1a3_d9eec9b3","updated":"2015-07-21 20:42:16.000000000","message":"Done","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"}],"octavia/tests/functional/db/test_repositories.py":[{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"9d7d01ae3da1e700df03fb50ded14b9dd90d4500","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        lb \u003d {\u0027name\u0027: \u0027test1\u0027, \u0027description\u0027: \u0027desc1\u0027, \u0027enabled\u0027: True,"},{"line_number":99,"context_line":"              \u0027provisioning_status\u0027: constants.PENDING_UPDATE,"},{"line_number":100,"context_line":"              \u0027operating_status\u0027: constants.OFFLINE,"},{"line_number":101,"context_line":"              \u0027topology\u0027: constants.TOPOLOGY_FAILOVER}"},{"line_number":102,"context_line":"        vip \u003d {\u0027ip_address\u0027: \u002710.0.0.1\u0027,"},{"line_number":103,"context_line":"               \u0027port_id\u0027: uuidutils.generate_uuid(),"},{"line_number":104,"context_line":"               \u0027subnet_id\u0027: uuidutils.generate_uuid()}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_b94addc3","line":101,"updated":"2015-07-21 17:50:34.000000000","message":"Match previous change to be \"TOPOLOGY_ACTIVE_PASSIVE\"","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"},{"author":{"_account_id":17041,"name":"Sherif Abdelwahab","email":"selgohari@ieee.org","username":"sherif"},"change_message_id":"228eb19bf0a22f7246a5a43cb04e11382bcb1c33","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        lb \u003d {\u0027name\u0027: \u0027test1\u0027, \u0027description\u0027: \u0027desc1\u0027, \u0027enabled\u0027: True,"},{"line_number":99,"context_line":"              \u0027provisioning_status\u0027: constants.PENDING_UPDATE,"},{"line_number":100,"context_line":"              \u0027operating_status\u0027: constants.OFFLINE,"},{"line_number":101,"context_line":"              \u0027topology\u0027: constants.TOPOLOGY_FAILOVER}"},{"line_number":102,"context_line":"        vip \u003d {\u0027ip_address\u0027: \u002710.0.0.1\u0027,"},{"line_number":103,"context_line":"               \u0027port_id\u0027: uuidutils.generate_uuid(),"},{"line_number":104,"context_line":"               \u0027subnet_id\u0027: uuidutils.generate_uuid()}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_db4c7644","line":101,"in_reply_to":"3a50d1a3_b94addc3","updated":"2015-07-21 20:42:16.000000000","message":"Done","commit_id":"09f8924d9ec288ddf3b4619cf3f39a5759af29f6"}]}
