)]}'
{"doc/api_samples/os-cloudpipe-update/cloud-pipe-update-req.json":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"7c00b72e804aade2168010bb2ab2dce8eb19efd8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"configure_project\": {"},{"line_number":3,"context_line":"        \"vpn_ip\": \"192.168.1.1\","},{"line_number":4,"context_line":"\t\"vpn_port\": \"2000\""},{"line_number":5,"context_line":"    }"},{"line_number":6,"context_line":"}"}],"source_content_type":"application/json","patch_set":4,"id":"AAAAMH%2F%2FuDo%3D","line":4,"updated":"2012-11-28 20:15:20.000000000","message":"For consistency, I\u0027d like this tab changed over to 8 spaces.","commit_id":"e76d5384781b8c0a5a3dd559188254f8da49e1f0"}],"doc/api_samples/os-cloudpipe-update/cloud-pipe-update-req.xml":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"7c00b72e804aade2168010bb2ab2dce8eb19efd8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003c?xml version\u003d\u00271.0\u0027 encoding\u003d\u0027UTF-8\u0027?\u003e"},{"line_number":2,"context_line":"\u003cconfigure_project\u003e"},{"line_number":3,"context_line":"\u003cvpn_ip\u003e192.168.1.1\u003c/vpn_ip\u003e"},{"line_number":4,"context_line":"\u003cvpn_port\u003e2000\u003c/vpn_port\u003e"},{"line_number":5,"context_line":"\u003c/configure_project\u003e"}],"source_content_type":"application/xml","patch_set":4,"id":"AAAAMH%2F%2FuDc%3D","line":3,"updated":"2012-11-28 20:15:20.000000000","message":"I\u0027d prefer if this line and the following line could be indented 2 spaces…","commit_id":"e76d5384781b8c0a5a3dd559188254f8da49e1f0"}],"nova/api/openstack/compute/contrib/cloudpipe.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5d5c199e8851993981928be283293d2db001f59b","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        if id !\u003d \"configure-project\":"},{"line_number":172,"context_line":"            msg \u003d _(\"Unknown action %s\") % id"},{"line_number":173,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        project_id \u003d context.project_id"},{"line_number":176,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2F%2Few%3D","line":173,"updated":"2012-11-12 16:39:28.000000000","message":"Shouldn\u0027t this be HTTPBadRequest if they specified an invalid action?","commit_id":"671717d325c00079c33c4d2e532578f90f71a486"}],"nova/api/openstack/compute/contrib/cloudpipe_update.py":[{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"e060f7a628a136110f8f65cdaa71501b09ddb725","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        project_id \u003d context.project_id"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        try:"},{"line_number":52,"context_line":"            params \u003d body[\u0027configure_project\u0027]"},{"line_number":53,"context_line":"            vpn_ip \u003d params[\u0027vpn_ip\u0027]"},{"line_number":54,"context_line":"            vpn_port \u003d params[\u0027vpn_port\u0027]"},{"line_number":55,"context_line":"        except (TypeError, KeyError):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2F4RE%3D","line":52,"updated":"2012-11-18 13:31:52.000000000","message":"Why need the element \u0027configure_project\u0027?","commit_id":"273b5e7b3445d6df2e877c1e7db79e16461e664e"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"7c00b72e804aade2168010bb2ab2dce8eb19efd8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2012 IBM"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2FuDY%3D","line":3,"updated":"2012-11-28 20:15:20.000000000","message":"Shouldn\u0027t this be assigned to Openstack, LLC?","commit_id":"e76d5384781b8c0a5a3dd559188254f8da49e1f0"}],"nova/tests/api/openstack/compute/contrib/test_cloudpipe.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5d5c199e8851993981928be283293d2db001f59b","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        self.assertEqual(\u0027202 Accepted\u0027, result.status)"},{"line_number":161,"context_line":"        self.assertEqual(fake_networks[0][\u0027vpn_public_address\u0027], \"1.2.3.4\")"},{"line_number":162,"context_line":"        self.assertEqual(fake_networks[0][\u0027vpn_public_port\u0027], 222)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"class CloudpipesXMLSerializerTest(test.TestCase):"},{"line_number":166,"context_line":"    def test_default_serializer(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2F%2FeQ%3D","line":163,"updated":"2012-11-12 16:39:28.000000000","message":"How about a test for the case where configure-project isn\u0027t specified, and where the body elements are malformed or missing? That would help ensure that we\u0027re returning the error for both cases we expect (once we settle on which one that is, of course :)","commit_id":"671717d325c00079c33c4d2e532578f90f71a486"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"7c00b72e804aade2168010bb2ab2dce8eb19efd8","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import webob"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from lxml import etree"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2FuDM%3D","line":16,"updated":"2012-11-28 20:15:20.000000000","message":"Please revert; webob isn\u0027t used in test_cloudpipe.py.","commit_id":"e76d5384781b8c0a5a3dd559188254f8da49e1f0"}],"nova/tests/api/openstack/compute/contrib/test_cloudpipe_update.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"7c00b72e804aade2168010bb2ab2dce8eb19efd8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 IBM"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2FuDE%3D","line":1,"updated":"2012-11-28 20:15:20.000000000","message":"Again, copyright assignment question","commit_id":"e76d5384781b8c0a5a3dd559188254f8da49e1f0"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"7c00b72e804aade2168010bb2ab2dce8eb19efd8","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import webob"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from nova.api.openstack.compute.contrib import cloudpipe_update"},{"line_number":20,"context_line":"from nova.api.openstack import wsgi"},{"line_number":21,"context_line":"from nova import db"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2FuDI%3D","line":18,"updated":"2012-11-28 20:15:20.000000000","message":"Too many blank lines; please eliminate one…","commit_id":"e76d5384781b8c0a5a3dd559188254f8da49e1f0"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"7c00b72e804aade2168010bb2ab2dce8eb19efd8","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                        network[key] \u003d values[key]"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        self.stubs.Set(db, \"project_get_networks\", fake_project_get_networks)"},{"line_number":47,"context_line":"        self.stubs.Set(db, \"network_update\", fake_network_update)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":50,"context_line":"            \u0027/v2/fake/os-cloudpipe/configure-project\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2FuDA%3D","line":47,"updated":"2012-11-28 20:15:20.000000000","message":"You use these exact same stubs in all your test functions; why not pull them into setUp()?","commit_id":"e76d5384781b8c0a5a3dd559188254f8da49e1f0"}],"nova/tests/integrated/api_samples/all_extensions/extensions-get-resp.json.tpl":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"7c00b72e804aade2168010bb2ab2dce8eb19efd8","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            \"name\": \"CloudpipeUpdate\","},{"line_number":104,"context_line":"            \"namespace\": \"http://docs.openstack.org/compute/ext/cloudpipe-update/api/v2\","},{"line_number":105,"context_line":"            \"updated\": \"%(timestamp)s\""},{"line_number":106,"context_line":"        }, "},{"line_number":107,"context_line":"        {"},{"line_number":108,"context_line":"            \"alias\": \"os-config-drive\","},{"line_number":109,"context_line":"            \"description\": \"%(text)s\","}],"source_content_type":"text/x-smarty","patch_set":4,"id":"AAAAMH%2F%2FuC8%3D","line":106,"updated":"2012-11-28 20:15:20.000000000","message":"Trailing whitespace I\u0027d like you to remove…","commit_id":"e76d5384781b8c0a5a3dd559188254f8da49e1f0"}],"nova/tests/integrated/api_samples/os-cloudpipe-update/cloud-pipe-update-req.json.tpl":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"7c00b72e804aade2168010bb2ab2dce8eb19efd8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"configure_project\": {"},{"line_number":3,"context_line":"        \"vpn_ip\": \"%(vpn_ip)s\","},{"line_number":4,"context_line":"\t\"vpn_port\": \"%(vpn_port)s\""},{"line_number":5,"context_line":"    }"},{"line_number":6,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":4,"id":"AAAAMH%2F%2FuC4%3D","line":4,"updated":"2012-11-28 20:15:20.000000000","message":"Again, I\u0027d prefer the tab be replaced with 8 spaces, for consistency…","commit_id":"e76d5384781b8c0a5a3dd559188254f8da49e1f0"}],"nova/tests/integrated/api_samples/os-cloudpipe-update/cloud-pipe-update-req.xml.tpl":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"2fb655ebda0a52ca7f4f7492c313e0f4922fc76e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003c?xml version\u003d\u00271.0\u0027 encoding\u003d\u0027UTF-8\u0027?\u003e"},{"line_number":2,"context_line":"\u003cconfigure_project\u003e"},{"line_number":3,"context_line":"\u003cvpn_ip\u003e%(vpn_ip)s\u003c/vpn_ip\u003e"},{"line_number":4,"context_line":"\u003cvpn_port\u003e%(vpn_port)s\u003c/vpn_port\u003e"},{"line_number":5,"context_line":"\u003c/configure_project\u003e"}],"source_content_type":"text/x-smarty","patch_set":6,"id":"AAAAMH%2F%2FtGE%3D","line":4,"updated":"2012-11-29 16:36:29.000000000","message":"Oh, missed these; would like the inner elements indented 2 spaces, so humans can visually see the nesting.","commit_id":"7f7005dc01faa3c7870a1f02f37562219742ba17"}],"nova/tests/integrated/test_api_samples.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"7c00b72e804aade2168010bb2ab2dce8eb19efd8","unresolved":false,"context_lines":[{"line_number":1111,"context_line":""},{"line_number":1112,"context_line":"class CloudPipeUpdateJsonTest(ApiSampleTestBase):"},{"line_number":1113,"context_line":"    extension_name \u003d \"nova.api.openstack.compute.contrib\" + \\"},{"line_number":1114,"context_line":"        \".cloudpipe_update.Cloudpipe_update\""},{"line_number":1115,"context_line":""},{"line_number":1116,"context_line":"    def _get_flags(self):"},{"line_number":1117,"context_line":"        f \u003d super(CloudPipeUpdateJsonTest, self)._get_flags()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2FuC0%3D","line":1114,"updated":"2012-11-28 20:15:20.000000000","message":"femtonit: I\u0027d prefer if this string expression could be enclosed within parentheses, so that you don\u0027t need to use the backslash continuation.  As a bonus, you would also be able to eliminate the \u0027+\u0027, i.e.:\n\n    extension_name \u003d (\"nova.api.openstack.compute.contrib\"\n                      \".cloudpipe_update.Cloudpipe_update\")","commit_id":"e76d5384781b8c0a5a3dd559188254f8da49e1f0"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"7c00b72e804aade2168010bb2ab2dce8eb19efd8","unresolved":false,"context_lines":[{"line_number":1125,"context_line":"        super(CloudPipeUpdateJsonTest, self).setUp()"},{"line_number":1126,"context_line":""},{"line_number":1127,"context_line":"    def test_cloud_pipe_update(self):"},{"line_number":1128,"context_line":"        \"\"\"Update VPN IP and port\"\"\""},{"line_number":1129,"context_line":"        subs \u003d {\u0027vpn_ip\u0027: \u0027192.168.1.1\u0027,"},{"line_number":1130,"context_line":"                \u0027vpn_port\u0027: 2000}"},{"line_number":1131,"context_line":"        response \u003d self._do_put(\u0027os-cloudpipe/configure-project\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2FuCs%3D","line":1128,"updated":"2012-11-28 20:15:20.000000000","message":"I personally prefer that test methods not have docstrings on them; nose often reports the docstring rather than the test name, which makes it more difficult to find the error report on a given test failure.","commit_id":"e76d5384781b8c0a5a3dd559188254f8da49e1f0"}]}
