)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"5294d7a6e26f9d6cd2f0775e6a8b88e043c335bb","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Replace hard coded WSGI application creation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"blueprint declarative-filters"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This change replaces the hard coded WSGI app creation with a pipeline"},{"line_number":12,"context_line":"of WSGI apps declared in a configuration file."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"AAAAVn%2F%2FCFY%3D","line":9,"updated":"2014-03-10 15:05:13.000000000","message":"move this to bottom:\n\nImplements: blueprint declarative-filters","commit_id":"be548ecbb7cf391d3447e528c54625d57f1c612d"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"046a465c9bedd07599ef5816b3a45d0620b42864","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Replace hard coded WSGI application creation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"blueprint declarative-filters"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This change replaces the hard coded WSGI app creation with a pipeline"},{"line_number":12,"context_line":"of WSGI apps declared in a configuration file."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"AAAAXH%2F%2FCMI%3D","line":9,"updated":"2014-04-24 14:12:35.000000000","message":"May you move these line to the end close to change id like:\n\nImplements blueprint: declarative-filters","commit_id":"3abdab58c927468b12d1e935432010ca20c8cdd2"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"046a465c9bedd07599ef5816b3a45d0620b42864","unresolved":false,"context_lines":[{"line_number":16,"context_line":"localized so switching to another library would not be hard if OpenStack moves"},{"line_number":17,"context_line":"to another package in the future."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"The changes are small but the changes for the tests was large since many"},{"line_number":20,"context_line":"acl tests were assuming a hard coded WSGI app creation."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I5ce05eab980271873269eca2945dc809f2923045"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"AAAAXH%2F%2FCL8%3D","line":19,"updated":"2014-04-24 14:12:35.000000000","message":"... the changes for the tests *were*...","commit_id":"3abdab58c927468b12d1e935432010ca20c8cdd2"}],"ceilometer/api/app.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9b2f58b2d94e9599b9565546a3f36d3a590d92ed","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    cfg.BoolOpt(\u0027enable_v1_api\u0027,"},{"line_number":38,"context_line":"                default\u003dTrue,"},{"line_number":39,"context_line":"                help\u003d\u0027Deploy the deprecated v1 API.\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027api_cfg_file\u0027,"},{"line_number":41,"context_line":"               default\u003d\"etc/ceilometer/api.conf\","},{"line_number":42,"context_line":"               help\u003d\"Configuration file for WSGI definition of API.\""},{"line_number":43,"context_line":"               ),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2Ff%2BQ%3D","line":40,"updated":"2014-03-05 19:04:36.000000000","message":"let\u0027s call it \u0027api_paste_config\u0027 similar to nova","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6230,"name":"Rob Raymond","email":"rob.raymond@hp.com","username":"rob-raymond"},"change_message_id":"5c56dd3f277e880d919c89b58f34cb93b312ff4f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    cfg.BoolOpt(\u0027enable_v1_api\u0027,"},{"line_number":38,"context_line":"                default\u003dTrue,"},{"line_number":39,"context_line":"                help\u003d\u0027Deploy the deprecated v1 API.\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027api_cfg_file\u0027,"},{"line_number":41,"context_line":"               default\u003d\"etc/ceilometer/api.conf\","},{"line_number":42,"context_line":"               help\u003d\"Configuration file for WSGI definition of API.\""},{"line_number":43,"context_line":"               ),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2FfEU%3D","line":40,"in_reply_to":"AAAAVn%2F%2Ff%2BQ%3D","updated":"2014-03-05 22:27:34.000000000","message":"Done","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9b2f58b2d94e9599b9565546a3f36d3a590d92ed","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                default\u003dTrue,"},{"line_number":39,"context_line":"                help\u003d\u0027Deploy the deprecated v1 API.\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027api_cfg_file\u0027,"},{"line_number":41,"context_line":"               default\u003d\"etc/ceilometer/api.conf\","},{"line_number":42,"context_line":"               help\u003d\"Configuration file for WSGI definition of API.\""},{"line_number":43,"context_line":"               ),"},{"line_number":44,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2Ff%2BM%3D","line":41,"updated":"2014-03-05 19:04:36.000000000","message":"\u0027api-paste.ini\u0027","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6230,"name":"Rob Raymond","email":"rob.raymond@hp.com","username":"rob-raymond"},"change_message_id":"5c56dd3f277e880d919c89b58f34cb93b312ff4f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                default\u003dTrue,"},{"line_number":39,"context_line":"                help\u003d\u0027Deploy the deprecated v1 API.\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027api_cfg_file\u0027,"},{"line_number":41,"context_line":"               default\u003d\"etc/ceilometer/api.conf\","},{"line_number":42,"context_line":"               help\u003d\"Configuration file for WSGI definition of API.\""},{"line_number":43,"context_line":"               ),"},{"line_number":44,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2FfEE%3D","line":41,"in_reply_to":"AAAAVn%2F%2Ff%2BM%3D","updated":"2014-03-05 22:27:34.000000000","message":"I assume you mean api_paste.int (\u0027_\" rather than \u0027-\u0027) for naming consistency with other config files in etc","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9b2f58b2d94e9599b9565546a3f36d3a590d92ed","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    LOG.info(\"WSGI config requested: %s\" % cfg_file)"},{"line_number":110,"context_line":"    if not os.path.exists(cfg_file):"},{"line_number":111,"context_line":"        # try resolving relative path from root"},{"line_number":112,"context_line":"        root \u003d os.path.abspath(os.path.join(os.path.dirname(__file__),"},{"line_number":113,"context_line":"                                            \u0027..\u0027,"},{"line_number":114,"context_line":"                                            \u0027..\u0027,"},{"line_number":115,"context_line":"                                            )"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2Ff8Y%3D","line":112,"updated":"2014-03-05 19:04:36.000000000","message":"use CONF.find_file() as other projects do.\n\nif not os.path.isabs(paste_config):\n            paste_config \u003d CONF.find_file(paste_config)","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6230,"name":"Rob Raymond","email":"rob.raymond@hp.com","username":"rob-raymond"},"change_message_id":"5c56dd3f277e880d919c89b58f34cb93b312ff4f","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    LOG.info(\"WSGI config requested: %s\" % cfg_file)"},{"line_number":110,"context_line":"    if not os.path.exists(cfg_file):"},{"line_number":111,"context_line":"        # try resolving relative path from root"},{"line_number":112,"context_line":"        root \u003d os.path.abspath(os.path.join(os.path.dirname(__file__),"},{"line_number":113,"context_line":"                                            \u0027..\u0027,"},{"line_number":114,"context_line":"                                            \u0027..\u0027,"},{"line_number":115,"context_line":"                                            )"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2FfB0%3D","line":112,"in_reply_to":"AAAAVn%2F%2Ff8Y%3D","updated":"2014-03-05 22:27:34.000000000","message":"Originally I was doing what you suggest but I ran into an interesting issue that drove me to this change. Issue is that this commit will not get through tempest gate checks because it uses devstack that does not install ini file. So I could not get through gate wihout putting in backward compatibility above. Once this commit is approved, I can submit change to devstack change to install paste ini. Then when that is approved I can change this code back.","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9b2f58b2d94e9599b9565546a3f36d3a590d92ed","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                                            )"},{"line_number":116,"context_line":"                               )"},{"line_number":117,"context_line":"        cfg_file \u003d os.path.join(root, cfg_file)"},{"line_number":118,"context_line":"    LOG.info(\"Full WSGI config used: %s\" % cfg_file)"},{"line_number":119,"context_line":"    return deploy.loadapp(\"config:\" + cfg_file)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2Ff70%3D","line":118,"updated":"2014-03-05 19:04:36.000000000","message":"maybe raise an exception if we can\u0027t fnd file.","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6230,"name":"Rob Raymond","email":"rob.raymond@hp.com","username":"rob-raymond"},"change_message_id":"5c56dd3f277e880d919c89b58f34cb93b312ff4f","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                                            )"},{"line_number":116,"context_line":"                               )"},{"line_number":117,"context_line":"        cfg_file \u003d os.path.join(root, cfg_file)"},{"line_number":118,"context_line":"    LOG.info(\"Full WSGI config used: %s\" % cfg_file)"},{"line_number":119,"context_line":"    return deploy.loadapp(\"config:\" + cfg_file)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2Fe8A%3D","line":118,"in_reply_to":"AAAAVn%2F%2Ff70%3D","updated":"2014-03-05 22:27:34.000000000","message":"Done","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"c1c3e5e19544fc2607d275f02a1e707e459f21e8","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                default\u003dTrue,"},{"line_number":39,"context_line":"                help\u003d\u0027Deploy the deprecated v1 API.\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027api_paste_config\u0027,"},{"line_number":41,"context_line":"               default\u003d\"etc/ceilometer/api_paste.ini\","},{"line_number":42,"context_line":"               help\u003d\"Configuration file for WSGI definition of API.\""},{"line_number":43,"context_line":"               ),"},{"line_number":44,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2BBdc%3D","line":41,"updated":"2014-03-31 13:53:26.000000000","message":"should probably just define api_paste.ini and hide the path","commit_id":"be548ecbb7cf391d3447e528c54625d57f1c612d"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"c1c3e5e19544fc2607d275f02a1e707e459f21e8","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    LOG.info(\"WSGI config requested: %s\" % cfg_file)"},{"line_number":110,"context_line":"    if not os.path.exists(cfg_file):"},{"line_number":111,"context_line":"        # try resolving relative path from root"},{"line_number":112,"context_line":"        root \u003d os.path.abspath(os.path.join(os.path.dirname(__file__),"},{"line_number":113,"context_line":"                                            \u0027..\u0027,"},{"line_number":114,"context_line":"                                            \u0027..\u0027,"},{"line_number":115,"context_line":"                                            )"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2BBdY%3D","line":112,"updated":"2014-03-31 13:53:26.000000000","message":"you can try using cfg.CONF.find_file(cfg_file)... it\u0027ll look at several places where conf files are typically located.","commit_id":"be548ecbb7cf391d3447e528c54625d57f1c612d"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"fd282937df2a736a2f3478889431022658a7c685","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    server_cls \u003d get_server_cls(host)"},{"line_number":149,"context_line":"    srv \u003d simple_server.make_server(host, port, app, server_cls)"},{"line_number":150,"context_line":"    LOG.error(srv)"},{"line_number":151,"context_line":"    LOG.error(server_cls)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    LOG.info(_(\u0027Starting server in PID %s\u0027) % os.getpid())"},{"line_number":154,"context_line":"    LOG.info(_(\"Configuration:\"))"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAWH%2F94Q4%3D","line":151,"updated":"2014-04-01 14:25:46.000000000","message":"Why is there using LOG.error? Possibly it may be removed or changed to debug or info log scope?","commit_id":"e7449ab5a1b2aae2b84ffac1f242e64e1437c968"}],"ceilometer/tests/api/__init__.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9b2f58b2d94e9599b9565546a3f36d3a590d92ed","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from ceilometer import service"},{"line_number":30,"context_line":"from ceilometer.tests import db as db_test_base"},{"line_number":31,"context_line":"from keystoneclient.middleware import auth_token"},{"line_number":32,"context_line":"from oslo.config import cfg"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"OPT_GROUP_NAME \u003d \u0027keystone_authtoken\u0027"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2Ff5g%3D","line":32,"updated":"2014-03-05 19:04:36.000000000","message":"group these lib with flask, pecan libs above.","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6230,"name":"Rob Raymond","email":"rob.raymond@hp.com","username":"rob-raymond"},"change_message_id":"5c56dd3f277e880d919c89b58f34cb93b312ff4f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from ceilometer import service"},{"line_number":30,"context_line":"from ceilometer.tests import db as db_test_base"},{"line_number":31,"context_line":"from keystoneclient.middleware import auth_token"},{"line_number":32,"context_line":"from oslo.config import cfg"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"OPT_GROUP_NAME \u003d \u0027keystone_authtoken\u0027"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2Fe7E%3D","line":32,"in_reply_to":"AAAAVn%2F%2Ff5g%3D","updated":"2014-03-05 22:27:34.000000000","message":"Done","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"a4cd90e5c9fb185194fbf5c09ae1826ddd70bff1","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                       group\u003dOPT_GROUP_NAME)"},{"line_number":43,"context_line":"    auth_token.CONF \u003d conf"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"register_opts(cfg.CONF)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"class TestBase(db_test_base.TestBase):"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAWH%2F9tgQ%3D","line":45,"updated":"2014-04-02 16:29:59.000000000","message":"this is odd. why are we defining this in the test code?","commit_id":"1f1a691949ac5fb102e233093768fca6544a569b"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"3b84281a4fb7691e607eac30dff3845296b7cc2c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                       group\u003dOPT_GROUP_NAME)"},{"line_number":43,"context_line":"    auth_token.CONF \u003d conf"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"register_opts(cfg.CONF)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"class TestBase(db_test_base.TestBase):"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAWn%2F%2F6cM%3D","line":45,"in_reply_to":"AAAAWH%2F9syk%3D","updated":"2014-04-08 14:42:03.000000000","message":"so with this patch, do we need to set options when defining auth_token filter in wsgi pipeline and the instructions found here are invalid? http://docs.openstack.org/developer/ceilometer/configuration.html#keystone-middleware-authentication\n\nif so, we should probably fix that. also, it seems like instead of registering the opts in test we should just be setting auth_token.CONF directly.","commit_id":"1f1a691949ac5fb102e233093768fca6544a569b"},{"author":{"_account_id":6230,"name":"Rob Raymond","email":"rob.raymond@hp.com","username":"rob-raymond"},"change_message_id":"e8bbb517220d6facaff2ec8397f62a9af6224254","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                       group\u003dOPT_GROUP_NAME)"},{"line_number":43,"context_line":"    auth_token.CONF \u003d conf"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"register_opts(cfg.CONF)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"class TestBase(db_test_base.TestBase):"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAWH%2F9syk%3D","line":45,"in_reply_to":"AAAAWH%2F9tgQ%3D","updated":"2014-04-02 17:54:15.000000000","message":"The operational code does not register keystoneclient middleware options anymore, since the keystone middleware is independent.\nBut the tests override some of these attributes (ex:auth_version) and this requires that the options are registered.","commit_id":"1f1a691949ac5fb102e233093768fca6544a569b"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b74edb05bf8927c1cf44a4cce0a9ecb06c7a17d6","unresolved":false,"context_lines":[{"line_number":36,"context_line":"OPT_GROUP_NAME \u003d \u0027keystone_authtoken\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def register_opts(conf):"},{"line_number":40,"context_line":"    \"\"\"Register keystoneclient middleware options"},{"line_number":41,"context_line":"    \"\"\""},{"line_number":42,"context_line":"    conf.register_opts(auth_token.opts,"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAXH%2F%2FBwc%3D","line":39,"updated":"2014-04-24 14:55:38.000000000","message":"so i just tried commenting out this entire added section (keeping just OPT_GROUP_NAME) and the tests pass fine... i\u0027m not sure what this is trying to accomplish.\n\nreposting original question from patchset 16:\nso with this patch, do we need to set options when defining auth_token filter in wsgi pipeline and the instructions found here are invalid? http://docs.openstack.org/developer/ceilometer/configuration.html#keystone-middleware-authentication","commit_id":"3abdab58c927468b12d1e935432010ca20c8cdd2"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"046a465c9bedd07599ef5816b3a45d0620b42864","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def register_opts(conf):"},{"line_number":40,"context_line":"    \"\"\"Register keystoneclient middleware options"},{"line_number":41,"context_line":"    \"\"\""},{"line_number":42,"context_line":"    conf.register_opts(auth_token.opts,"},{"line_number":43,"context_line":"                       group\u003dOPT_GROUP_NAME)"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAXH%2F%2FCJA%3D","line":40,"updated":"2014-04-24 14:12:35.000000000","message":"One-line docs should be placed on one line and contain the punctuation.","commit_id":"3abdab58c927468b12d1e935432010ca20c8cdd2"}],"ceilometer/tests/api/v1/test_app.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9b2f58b2d94e9599b9565546a3f36d3a590d92ed","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from ceilometer.openstack.common import test"},{"line_number":26,"context_line":"from ceilometer import service"},{"line_number":27,"context_line":"from ceilometer.tests import api as acl"},{"line_number":28,"context_line":"from keystoneclient.middleware import auth_token"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class TestApp(test.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2Ff48%3D","line":28,"updated":"2014-03-05 19:04:36.000000000","message":"group in section above separate from os lib","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6230,"name":"Rob Raymond","email":"rob.raymond@hp.com","username":"rob-raymond"},"change_message_id":"5c56dd3f277e880d919c89b58f34cb93b312ff4f","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from ceilometer.openstack.common import test"},{"line_number":26,"context_line":"from ceilometer import service"},{"line_number":27,"context_line":"from ceilometer.tests import api as acl"},{"line_number":28,"context_line":"from keystoneclient.middleware import auth_token"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class TestApp(test.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2Fe6c%3D","line":28,"in_reply_to":"AAAAVn%2F%2Ff48%3D","updated":"2014-03-05 22:27:34.000000000","message":"Done","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"}],"ceilometer/tests/etc/ceilometer/api_noauth.conf":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9b2f58b2d94e9599b9565546a3f36d3a590d92ed","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Ceilometer API WSGI Pipeline"},{"line_number":2,"context_line":"# Define the filters that make up the pipeline for processing WSGI requests"},{"line_number":3,"context_line":"# Note: This pipeline is PasteDeploy\u0027s term rather than Ceilometer\u0027s pipeline"},{"line_number":4,"context_line":"# used for processing samples"}],"source_content_type":"text/plain","patch_set":6,"id":"AAAAVn%2F%2Ff1k%3D","line":1,"updated":"2014-03-05 19:04:36.000000000","message":"we shouldn\u0027t need this file.","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6230,"name":"Rob Raymond","email":"rob.raymond@hp.com","username":"rob-raymond"},"change_message_id":"5c56dd3f277e880d919c89b58f34cb93b312ff4f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Ceilometer API WSGI Pipeline"},{"line_number":2,"context_line":"# Define the filters that make up the pipeline for processing WSGI requests"},{"line_number":3,"context_line":"# Note: This pipeline is PasteDeploy\u0027s term rather than Ceilometer\u0027s pipeline"},{"line_number":4,"context_line":"# used for processing samples"}],"source_content_type":"text/plain","patch_set":6,"id":"AAAAVn%2F%2Fd8U%3D","line":1,"in_reply_to":"AAAAVn%2F%2Ff1k%3D","updated":"2014-03-05 22:27:34.000000000","message":"Done","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"}],"ceilometer/tests/test_bin.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9b2f58b2d94e9599b9565546a3f36d3a590d92ed","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        self.http \u003d httplib2.Http()"},{"line_number":106,"context_line":"        pipeline_cfg_file \u003d self.path_get(\u0027etc/ceilometer/pipeline.yaml\u0027)"},{"line_number":107,"context_line":"        policy_file \u003d self.path_get(\u0027etc/ceilometer/policy.json\u0027)"},{"line_number":108,"context_line":"        api_conf_path \u003d \u0027ceilometer/tests/etc/ceilometer/api_noauth.conf\u0027"},{"line_number":109,"context_line":"        api_conf_file \u003d self.path_get(api_conf_path)"},{"line_number":110,"context_line":"        content \u003d \"[DEFAULT]\\n\"\\"},{"line_number":111,"context_line":"                  \"rpc_backend\u003dceilometer.openstack.common.rpc.impl_fake\\n\"\\"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2Ff2A%3D","line":108,"updated":"2014-03-05 19:04:36.000000000","message":"try doing something similar to below, (create a tempfile)","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6230,"name":"Rob Raymond","email":"rob.raymond@hp.com","username":"rob-raymond"},"change_message_id":"5c56dd3f277e880d919c89b58f34cb93b312ff4f","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        self.http \u003d httplib2.Http()"},{"line_number":106,"context_line":"        pipeline_cfg_file \u003d self.path_get(\u0027etc/ceilometer/pipeline.yaml\u0027)"},{"line_number":107,"context_line":"        policy_file \u003d self.path_get(\u0027etc/ceilometer/policy.json\u0027)"},{"line_number":108,"context_line":"        api_conf_path \u003d \u0027ceilometer/tests/etc/ceilometer/api_noauth.conf\u0027"},{"line_number":109,"context_line":"        api_conf_file \u003d self.path_get(api_conf_path)"},{"line_number":110,"context_line":"        content \u003d \"[DEFAULT]\\n\"\\"},{"line_number":111,"context_line":"                  \"rpc_backend\u003dceilometer.openstack.common.rpc.impl_fake\\n\"\\"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2Fd8Q%3D","line":108,"in_reply_to":"AAAAVn%2F%2Ff2A%3D","updated":"2014-03-05 22:27:34.000000000","message":"Done","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"}],"etc/ceilometer/api.conf":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9b2f58b2d94e9599b9565546a3f36d3a590d92ed","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Ceilometer API WSGI Pipeline"},{"line_number":2,"context_line":"# Define the filters that make up the pipeline for processing WSGI requests"},{"line_number":3,"context_line":"# Note: This pipeline is PasteDeploy\u0027s term rather than Ceilometer\u0027s pipeline"},{"line_number":4,"context_line":"# used for processing samples"}],"source_content_type":"text/plain","patch_set":6,"id":"AAAAVn%2F%2Ff1g%3D","line":1,"updated":"2014-03-05 19:04:36.000000000","message":"can we rename this api-paste.ini similar to other projects (or ceilometer-paste.ini)","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"}],"requirements.txt":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9b2f58b2d94e9599b9565546a3f36d3a590d92ed","unresolved":false,"context_lines":[{"line_number":13,"context_line":"lxml\u003e\u003d2.3"},{"line_number":14,"context_line":"msgpack-python"},{"line_number":15,"context_line":"oslo.config\u003e\u003d1.2.0"},{"line_number":16,"context_line":"pastedeploy\u003e\u003d1.5.0"},{"line_number":17,"context_line":"pbr\u003e\u003d0.6,\u003c1.0"},{"line_number":18,"context_line":"pecan\u003e\u003d0.4.5"},{"line_number":19,"context_line":"pysnmp\u003e\u003d4.2.1,\u003c5.0.0"}],"source_content_type":"text/plain","patch_set":6,"id":"AAAAVn%2F%2FgBE%3D","line":16,"updated":"2014-03-05 19:04:36.000000000","message":"(nit) PasteDeploy","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"},{"author":{"_account_id":6230,"name":"Rob Raymond","email":"rob.raymond@hp.com","username":"rob-raymond"},"change_message_id":"5c56dd3f277e880d919c89b58f34cb93b312ff4f","unresolved":false,"context_lines":[{"line_number":13,"context_line":"lxml\u003e\u003d2.3"},{"line_number":14,"context_line":"msgpack-python"},{"line_number":15,"context_line":"oslo.config\u003e\u003d1.2.0"},{"line_number":16,"context_line":"pastedeploy\u003e\u003d1.5.0"},{"line_number":17,"context_line":"pbr\u003e\u003d0.6,\u003c1.0"},{"line_number":18,"context_line":"pecan\u003e\u003d0.4.5"},{"line_number":19,"context_line":"pysnmp\u003e\u003d4.2.1,\u003c5.0.0"}],"source_content_type":"text/plain","patch_set":6,"id":"AAAAVn%2F%2FeO8%3D","line":16,"in_reply_to":"AAAAVn%2F%2FgBE%3D","updated":"2014-03-05 22:27:34.000000000","message":"Done","commit_id":"bfe8ff58b2b0e0e12940b8946a02bd113c82ffe9"}]}
