)]}'
{"nova/api/openstack/__init__.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"e4c9436c31f21da6defa7cd9288b30f1676e3df4","unresolved":false,"context_lines":[{"line_number":263,"context_line":"    def api_extension_namespace():"},{"line_number":264,"context_line":"        # TODO(oomichi): This namespaces will be changed after moving all v3"},{"line_number":265,"context_line":"        # APIs to v2.1."},{"line_number":266,"context_line":"        return \u0027nova.api.v3.extensions\u0027"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def __init__(self, init_only\u003dNone, v3mode\u003dFalse):"},{"line_number":269,"context_line":"        # TODO(cyeoh): bp v3-api-extension-framework. Currently load"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_80b95117","line":266,"updated":"2014-11-21 12:40:12.000000000","message":"considering we will move all v3 to v2.1 and it\u0027s pre-request for micro version, \nshould we change the TODO ?","commit_id":"a438abb13e70c4ed8d3ec35ae7d65da37d40e35f"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"e487a7aca4ecae62db80370c4d6ec583e79392ad","unresolved":false,"context_lines":[{"line_number":263,"context_line":"    def api_extension_namespace():"},{"line_number":264,"context_line":"        # TODO(oomichi): This namespaces will be changed after moving all v3"},{"line_number":265,"context_line":"        # APIs to v2.1."},{"line_number":266,"context_line":"        return \u0027nova.api.v3.extensions\u0027"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def __init__(self, init_only\u003dNone, v3mode\u003dFalse):"},{"line_number":269,"context_line":"        # TODO(cyeoh): bp v3-api-extension-framework. Currently load"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_2d3312ac","line":266,"in_reply_to":"5a890539_80b95117","updated":"2014-11-23 23:35:32.000000000","message":"yea this is just saying that we will eventually rename this nova.api.v21.extensions but not missing that in with this patch. We\u0027ll do the big move in Kilo hopefully","commit_id":"a438abb13e70c4ed8d3ec35ae7d65da37d40e35f"}],"nova/tests/unit/api/openstack/compute/test_plugin_framework.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"e4c9436c31f21da6defa7cd9288b30f1676e3df4","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        app \u003d fakes.wsgi_app_v21(init_only\u003d\u0027test-basic\u0027)"},{"line_number":33,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/test\u0027)"},{"line_number":34,"context_line":"        res \u003d req.get_response(app)"},{"line_number":35,"context_line":"        self.assertEqual(200, res.status_int)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_a0d00d54","line":35,"updated":"2014-11-21 12:40:12.000000000","message":"maybe we can assert return data?","commit_id":"a438abb13e70c4ed8d3ec35ae7d65da37d40e35f"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"e487a7aca4ecae62db80370c4d6ec583e79392ad","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        app \u003d fakes.wsgi_app_v21(init_only\u003d\u0027test-basic\u0027)"},{"line_number":33,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/test\u0027)"},{"line_number":34,"context_line":"        res \u003d req.get_response(app)"},{"line_number":35,"context_line":"        self.assertEqual(200, res.status_int)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_4d24de5f","line":35,"in_reply_to":"5a890539_a0d00d54","updated":"2014-11-23 23:35:32.000000000","message":"Done","commit_id":"a438abb13e70c4ed8d3ec35ae7d65da37d40e35f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"217ddc8be24a1c288e20645a24574c6cf045fecc","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class PluginTest(test.NoDBTestCase):"},{"line_number":26,"context_line":"    def setUp(self):"},{"line_number":27,"context_line":"        super(PluginTest, self).setUp()"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @mock.patch(\"nova.api.openstack.APIRouterV21.api_extension_namespace\")"},{"line_number":30,"context_line":"    def test_plugin_framework_index(self, mock_namespace):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_bbd28ece","line":27,"updated":"2014-11-26 03:55:03.000000000","message":"Can we remove this setUp() because of just calling setUp().","commit_id":"9b66891c6887b2fae4ebe9e7a10ff78e4d38517c"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"029f1256f869d53bdebd39ad038e53a64bcf9e6d","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class PluginTest(test.NoDBTestCase):"},{"line_number":26,"context_line":"    def setUp(self):"},{"line_number":27,"context_line":"        super(PluginTest, self).setUp()"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @mock.patch(\"nova.api.openstack.APIRouterV21.api_extension_namespace\")"},{"line_number":30,"context_line":"    def test_plugin_framework_index(self, mock_namespace):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_24bcaddb","line":27,"in_reply_to":"5a890539_bbd28ece","updated":"2014-11-26 14:16:37.000000000","message":"Done","commit_id":"9b66891c6887b2fae4ebe9e7a10ff78e4d38517c"}],"nova/tests/unit/api/openstack/compute/test_plugins/basic.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"e4c9436c31f21da6defa7cd9288b30f1676e3df4","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    name \u003d \"Basic Test\""},{"line_number":35,"context_line":"    alias \u003d ALIAS"},{"line_number":36,"context_line":"    version \u003d 1"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def get_resources(self):"},{"line_number":39,"context_line":"        resource \u003d extensions.ResourceExtension(\u0027test\u0027, BasicController())"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_40912999","line":36,"updated":"2014-11-21 12:40:12.000000000","message":"question : do we need \u0027version\u0027 here?","commit_id":"a438abb13e70c4ed8d3ec35ae7d65da37d40e35f"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"e487a7aca4ecae62db80370c4d6ec583e79392ad","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    name \u003d \"Basic Test\""},{"line_number":35,"context_line":"    alias \u003d ALIAS"},{"line_number":36,"context_line":"    version \u003d 1"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def get_resources(self):"},{"line_number":39,"context_line":"        resource \u003d extensions.ResourceExtension(\u0027test\u0027, BasicController())"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_ad1e220a","line":36,"in_reply_to":"5a890539_40912999","updated":"2014-11-23 23:35:32.000000000","message":"yes, its needed by the framework currently. Something to clean up in the future if we\u0027re not going to use it.","commit_id":"a438abb13e70c4ed8d3ec35ae7d65da37d40e35f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"217ddc8be24a1c288e20645a24574c6cf045fecc","unresolved":false,"context_lines":[{"line_number":31,"context_line":"class Basic(extensions.V3APIExtensionBase):"},{"line_number":32,"context_line":"    \"\"\"Basic Test Extension.\"\"\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    name \u003d \"Basic Test\""},{"line_number":35,"context_line":"    alias \u003d ALIAS"},{"line_number":36,"context_line":"    version \u003d 1"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_3bde9eda","line":34,"updated":"2014-11-26 03:55:03.000000000","message":"It would be better to define CamelCase string as the extension name for consistency.","commit_id":"9b66891c6887b2fae4ebe9e7a10ff78e4d38517c"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"029f1256f869d53bdebd39ad038e53a64bcf9e6d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"class Basic(extensions.V3APIExtensionBase):"},{"line_number":32,"context_line":"    \"\"\"Basic Test Extension.\"\"\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    name \u003d \"Basic Test\""},{"line_number":35,"context_line":"    alias \u003d ALIAS"},{"line_number":36,"context_line":"    version \u003d 1"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_e49c656c","line":34,"in_reply_to":"5a890539_3bde9eda","updated":"2014-11-26 14:16:37.000000000","message":"Done","commit_id":"9b66891c6887b2fae4ebe9e7a10ff78e4d38517c"}]}
