)]}'
{"octavia/amphorae/backends/agent/api_server/plug.py":[{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"afd6b9ae0593715d11bbcbf0ef5833fb637dcf94","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        text \u003d template_port.render(interface\u003dnetns_interface)"},{"line_number":143,"context_line":"    else:"},{"line_number":144,"context_line":"        ip_count \u003d -1"},{"line_number":145,"context_line":"        for fixed_ip in fixed_ips:"},{"line_number":146,"context_line":"            if ip_count \u003d\u003d -1:"},{"line_number":147,"context_line":"                netns_ip_interface \u003d netns_interface"},{"line_number":148,"context_line":"                ip_count +\u003d 1"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_31e27904","line":145,"updated":"2016-08-08 17:28:56.000000000","message":"Enumerate will be better","commit_id":"2c28e10b4963b295d8dd160c7767507203cf6b83"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"5a3fc4071a6242e7b4dd07c6d1d68c59c92092c8","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        text \u003d template_port.render(interface\u003dnetns_interface)"},{"line_number":143,"context_line":"    else:"},{"line_number":144,"context_line":"        ip_count \u003d -1"},{"line_number":145,"context_line":"        for fixed_ip in fixed_ips:"},{"line_number":146,"context_line":"            if ip_count \u003d\u003d -1:"},{"line_number":147,"context_line":"                netns_ip_interface \u003d netns_interface"},{"line_number":148,"context_line":"                ip_count +\u003d 1"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_c7499fd2","line":145,"in_reply_to":"9ad45d7e_31e27904","updated":"2016-08-08 18:23:43.000000000","message":"ah yeah, i just copy pasta\u0027ed most of this code.  we can make it better though.","commit_id":"2c28e10b4963b295d8dd160c7767507203cf6b83"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"afd6b9ae0593715d11bbcbf0ef5833fb637dcf94","unresolved":false,"context_lines":[{"line_number":165,"context_line":"                host_routes \u003d []"},{"line_number":166,"context_line":"                for hr in fixed_ip.get(\u0027host_routes\u0027, []):"},{"line_number":167,"context_line":"                    network \u003d ipaddress.ip_network("},{"line_number":168,"context_line":"                        hr[\u0027destination\u0027] if six.text_type \u003d\u003d type("},{"line_number":169,"context_line":"                            hr[\u0027destination\u0027]) else"},{"line_number":170,"context_line":"                        six.u(hr[\u0027destination\u0027]))"},{"line_number":171,"context_line":"                    host_routes.append({\u0027network\u0027: network,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_91e7e511","line":168,"updated":"2016-08-08 17:28:56.000000000","message":"isinstance","commit_id":"2c28e10b4963b295d8dd160c7767507203cf6b83"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"5a3fc4071a6242e7b4dd07c6d1d68c59c92092c8","unresolved":false,"context_lines":[{"line_number":165,"context_line":"                host_routes \u003d []"},{"line_number":166,"context_line":"                for hr in fixed_ip.get(\u0027host_routes\u0027, []):"},{"line_number":167,"context_line":"                    network \u003d ipaddress.ip_network("},{"line_number":168,"context_line":"                        hr[\u0027destination\u0027] if six.text_type \u003d\u003d type("},{"line_number":169,"context_line":"                            hr[\u0027destination\u0027]) else"},{"line_number":170,"context_line":"                        six.u(hr[\u0027destination\u0027]))"},{"line_number":171,"context_line":"                    host_routes.append({\u0027network\u0027: network,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_a7462bbd","line":168,"in_reply_to":"9ad45d7e_91e7e511","updated":"2016-08-08 18:23:43.000000000","message":"ditto","commit_id":"2c28e10b4963b295d8dd160c7767507203cf6b83"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c1c7b4c0faa6dbf8f6970189930b4689fb872f0f","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        _check_ip_addresses(fixed_ips\u003dfixed_ips)"},{"line_number":198,"context_line":"    except socket.error:"},{"line_number":199,"context_line":"        return flask.make_response(flask.jsonify(dict("},{"line_number":200,"context_line":"            message\u003d\"Invalid VIP\")), 400)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    default_netns_interface \u003d _interface_by_mac(mac_address)"},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9ad45d7e_9e04d2c0","line":200,"updated":"2016-08-09 17:20:48.000000000","message":"This is a network port and not a VIP","commit_id":"27207381726db521e3d17308f6d16ec1a66ed0b1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"5d0b3995d28be4e3e942c7269b11fb8963e71fb5","unresolved":false,"context_lines":[{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    with os.fdopen(os.open(interface_file_path, flags, mode),"},{"line_number":262,"context_line":"                   \u0027w\u0027) as text_file:"},{"line_number":263,"context_line":"        text \u003d _generate_network_file_text(netns_interface, fixed_ips)"},{"line_number":264,"context_line":"        text_file.write(text)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    # Update the list of interfaces to add to the namespace"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ac06dbe_feba7370","line":263,"updated":"2016-08-24 16:12:41.000000000","message":"Do we need to handle these host routes for the VIP interfaces as well?","commit_id":"73f7ce9be72315b9bd56cca549b4fd569bd6a989"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"da2c2487b96ddf8cc471cc57f477b8cf3a5102bd","unresolved":false,"context_lines":[{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    with os.fdopen(os.open(interface_file_path, flags, mode),"},{"line_number":262,"context_line":"                   \u0027w\u0027) as text_file:"},{"line_number":263,"context_line":"        text \u003d _generate_network_file_text(netns_interface, fixed_ips)"},{"line_number":264,"context_line":"        text_file.write(text)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    # Update the list of interfaces to add to the namespace"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ac06dbe_307d4ae8","line":263,"in_reply_to":"1ac06dbe_feba7370","updated":"2016-08-24 20:38:50.000000000","message":"I\u0027m not sure... This may be an issue of completeness. This patch definitely doesn\u0027t make it any worse -- but maybe it doesn\u0027t go ALL the way. Can we merge this and do a followup if we discover this additional step needs to be done, or would you really strongly want to see it in this patch?","commit_id":"73f7ce9be72315b9bd56cca549b4fd569bd6a989"}],"octavia/tests/functional/amphorae/backend/agent/api_server/test_server.py":[{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"afd6b9ae0593715d11bbcbf0ef5833fb637dcf94","unresolved":false,"context_lines":[{"line_number":736,"context_line":""},{"line_number":737,"context_line":"            handle \u003d m()"},{"line_number":738,"context_line":"            handle.write.assert_any_call("},{"line_number":739,"context_line":"                \u0027\\n# Generated by Octavia agent\\n\u0027"},{"line_number":740,"context_line":"                \u0027auto eth\u0027 + test_int_num +"},{"line_number":741,"context_line":"                \u0027\\niface eth\u0027 + test_int_num + \u0027 inet static\\n\u0027 +"},{"line_number":742,"context_line":"                \u0027address \u0027 + IP + \u0027\\nbroadcast \u0027 + BROADCAST + \u0027\\n\u0027 +"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_51dd6d41","line":739,"updated":"2016-08-08 17:28:56.000000000","message":"This file has two new lines at the beginning","commit_id":"2c28e10b4963b295d8dd160c7767507203cf6b83"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"3fcdb8bd9705b7d3b4faf2489f3d44ff2069df86","unresolved":false,"context_lines":[{"line_number":38,"context_line":"OK \u003d dict(message\u003d\u0027OK\u0027)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"class TestServerTestCase(base.TestCase):"},{"line_number":42,"context_line":"    app \u003d None"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3ac371cc_fdbfb2f8","line":41,"range":{"start_line":41,"start_character":6,"end_line":41,"end_character":24},"updated":"2016-08-16 21:11:25.000000000","message":"nit: redundant name... Possibly rename the whole class to just \"TestServer\"","commit_id":"36c1e1c015aa3ccb02fa7f237b94b0bdc78fd0d6"}]}
