)]}'
{".gitignore":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"351674c189fbc485ec301eaf0c8c268c60b3330f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"covhtml/"},{"line_number":8,"context_line":"dist/"},{"line_number":9,"context_line":"doc/build"},{"line_number":10,"context_line":".idea/"},{"line_number":11,"context_line":"*.DS_Store"},{"line_number":12,"context_line":"*.pyc"},{"line_number":13,"context_line":"*.egg-info/"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"1a122d0e_9a98566c","line":10,"updated":"2016-05-04 20:58:11.000000000","message":"unrelated change. i just use a global git ignore so that all my repos ignore this.","commit_id":"ade42de3d6495f529c8d24f73df5a4b18bbc1a8d"},{"author":{"_account_id":21381,"name":"Matt Alline","email":"matt.alline@gmail.com","username":"matt.alline"},"change_message_id":"5a3067664897dec528c3a77845a0ea4f7fd552f1","unresolved":false,"context_lines":[{"line_number":7,"context_line":"covhtml/"},{"line_number":8,"context_line":"dist/"},{"line_number":9,"context_line":"doc/build"},{"line_number":10,"context_line":".idea/"},{"line_number":11,"context_line":"*.DS_Store"},{"line_number":12,"context_line":"*.pyc"},{"line_number":13,"context_line":"*.egg-info/"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"1a122d0e_b01c2a78","line":10,"in_reply_to":"1a122d0e_9a98566c","updated":"2016-05-05 13:45:23.000000000","message":"Yea, that makes sense. I just updated it here since someone already had the ignore here. I can remove it.","commit_id":"ade42de3d6495f529c8d24f73df5a4b18bbc1a8d"}],"octavia/controller/healthmanager/update_db.py":[{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"ab11b2dd296966ca2b7944443c7b2ab702c98365","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                     \u0027active_connections\u0027: stats[\u0027conns\u0027],"},{"line_number":259,"context_line":"                     \u0027total_connections\u0027: stats[\u0027totconns\u0027]}"},{"line_number":260,"context_line":"            LOG.debug(\"Updating listener stats in db and sending event.\")"},{"line_number":261,"context_line":"            LOG.debug(\"Listener %s, %s stats: %s\","},{"line_number":262,"context_line":"                      listener_id, amphora_id, stats)"},{"line_number":263,"context_line":"            self.listener_stats_repo.replace("},{"line_number":264,"context_line":"                session, listener_id, amphora_id, **stats)"},{"line_number":265,"context_line":"            self.emit(\u0027listener_stats\u0027, listener_id, stats)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_93352048","line":262,"range":{"start_line":261,"start_character":12,"end_line":262,"end_character":53},"updated":"2016-05-06 14:55:21.000000000","message":"Can we make it more meaningful.","commit_id":"23f22f4b7e0e499d2f8b3620e655543a4a9e538a"},{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"51e9cd95e9d4518cd46335cba670feb279bdf064","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                     \u0027active_connections\u0027: stats[\u0027conns\u0027],"},{"line_number":259,"context_line":"                     \u0027total_connections\u0027: stats[\u0027totconns\u0027]}"},{"line_number":260,"context_line":"            LOG.debug(\"Updating listener stats in db and sending event.\")"},{"line_number":261,"context_line":"            LOG.debug(\"Listener %s, %s stats: %s\","},{"line_number":262,"context_line":"                      listener_id, amphora_id, stats)"},{"line_number":263,"context_line":"            self.listener_stats_repo.replace("},{"line_number":264,"context_line":"                session, listener_id, amphora_id, **stats)"},{"line_number":265,"context_line":"            self.emit(\u0027listener_stats\u0027, listener_id, stats)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_e76822bd","line":262,"range":{"start_line":261,"start_character":12,"end_line":262,"end_character":53},"in_reply_to":"dab17558_81b946ec","updated":"2016-05-06 15:53:12.000000000","message":"I think that would be good.","commit_id":"23f22f4b7e0e499d2f8b3620e655543a4a9e538a"},{"author":{"_account_id":21381,"name":"Matt Alline","email":"matt.alline@gmail.com","username":"matt.alline"},"change_message_id":"802ab03dd630c0c532fbc52f4617456aec657ea6","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                     \u0027active_connections\u0027: stats[\u0027conns\u0027],"},{"line_number":259,"context_line":"                     \u0027total_connections\u0027: stats[\u0027totconns\u0027]}"},{"line_number":260,"context_line":"            LOG.debug(\"Updating listener stats in db and sending event.\")"},{"line_number":261,"context_line":"            LOG.debug(\"Listener %s, %s stats: %s\","},{"line_number":262,"context_line":"                      listener_id, amphora_id, stats)"},{"line_number":263,"context_line":"            self.listener_stats_repo.replace("},{"line_number":264,"context_line":"                session, listener_id, amphora_id, **stats)"},{"line_number":265,"context_line":"            self.emit(\u0027listener_stats\u0027, listener_id, stats)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_81b946ec","line":262,"range":{"start_line":261,"start_character":12,"end_line":262,"end_character":53},"in_reply_to":"dab17558_93352048","updated":"2016-05-06 15:09:40.000000000","message":"Would \"Listener %s / Amphora %s stats: %s\" be sufficient?","commit_id":"23f22f4b7e0e499d2f8b3620e655543a4a9e538a"}],"octavia/db/migration/alembic_migrations/versions/9bf4d21caaea_adding_amphora_id_to_listener_.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"351674c189fbc485ec301eaf0c8c268c60b3330f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                          \u0027listener_statistics\u0027,"},{"line_number":48,"context_line":"                          \u0027listener\u0027,"},{"line_number":49,"context_line":"                          [\u0027listener_id\u0027],"},{"line_number":50,"context_line":"                          [\u0027id\u0027])"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_57b5ecea","line":50,"updated":"2016-05-04 20:58:11.000000000","message":"don\u0027t you need a foreign key with the amphora_id?","commit_id":"ade42de3d6495f529c8d24f73df5a4b18bbc1a8d"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"351674c189fbc485ec301eaf0c8c268c60b3330f","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                          [\u0027id\u0027])"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def downgrade():"},{"line_number":54,"context_line":"    op.drop_constraint(\u0027fk_listener_statistics_listener_id\u0027,"},{"line_number":55,"context_line":"                       \u0027listener_statistics\u0027, type_\u003d\u0027foreignkey\u0027)"},{"line_number":56,"context_line":"    op.drop_constraint(\u0027pk_listener_statistics\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_da6c8e38","line":53,"updated":"2016-05-04 20:58:11.000000000","message":"I don\u0027t think we\u0027re doing downgrades anymore, openstack in their infinite wisdom decided not to.  We should probably remove any downgrades in all other migrations though because I see some that have it and some that don\u0027t.","commit_id":"ade42de3d6495f529c8d24f73df5a4b18bbc1a8d"},{"author":{"_account_id":21381,"name":"Matt Alline","email":"matt.alline@gmail.com","username":"matt.alline"},"change_message_id":"5a3067664897dec528c3a77845a0ea4f7fd552f1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                          [\u0027id\u0027])"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def downgrade():"},{"line_number":54,"context_line":"    op.drop_constraint(\u0027fk_listener_statistics_listener_id\u0027,"},{"line_number":55,"context_line":"                       \u0027listener_statistics\u0027, type_\u003d\u0027foreignkey\u0027)"},{"line_number":56,"context_line":"    op.drop_constraint(\u0027pk_listener_statistics\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_1ba1bff7","line":53,"in_reply_to":"1a122d0e_da6c8e38","updated":"2016-05-05 13:45:23.000000000","message":"Even if we\u0027re not doing downgrades in general as an OpenStack does it really hurt to have them in place in case that decision is ever overturned? \nAlso, are you suggesting I go back and remove the downgrades for all the migrations as part of this changeset?","commit_id":"ade42de3d6495f529c8d24f73df5a4b18bbc1a8d"},{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"ab11b2dd296966ca2b7944443c7b2ab702c98365","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    op.add_column(\u0027listener_statistics\u0027,"},{"line_number":34,"context_line":"                  sa.Column(\u0027amphora_id\u0027,"},{"line_number":35,"context_line":"                            sa.String(36),"},{"line_number":36,"context_line":"                            nullable\u003dTrue)"},{"line_number":37,"context_line":"                  )"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    op.drop_constraint(\u0027fk_listener_statistics_listener_id\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_f6c57a5b","line":36,"range":{"start_line":36,"start_character":27,"end_line":36,"end_character":42},"updated":"2016-05-06 14:55:21.000000000","message":"since we are making this as part of primary key, is it a good idea to make it nullable?","commit_id":"23f22f4b7e0e499d2f8b3620e655543a4a9e538a"},{"author":{"_account_id":21381,"name":"Matt Alline","email":"matt.alline@gmail.com","username":"matt.alline"},"change_message_id":"802ab03dd630c0c532fbc52f4617456aec657ea6","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    op.add_column(\u0027listener_statistics\u0027,"},{"line_number":34,"context_line":"                  sa.Column(\u0027amphora_id\u0027,"},{"line_number":35,"context_line":"                            sa.String(36),"},{"line_number":36,"context_line":"                            nullable\u003dTrue)"},{"line_number":37,"context_line":"                  )"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    op.drop_constraint(\u0027fk_listener_statistics_listener_id\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_418d9e30","line":36,"range":{"start_line":36,"start_character":27,"end_line":36,"end_character":42},"in_reply_to":"dab17558_f6c57a5b","updated":"2016-05-06 15:09:40.000000000","message":"Oops... I updated the other and just missed this one. I\u0027ll get it updated once I push another patchset.","commit_id":"23f22f4b7e0e499d2f8b3620e655543a4a9e538a"}],"octavia/db/models.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"351674c189fbc485ec301eaf0c8c268c60b3330f","unresolved":false,"context_lines":[{"line_number":120,"context_line":"                      name\u003d\"fk_listener_statistics_listener_id\"),"},{"line_number":121,"context_line":"        primary_key\u003dTrue,"},{"line_number":122,"context_line":"        nullable\u003dFalse)"},{"line_number":123,"context_line":"    amphora_id \u003d sa.Column(sa.String(36), primary_key\u003dTrue, nullable\u003dFalse)"},{"line_number":124,"context_line":"    bytes_in \u003d sa.Column(sa.BigInteger, nullable\u003dFalse)"},{"line_number":125,"context_line":"    bytes_out \u003d sa.Column(sa.BigInteger, nullable\u003dFalse)"},{"line_number":126,"context_line":"    active_connections \u003d sa.Column(sa.Integer, nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_d7c1fc4f","line":123,"updated":"2016-05-04 20:58:11.000000000","message":"Needs a foreign key to the Amphora table and should do a relationship on this too just like listener","commit_id":"ade42de3d6495f529c8d24f73df5a4b18bbc1a8d"},{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"ab11b2dd296966ca2b7944443c7b2ab702c98365","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        sa.ForeignKey(\"amphora.id\","},{"line_number":126,"context_line":"                      name\u003d\"fk_listener_statistics_amphora_id\"),"},{"line_number":127,"context_line":"        primary_key\u003dTrue,"},{"line_number":128,"context_line":"        nullable\u003dFalse)"},{"line_number":129,"context_line":"    bytes_in \u003d sa.Column(sa.BigInteger, nullable\u003dFalse)"},{"line_number":130,"context_line":"    bytes_out \u003d sa.Column(sa.BigInteger, nullable\u003dFalse)"},{"line_number":131,"context_line":"    active_connections \u003d sa.Column(sa.Integer, nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_96feae69","line":128,"range":{"start_line":128,"start_character":8,"end_line":128,"end_character":22},"updated":"2016-05-06 14:55:21.000000000","message":"miss match with the migration script ?","commit_id":"23f22f4b7e0e499d2f8b3620e655543a4a9e538a"}],"octavia/tests/functional/api/v1/base.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"38738738cdb83568e2a26396e2f72a13e3333ea2","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            bytes_out\u003d0, active_connections\u003d0, total_connections\u003d0)"},{"line_number":135,"context_line":"        return db_ls.to_dict()"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def create_amphora(self, amphora_id, loadbalancer_id, **optionals):"},{"line_number":138,"context_line":"        amphora \u003d self.amphora_repo.create("},{"line_number":139,"context_line":"            self.session, id\u003damphora_id,"},{"line_number":140,"context_line":"            load_balancer_id\u003dloadbalancer_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_83d637ef","line":137,"range":{"start_line":137,"start_character":60,"end_line":137,"end_character":69},"updated":"2016-05-13 15:38:21.000000000","message":"not being used, though comment below would have it being used.","commit_id":"c5faedf54865e976d11bda04c21eeaa27a48c559"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"38738738cdb83568e2a26396e2f72a13e3333ea2","unresolved":false,"context_lines":[{"line_number":141,"context_line":"            compute_id\u003duuidutils.generate_uuid(),"},{"line_number":142,"context_line":"            status\u003dconstants.ACTIVE,"},{"line_number":143,"context_line":"            vrrp_ip\u003d\u0027127.0.0.1\u0027,"},{"line_number":144,"context_line":"            lb_network_ip\u003d\u0027192.168.0.3\u0027)"},{"line_number":145,"context_line":"        return amphora"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def get_listener(self, lb_id, listener_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_a376db3b","line":144,"updated":"2016-05-13 15:38:21.000000000","message":"why are these being hardcoded?  I assume bc htey are non null, but add at least a note.  and the 192.168.0.3 address seems quite arbitrary.  even then, they should be allowed to be added through the method, at least as part of the optionals.","commit_id":"c5faedf54865e976d11bda04c21eeaa27a48c559"}],"octavia/tests/functional/db/test_repositories.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"351674c189fbc485ec301eaf0c8c268c60b3330f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    FAKE_UUID_2 \u003d uuidutils.generate_uuid()"},{"line_number":36,"context_line":"    FAKE_UUID_3 \u003d uuidutils.generate_uuid()"},{"line_number":37,"context_line":"    FAKE_UUID_4 \u003d uuidutils.generate_uuid()"},{"line_number":38,"context_line":"    FAKE_UUID_5 \u003d uuidutils.generate_uuid()"},{"line_number":39,"context_line":"    FAKE_EXP_AGE \u003d 10"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_b7a3a09d","line":38,"updated":"2016-05-04 20:58:11.000000000","message":"well this is getting out of control. shouldn\u0027t address taht in thsi patch though.","commit_id":"ade42de3d6495f529c8d24f73df5a4b18bbc1a8d"},{"author":{"_account_id":21381,"name":"Matt Alline","email":"matt.alline@gmail.com","username":"matt.alline"},"change_message_id":"5a3067664897dec528c3a77845a0ea4f7fd552f1","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    FAKE_UUID_2 \u003d uuidutils.generate_uuid()"},{"line_number":36,"context_line":"    FAKE_UUID_3 \u003d uuidutils.generate_uuid()"},{"line_number":37,"context_line":"    FAKE_UUID_4 \u003d uuidutils.generate_uuid()"},{"line_number":38,"context_line":"    FAKE_UUID_5 \u003d uuidutils.generate_uuid()"},{"line_number":39,"context_line":"    FAKE_EXP_AGE \u003d 10"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_db2bc731","line":38,"in_reply_to":"1a122d0e_b7a3a09d","updated":"2016-05-05 13:45:23.000000000","message":"I can pull FAKE_UUID_5 out in my next patch set because I\u0027ll need \u0027real\u0027 data to make the integration test work anyways :-)","commit_id":"ade42de3d6495f529c8d24f73df5a4b18bbc1a8d"}],"setup.py":[{"author":{"_account_id":7812,"name":"Franklin Naval","email":"franklin.naval@gmail.com","username":"fnaval"},"change_message_id":"802287fe4ac92e57e3b5f7aca6f00eba46b888df","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.  # noqa"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_e5cd7487","line":1,"range":{"start_line":1,"start_character":65,"end_line":1,"end_character":66},"updated":"2016-05-04 15:30:38.000000000","message":"may need to remove this, perhaps forgotten, comment","commit_id":"ade42de3d6495f529c8d24f73df5a4b18bbc1a8d"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"351674c189fbc485ec301eaf0c8c268c60b3330f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.  # noqa"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_17e254d5","line":1,"range":{"start_line":1,"start_character":65,"end_line":1,"end_character":66},"in_reply_to":"1a122d0e_e5cd7487","updated":"2016-05-04 20:58:11.000000000","message":"yeah you shouldn\u0027t need this at all.","commit_id":"ade42de3d6495f529c8d24f73df5a4b18bbc1a8d"}]}
