)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c935dcdd5be54608eed252281e1ee5778dc20fb8","unresolved":false,"context_lines":[{"line_number":11,"context_line":"project_id, and in the case of api-v3 where project_id are no longer present in"},{"line_number":12,"context_line":"the url the response will not have it either."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Complements bp v3-api-remove-project-id."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Also fix two minor issues on the unit tests, which were breaking with this"},{"line_number":17,"context_line":"change:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAPX%2F%2FwEM%3D","line":14,"updated":"2013-06-11 12:34:57.000000000","message":"there is not this blueprint on launchpad.","commit_id":"9182b142568a6b019d3195cdaa7d138302fdce5c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"cb6d54eb1d88b5bba8dc851c19c7e1ebd388fc8c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"project_id, and in the case of api-v3 where project_id are no longer present in"},{"line_number":12,"context_line":"the url the response will not have it either."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Complements bp v3-api-remove-project-id."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Also fix two minor issues on the unit tests, which were breaking with this"},{"line_number":17,"context_line":"change:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAPX%2F%2Fvzs%3D","line":14,"in_reply_to":"AAAAPX%2F%2Fv4Q%3D","updated":"2013-06-11 14:09:30.000000000","message":"Thanks, I found :-)","commit_id":"9182b142568a6b019d3195cdaa7d138302fdce5c"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"61fbb6c19cdce749aaf8e3a11a9a8ef1a6fb3400","unresolved":false,"context_lines":[{"line_number":11,"context_line":"project_id, and in the case of api-v3 where project_id are no longer present in"},{"line_number":12,"context_line":"the url the response will not have it either."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Complements bp v3-api-remove-project-id."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Also fix two minor issues on the unit tests, which were breaking with this"},{"line_number":17,"context_line":"change:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAPX%2F%2Fv4Q%3D","line":14,"in_reply_to":"AAAAPX%2F%2FwEM%3D","updated":"2013-06-11 13:46:22.000000000","message":"It does exist, it just has been marked as implemented already  which may be why the search is not picking it up\n\nhttps://blueprints.launchpad.net/nova/+spec/v3-api-remove-project-id\n\nThis is a bit of left over work that for that bp that was not picked up before the bp was closed.","commit_id":"9182b142568a6b019d3195cdaa7d138302fdce5c"}],"nova/api/openstack/common.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"209c9121bbf283dea581ec86654eb3f249aeab35","unresolved":false,"context_lines":[{"line_number":455,"context_line":"    \"\"\"Model API responses as dictionaries.\"\"\""},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    def _get_project_id(self, request):"},{"line_number":458,"context_line":"        \"\"\"Get project id from request url if present.\"\"\""},{"line_number":459,"context_line":"        project_id \u003d request.environ[\"nova.context\"].project_id"},{"line_number":460,"context_line":"        if project_id in request.url:"},{"line_number":461,"context_line":"            return project_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F7Wc%3D","line":458,"updated":"2013-06-05 20:58:28.000000000","message":"Docstring should say that it returns \u0027\u0027 if not present.","commit_id":"957232fa611853081b2111445c9b82e1bb81d4d1"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"7848e5de3111ae45de70ae6a442cf5da2baefdc5","unresolved":false,"context_lines":[{"line_number":455,"context_line":"    \"\"\"Model API responses as dictionaries.\"\"\""},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    def _get_project_id(self, request):"},{"line_number":458,"context_line":"        \"\"\"Get project id from request url if present.\"\"\""},{"line_number":459,"context_line":"        project_id \u003d request.environ[\"nova.context\"].project_id"},{"line_number":460,"context_line":"        if project_id in request.url:"},{"line_number":461,"context_line":"            return project_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F2qk%3D","line":458,"in_reply_to":"AAAAPX%2F%2F7Wc%3D","updated":"2013-06-07 16:51:58.000000000","message":"Done","commit_id":"957232fa611853081b2111445c9b82e1bb81d4d1"}],"nova/tests/api/openstack/compute/plugins/v3/test_servers.py":[{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"f7a8ead9e3d214445000c8fd595c2c5206435037","unresolved":false,"context_lines":[{"line_number":4255,"context_line":""},{"line_number":4256,"context_line":"        self.uuid \u003d self.instance[\u0027uuid\u0027]"},{"line_number":4257,"context_line":"        self.view_builder \u003d views.servers.ViewBuilder()"},{"line_number":4258,"context_line":"        self.request \u003d fakes.HTTPRequestV3.blank(\"/v3/fake\")"},{"line_number":4259,"context_line":""},{"line_number":4260,"context_line":"    def test_get_flavor_valid_instance_type(self):"},{"line_number":4261,"context_line":"        flavor_bookmark \u003d \"http://localhost/fake/flavors/1\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F%2FI8%3D","line":4258,"updated":"2013-06-04 14:25:17.000000000","message":"Can you explain more why we need the \"fake\"? Is it project_id?","commit_id":"957232fa611853081b2111445c9b82e1bb81d4d1"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"7f7014d137be7dd6291662f085b079ad3bd25f9d","unresolved":false,"context_lines":[{"line_number":4255,"context_line":""},{"line_number":4256,"context_line":"        self.uuid \u003d self.instance[\u0027uuid\u0027]"},{"line_number":4257,"context_line":"        self.view_builder \u003d views.servers.ViewBuilder()"},{"line_number":4258,"context_line":"        self.request \u003d fakes.HTTPRequestV3.blank(\"/v3/fake\")"},{"line_number":4259,"context_line":""},{"line_number":4260,"context_line":"    def test_get_flavor_valid_instance_type(self):"},{"line_number":4261,"context_line":"        flavor_bookmark \u003d \"http://localhost/fake/flavors/1\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F9Xo%3D","line":4258,"in_reply_to":"AAAAPX%2F%2F%2FFs%3D","updated":"2013-06-05 05:17:57.000000000","message":"Sorry. I\u0027m confused. Here is v3. In v3, the project_id has been removed in request. why did you add it here?","commit_id":"957232fa611853081b2111445c9b82e1bb81d4d1"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"328f6cd5719ed94d01774d10856ec6ce13b216c2","unresolved":false,"context_lines":[{"line_number":4255,"context_line":""},{"line_number":4256,"context_line":"        self.uuid \u003d self.instance[\u0027uuid\u0027]"},{"line_number":4257,"context_line":"        self.view_builder \u003d views.servers.ViewBuilder()"},{"line_number":4258,"context_line":"        self.request \u003d fakes.HTTPRequestV3.blank(\"/v3/fake\")"},{"line_number":4259,"context_line":""},{"line_number":4260,"context_line":"    def test_get_flavor_valid_instance_type(self):"},{"line_number":4261,"context_line":"        flavor_bookmark \u003d \"http://localhost/fake/flavors/1\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F%2FFs%3D","line":4258,"in_reply_to":"AAAAPX%2F%2F%2FI8%3D","updated":"2013-06-04 14:49:02.000000000","message":"exactly! like we need in real requests (but this one is \u0027authenticated\u0027 in the  fakes instead of use the real authentication).\n\nSo now we need this cause project_id will no longer be necessary on v3 requests (this is merged already) and we need to make the links in response to not have the project id either, so here, in v2,  we need to explicitly send the project_id to keep the behavior (before that every call with or without project id had response with links with project id)","commit_id":"957232fa611853081b2111445c9b82e1bb81d4d1"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"7848e5de3111ae45de70ae6a442cf5da2baefdc5","unresolved":false,"context_lines":[{"line_number":4255,"context_line":""},{"line_number":4256,"context_line":"        self.uuid \u003d self.instance[\u0027uuid\u0027]"},{"line_number":4257,"context_line":"        self.view_builder \u003d views.servers.ViewBuilder()"},{"line_number":4258,"context_line":"        self.request \u003d fakes.HTTPRequestV3.blank(\"/v3/fake\")"},{"line_number":4259,"context_line":""},{"line_number":4260,"context_line":"    def test_get_flavor_valid_instance_type(self):"},{"line_number":4261,"context_line":"        flavor_bookmark \u003d \"http://localhost/fake/flavors/1\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F2qI%3D","line":4258,"in_reply_to":"AAAAPX%2F%2F74Y%3D","updated":"2013-06-07 16:51:58.000000000","message":"My bad guys! Ithought it worked since tests passed but by obvious reason it passes even if we request against v3/fake since the request is barely used on the unit test, it\u0027s just a way to transport information to the controllers.","commit_id":"957232fa611853081b2111445c9b82e1bb81d4d1"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"4ad6c1d64c00206c29707f592f851109946e1de0","unresolved":false,"context_lines":[{"line_number":4255,"context_line":""},{"line_number":4256,"context_line":"        self.uuid \u003d self.instance[\u0027uuid\u0027]"},{"line_number":4257,"context_line":"        self.view_builder \u003d views.servers.ViewBuilder()"},{"line_number":4258,"context_line":"        self.request \u003d fakes.HTTPRequestV3.blank(\"/v3/fake\")"},{"line_number":4259,"context_line":""},{"line_number":4260,"context_line":"    def test_get_flavor_valid_instance_type(self):"},{"line_number":4261,"context_line":"        flavor_bookmark \u003d \"http://localhost/fake/flavors/1\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F74Y%3D","line":4258,"in_reply_to":"AAAAPX%2F%2F9Xo%3D","updated":"2013-06-05 18:40:28.000000000","message":"I have the same confusion. Your explanation makes sense for v2, but this test is under plugins/v3/?","commit_id":"957232fa611853081b2111445c9b82e1bb81d4d1"}],"nova/tests/api/openstack/compute/test_servers.py":[{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"f7a8ead9e3d214445000c8fd595c2c5206435037","unresolved":false,"context_lines":[{"line_number":1559,"context_line":"                },"},{"line_number":1560,"context_line":"            ],"},{"line_number":1561,"context_line":"        }"},{"line_number":1562,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/fake/servers/detail\u0027)"},{"line_number":1563,"context_line":"        res_dict \u003d self.controller.detail(req)"},{"line_number":1564,"context_line":""},{"line_number":1565,"context_line":"        for i, s in enumerate(res_dict[\u0027servers\u0027]):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F%2FI4%3D","line":1562,"updated":"2013-06-04 14:25:17.000000000","message":"why remove the version?","commit_id":"957232fa611853081b2111445c9b82e1bb81d4d1"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"328f6cd5719ed94d01774d10856ec6ce13b216c2","unresolved":false,"context_lines":[{"line_number":1559,"context_line":"                },"},{"line_number":1560,"context_line":"            ],"},{"line_number":1561,"context_line":"        }"},{"line_number":1562,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/fake/servers/detail\u0027)"},{"line_number":1563,"context_line":"        res_dict \u003d self.controller.detail(req)"},{"line_number":1564,"context_line":""},{"line_number":1565,"context_line":"        for i, s in enumerate(res_dict[\u0027servers\u0027]):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F%2FFA%3D","line":1562,"in_reply_to":"AAAAPX%2F%2F%2FI4%3D","updated":"2013-06-04 14:49:02.000000000","message":"cause here https://github.com/openstack/nova/blob/master/nova/tests/api/openstack/fakes.py#L329 the baseurl already contains the version","commit_id":"957232fa611853081b2111445c9b82e1bb81d4d1"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"7f7014d137be7dd6291662f085b079ad3bd25f9d","unresolved":false,"context_lines":[{"line_number":4198,"context_line":""},{"line_number":4199,"context_line":"        self.uuid \u003d self.instance[\u0027uuid\u0027]"},{"line_number":4200,"context_line":"        self.view_builder \u003d views.servers.ViewBuilder()"},{"line_number":4201,"context_line":"        self.request \u003d fakes.HTTPRequest.blank(\"/v2/fake\")"},{"line_number":4202,"context_line":""},{"line_number":4203,"context_line":"    def test_get_flavor_valid_instance_type(self):"},{"line_number":4204,"context_line":"        flavor_bookmark \u003d \"http://localhost/fake/flavors/1\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F9Xw%3D","line":4201,"updated":"2013-06-05 05:17:57.000000000","message":"the same as above, the baseurl contains the version too. remove it?","commit_id":"957232fa611853081b2111445c9b82e1bb81d4d1"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"7848e5de3111ae45de70ae6a442cf5da2baefdc5","unresolved":false,"context_lines":[{"line_number":4198,"context_line":""},{"line_number":4199,"context_line":"        self.uuid \u003d self.instance[\u0027uuid\u0027]"},{"line_number":4200,"context_line":"        self.view_builder \u003d views.servers.ViewBuilder()"},{"line_number":4201,"context_line":"        self.request \u003d fakes.HTTPRequest.blank(\"/v2/fake\")"},{"line_number":4202,"context_line":""},{"line_number":4203,"context_line":"    def test_get_flavor_valid_instance_type(self):"},{"line_number":4204,"context_line":"        flavor_bookmark \u003d \"http://localhost/fake/flavors/1\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F2Rc%3D","line":4201,"in_reply_to":"AAAAPX%2F%2F73Y%3D","updated":"2013-06-07 16:51:58.000000000","message":"Done","commit_id":"957232fa611853081b2111445c9b82e1bb81d4d1"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"4ad6c1d64c00206c29707f592f851109946e1de0","unresolved":false,"context_lines":[{"line_number":4198,"context_line":""},{"line_number":4199,"context_line":"        self.uuid \u003d self.instance[\u0027uuid\u0027]"},{"line_number":4200,"context_line":"        self.view_builder \u003d views.servers.ViewBuilder()"},{"line_number":4201,"context_line":"        self.request \u003d fakes.HTTPRequest.blank(\"/v2/fake\")"},{"line_number":4202,"context_line":""},{"line_number":4203,"context_line":"    def test_get_flavor_valid_instance_type(self):"},{"line_number":4204,"context_line":"        flavor_bookmark \u003d \"http://localhost/fake/flavors/1\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F73Y%3D","line":4201,"in_reply_to":"AAAAPX%2F%2F9Xw%3D","updated":"2013-06-05 18:40:28.000000000","message":"On removing the version, if you expand the common lines and look at the whole file, there are many many more instances of the version that should also be removed if you were to be consistent.","commit_id":"957232fa611853081b2111445c9b82e1bb81d4d1"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"f0899297d7d456b01daca69629069063d681394b","unresolved":false,"context_lines":[{"line_number":4243,"context_line":""},{"line_number":4244,"context_line":"        self.uuid \u003d self.instance[\u0027uuid\u0027]"},{"line_number":4245,"context_line":"        self.view_builder \u003d views.servers.ViewBuilder()"},{"line_number":4246,"context_line":"        self.request \u003d fakes.HTTPRequest.blank(\"/v2/fake\")"},{"line_number":4247,"context_line":""},{"line_number":4248,"context_line":"    def test_get_flavor_valid_flavor(self):"},{"line_number":4249,"context_line":"        flavor_bookmark \u003d \"http://localhost/fake/flavors/1\""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPn%2F%2F7c0%3D","line":4246,"updated":"2013-06-18 01:36:50.000000000","message":"What looks to be a lone \"/v2\" :(","commit_id":"90da2c677976b3e9e96bd68703a8b9d5ba347ce3"}]}
