)]}'
{"octavia/amphorae/backends/agent/api_server/server.py":[{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"f0fb4d025c686cdf17e61a815112dca36ae03d2c","unresolved":false,"context_lines":[{"line_number":112,"context_line":"@app.route(\u0027/\u0027 + api_server.VERSION + \u0027/plug/vip/\u003cvip\u003e\u0027, methods\u003d[\u0027POST\u0027])"},{"line_number":113,"context_line":"def plug_vip(vip):"},{"line_number":114,"context_line":"    return plug.plug_vip(vip,"},{"line_number":115,"context_line":"                         flask.request.form[\u0027subnet_cidr\u0027],"},{"line_number":116,"context_line":"                         flask.request.form[\u0027gateway\u0027])"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_456d4203","line":115,"updated":"2015-08-04 05:01:07.000000000","message":"I would use a json body and no form... also would likely try to sue URL parameters...","commit_id":"826789240a1a32a000ef6e5bbebd9a14a8162ea8"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"60a221a77c03c58235f4444d3f66dcd5b71ed159","unresolved":false,"context_lines":[{"line_number":112,"context_line":"@app.route(\u0027/\u0027 + api_server.VERSION + \u0027/plug/vip/\u003cvip\u003e\u0027, methods\u003d[\u0027POST\u0027])"},{"line_number":113,"context_line":"def plug_vip(vip):"},{"line_number":114,"context_line":"    return plug.plug_vip(vip,"},{"line_number":115,"context_line":"                         flask.request.form[\u0027subnet_cidr\u0027],"},{"line_number":116,"context_line":"                         flask.request.form[\u0027gateway\u0027])"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_a1bacd08","line":115,"in_reply_to":"1a4dcd0f_456d4203","updated":"2015-08-04 17:26:16.000000000","message":"Picky, picky.  I don\u0027t like URL parameters for this kind of thing, so I will update to use JSON....","commit_id":"826789240a1a32a000ef6e5bbebd9a14a8162ea8"}],"octavia/tests/unit/amphorae/drivers/haproxy/test_rest_api_driver.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"7133b502ea28277fda1f120559e7c4cce68fedfe","unresolved":false,"context_lines":[{"line_number":594,"context_line":"    @requests_mock.mock()"},{"line_number":595,"context_line":"    def test_plug_vip(self, m):"},{"line_number":596,"context_line":"        FAKE_IP \u003d \u0027fake\u0027"},{"line_number":597,"context_line":"        FAKE_SUBNET_INFO \u003d {\u0027subnet_cidr\u0027: \u002710.0.0.0/24\u0027,"},{"line_number":598,"context_line":"                            \u0027gateway\u0027: \u002710.0.0.1\u0027}"},{"line_number":599,"context_line":"        m.post(\"{base}/plug/vip/{vip}\".format("},{"line_number":600,"context_line":"            base\u003dself.base_url, vip\u003dFAKE_IP)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_23978949","line":597,"updated":"2015-08-05 06:13:17.000000000","message":"Should all of these ALLCAPS_VARS (here and above) just be global at the very top? Might match other stuff we have, I think.","commit_id":"15bacd58e5b7ddba1ec17c1e7444f139ac5be468"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"7e1de8777689740db152b63da3c4f3b2e0298b5d","unresolved":false,"context_lines":[{"line_number":28,"context_line":"FAKE_GATEWAY \u003d \u002710.0.0.1\u0027"},{"line_number":29,"context_line":"FAKE_IP \u003d \u0027fake\u0027"},{"line_number":30,"context_line":"FAKE_PEM_FILENAME \u003d \"file_name\""},{"line_number":31,"context_line":"FAKE_SUBNET_INFO \u003d {\u0027subnet_cidr\u0027: \u002710.0.0.0/24\u0027,"},{"line_number":32,"context_line":"                    \u0027gateway\u0027: \u002710.0.0.1\u0027}"},{"line_number":33,"context_line":"FAKE_UUID_1 \u003d uuidutils.generate_uuid()"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_beab8874","line":31,"updated":"2015-08-05 17:02:43.000000000","message":"Technically this could make use of FAKE_CIDR and FAKE_GATEWAY","commit_id":"13968196a813d209ef5c6a7d37879362ac304d3c"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"7e1de8777689740db152b63da3c4f3b2e0298b5d","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def test_post_vip_plug(self):"},{"line_number":119,"context_line":"        amphorae_network_config \u003d mock.MagicMock()"},{"line_number":120,"context_line":"        subnet_info \u003d {\u0027subnet_cidr\u0027: FAKE_CIDR,"},{"line_number":121,"context_line":"                       \u0027gateway\u0027: FAKE_GATEWAY}"},{"line_number":122,"context_line":"        amphorae_network_config.get().vip_subnet.cidr \u003d FAKE_CIDR"},{"line_number":123,"context_line":"        amphorae_network_config.get().vip_subnet.gateway_ip \u003d FAKE_GATEWAY"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_3e97783b","line":120,"updated":"2015-08-05 17:02:43.000000000","message":"I think technically this could also just be FAKE_SUBNET_INFO","commit_id":"13968196a813d209ef5c6a7d37879362ac304d3c"}],"requirements.txt":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"7133b502ea28277fda1f120559e7c4cce68fedfe","unresolved":false,"context_lines":[{"line_number":28,"context_line":"oslo.serialization\u003e\u003d1.4.0 # Apache-2.0"},{"line_number":29,"context_line":"oslo.utils\u003e\u003d1.9.0 # Apache-2.0"},{"line_number":30,"context_line":"PyMySQL\u003e\u003d0.6.2 # MIT License"},{"line_number":31,"context_line":"pyroute2\u003e\u003d0.3.10 # Apache-2.0"},{"line_number":32,"context_line":"python-barbicanclient\u003e\u003d3.0.1"},{"line_number":33,"context_line":"python-keystoneclient\u003e\u003d1.6.0"},{"line_number":34,"context_line":"python-novaclient\u003e\u003d2.22.0"}],"source_content_type":"text/plain","patch_set":3,"id":"1a4dcd0f_a3895928","line":31,"updated":"2015-08-05 06:13:17.000000000","message":"Is this really part of our main requirements? Or should it be part of test-requirements? I don\u0027t think we use it on the controller-side, and on-amp requirements are handled by diskimage-create, right?","commit_id":"15bacd58e5b7ddba1ec17c1e7444f139ac5be468"}]}
