)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"f33cb7bd368d8a8788273a9bba29a443841a4ba8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP:Implement cinder API WSGI application to run under Apache/Nginx"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Cinder API uses eventelt as a webserver and WSGI application"},{"line_number":10,"context_line":"managing.This approach has some cons:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"* Cinder API is deployed in other way as a common web application."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba3cc151_3f428769","line":9,"updated":"2015-07-10 15:07:04.000000000","message":"eventelt-\u003eeventlet ? Right?","commit_id":"7455aef86e366aabc331936b588809840b5bc261"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"41736bd781e0bde557ff231e06db7bd43be30e0c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP:Implement cinder API WSGI application to run under Apache/Nginx"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Cinder API uses eventelt as a webserver and WSGI application"},{"line_number":10,"context_line":"managing.This approach has some cons:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"* Cinder API is deployed in other way as a common web application."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a41bdd9_ecfc6440","line":9,"in_reply_to":"ba3cc151_3f428769","updated":"2015-07-13 10:50:55.000000000","message":"done ,thanks","commit_id":"7455aef86e366aabc331936b588809840b5bc261"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"f33cb7bd368d8a8788273a9bba29a443841a4ba8","unresolved":false,"context_lines":[{"line_number":18,"context_line":"* Apache/Nginx works better under the real heavy load then eventlet."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"This change adds cinder API application implemention to be possible run"},{"line_number":21,"context_line":"cinder API under Apache/Nginx."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"Implements: blueprint: non-eventlet-wsgi-app"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba3cc151_82e7ba45","line":21,"updated":"2015-07-10 15:07:04.000000000","message":"This sentence is a tad confusing, I think there are some words swapped around here. Did you mean: \"This change adds cinder API application implementation so that cinder API can be run under Apache/Nginx\" ?","commit_id":"7455aef86e366aabc331936b588809840b5bc261"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"41736bd781e0bde557ff231e06db7bd43be30e0c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"* Apache/Nginx works better under the real heavy load then eventlet."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"This change adds cinder API application implemention to be possible run"},{"line_number":21,"context_line":"cinder API under Apache/Nginx."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"Implements: blueprint: non-eventlet-wsgi-app"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a41bdd9_ac95fce4","line":21,"in_reply_to":"ba3cc151_82e7ba45","updated":"2015-07-13 10:50:55.000000000","message":"done ,thanks","commit_id":"7455aef86e366aabc331936b588809840b5bc261"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"6920ca3407c5c3c26051fe0aa0d7898a6da79120","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Anton Arefiev \u003caarefiev@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-22 18:00:43 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Implement cinder API WSGI application to run under Apache/Nginx"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Cinder API uses eventlet as a webserver and WSGI application"},{"line_number":10,"context_line":"managing.This approach has some cons:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a50d1a3_81c3b188","line":7,"updated":"2015-07-22 15:24:14.000000000","message":"50 chars or less please.\n\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"21e676cc50425eb09049755da6b8511f02c65e13"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"6920ca3407c5c3c26051fe0aa0d7898a6da79120","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Implement cinder API WSGI application to run under Apache/Nginx"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Cinder API uses eventlet as a webserver and WSGI application"},{"line_number":10,"context_line":"managing.This approach has some cons:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"* Cinder API is deployed in other way as a common web application."},{"line_number":13,"context_line":"Apache/Nginx is generally used web servers for REST API application."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a50d1a3_415049d4","line":10,"updated":"2015-07-22 15:24:14.000000000","message":"s/managing.This/managing.  This/","commit_id":"21e676cc50425eb09049755da6b8511f02c65e13"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"6920ca3407c5c3c26051fe0aa0d7898a6da79120","unresolved":false,"context_lines":[{"line_number":12,"context_line":"* Cinder API is deployed in other way as a common web application."},{"line_number":13,"context_line":"Apache/Nginx is generally used web servers for REST API application."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"* Cinder API is runned as a separate service. It means that cloud"},{"line_number":16,"context_line":"operator need to configure some software to monitor that API is running."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Apache/Nginx works better under the real heavy load then eventlet."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a50d1a3_e10635cd","line":15,"updated":"2015-07-22 15:24:14.000000000","message":"s/is runned/is run/","commit_id":"21e676cc50425eb09049755da6b8511f02c65e13"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"1e2e38442c81f6139d89c10216d448eab66e9c22","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"This change adds cinder API application implemention, so cinder API"},{"line_number":21,"context_line":"can be run under Apache/Nginx."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"Implements: blueprint: non-eventlet-wsgi-app"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3a50d1a3_5c632b42","line":22,"updated":"2015-07-23 06:44:10.000000000","message":"A section to describe how this new app can be deployed with Apache/Nginx would be helpful to those who want to try it out before official documentation is ready.","commit_id":"e89059a53b209e13524e4570f89b4520f72cbf03"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"97dbf5afdf12c04604945a1f87a39b9d2b62a218","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"This change adds cinder API application implemention, so cinder API"},{"line_number":21,"context_line":"can be run under Apache/Nginx."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"Implements: blueprint: non-eventlet-wsgi-app"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3a50d1a3_8592b6f4","line":22,"in_reply_to":"3a50d1a3_5c632b42","updated":"2015-07-23 07:55:13.000000000","message":"I will add link to devstack patch for deploy under apache","commit_id":"e89059a53b209e13524e4570f89b4520f72cbf03"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"c6d86636c2034a7fcc7bc655d2f37eb4fd1a8f4c","unresolved":false,"context_lines":[{"line_number":23,"context_line":"To use c-api deployment under Apache in devstack assign"},{"line_number":24,"context_line":"devstack var CINDER_USE_MOD_WSGI\u003d\"True\"."},{"line_number":25,"context_line":"Related changes in devstack:"},{"line_number":26,"context_line":" https://review.openstack.org/#/c/204643/"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"DocImpact"},{"line_number":29,"context_line":"Implements: blueprint: non-eventlet-wsgi-app"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a50d1a3_e114aba0","line":26,"updated":"2015-07-23 17:02:21.000000000","message":"Thanks for the updated info, but I\u0027d rather a reference link to documention or simply document the steps here, rather than some code in devstack.  That will help deployer (not developer) to use this WSGI api with http servers.  Devstack code doesn\u0027t really help for those who wanted to use if without devstack.","commit_id":"45551eb0d820412bc5c34d865ebecb7d54806ab3"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"a1ad3131d91dbe4d663dfb44fd7f06e3704839d2","unresolved":false,"context_lines":[{"line_number":23,"context_line":"To use c-api deployment under Apache in devstack assign"},{"line_number":24,"context_line":"devstack var CINDER_USE_MOD_WSGI\u003d\"True\"."},{"line_number":25,"context_line":"Related changes in devstack:"},{"line_number":26,"context_line":" https://review.openstack.org/#/c/204643/"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"DocImpact"},{"line_number":29,"context_line":"Implements: blueprint: non-eventlet-wsgi-app"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a50d1a3_88728d48","line":26,"in_reply_to":"3a50d1a3_e114aba0","updated":"2015-07-24 07:50:55.000000000","message":"There are no documentation yet, I\u0027ll update commit message when it it appear, it is just for developers who want to try.","commit_id":"45551eb0d820412bc5c34d865ebecb7d54806ab3"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4265d757f3d7a69f2dd4f80f52b2f5bf90b66ff4","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Related changes in devstack:"},{"line_number":26,"context_line":" https://review.openstack.org/#/c/204643/"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Cinder documention on how deploy cinder API under Apache:"},{"line_number":29,"context_line":"https://review.openstack.org/#/c/207020/"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"3a50d1a3_9bc0272d","line":28,"updated":"2015-08-02 19:07:36.000000000","message":"how to deploy","commit_id":"f6a1ce849787eb39128ae4b4b55e7861f71c352c"},{"author":{"_account_id":17444,"name":"Jay.Shen","email":"shenhong09@huawei.com","username":"Jay.Shen"},"change_message_id":"c631407819e1a2ca80cf9aa004a8caa4056368c1","unresolved":false,"context_lines":[{"line_number":15,"context_line":"* Cinder API is run as a separate service. It means that cloud"},{"line_number":16,"context_line":"operator need to configure some software to monitor that API is running."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Apache/Nginx works better under the real heavy load then eventlet."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"This change adds cinder API application implemention, so cinder API"},{"line_number":21,"context_line":"can be run under Apache/Nginx."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"1a4dcd0f_8e2607b9","line":18,"updated":"2015-08-04 06:26:45.000000000","message":"S/then/than?","commit_id":"52f305beb10ec9b878fe5430cc5471278a4c248c"},{"author":{"_account_id":17444,"name":"Jay.Shen","email":"shenhong09@huawei.com","username":"Jay.Shen"},"change_message_id":"c631407819e1a2ca80cf9aa004a8caa4056368c1","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Apache/Nginx works better under the real heavy load then eventlet."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"This change adds cinder API application implemention, so cinder API"},{"line_number":21,"context_line":"can be run under Apache/Nginx."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"To use c-api deployment under Apache in devstack assign"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"1a4dcd0f_f303f40d","line":20,"updated":"2015-08-04 06:26:45.000000000","message":"S/implemention/implementation  ?","commit_id":"52f305beb10ec9b878fe5430cc5471278a4c248c"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"db818ebeb491a3e4e988f609c8c6920998b09a69","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Related changes in devstack:"},{"line_number":26,"context_line":" https://review.openstack.org/#/c/204643/"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Cinder documention on how deploy cinder API under Apache:"},{"line_number":29,"context_line":"https://review.openstack.org/#/c/207020/"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"1a4dcd0f_e5f9ee4e","line":28,"updated":"2015-08-04 04:56:31.000000000","message":"Should be \u0027documentation\u0027 or \u0027document\u0027?","commit_id":"52f305beb10ec9b878fe5430cc5471278a4c248c"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ffc546472aecd7913a0af035ff0c5b5aabf1ef78","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Apache/Nginx is generally used web servers for REST API application."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"* Cinder API is run as a separate service. It means that cloud"},{"line_number":16,"context_line":"operator need to configure some software to monitor that API is running."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Apache/Nginx works better under the real heavy load than eventlet."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"fa1b9901_9371ddaa","line":16,"updated":"2015-08-20 01:45:24.000000000","message":"/operator/operators/\n\n/that API/that the API/","commit_id":"d6380f9581e635dd96956e66a9534b76c86db23b"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"0cefe33b65f9c9bc4ce5f20e400b60f57ec293f8","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Cinder API uses eventlet as a webserver and WSGI application"},{"line_number":10,"context_line":"managing. This approach has some cons:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"* Cinder API is deployed in other way as a common web application."},{"line_number":13,"context_line":"Apache/Nginx is generally used web servers for REST API application."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":20,"id":"fa1b9901_69e63118","line":11,"updated":"2015-08-21 17:29:37.000000000","message":"The points below are kind of \"opinion\u0027s\" and relative statements.  I\u0027d prefer we just leave them out and the commit message is:\n\"Adds support for running cinder api on Nginx\" or whatever.\n\nI\u0027m guilty of putting my opinions in commit message and people typically seem to prefer I don\u0027t do that :)","commit_id":"abaa5effcb659656ff5656a30923b459bbdce2b2"}],"cinder/tests/unit/wsgi/test_eventlet_server.py":[{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"4f6144a140d2669866785f53bd0708b5a8908f96","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        # Stopping the server, which in turn sets pool size to 0"},{"line_number":260,"context_line":"        server.stop()"},{"line_number":261,"context_line":"        self.assertEqual(server._pool.size, 0)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        # Resetting pool size to default"},{"line_number":264,"context_line":"        server.reset()"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a4dcd0f_04346a47","line":261,"updated":"2015-08-06 23:17:33.000000000","message":"Argument order for assertEqual should be reversed.","commit_id":"b672738ccaf0b75ba57aaa49793204f195ef4f9a"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"4f6144a140d2669866785f53bd0708b5a8908f96","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        # Resetting pool size to default"},{"line_number":264,"context_line":"        server.reset()"},{"line_number":265,"context_line":"        server.start()"},{"line_number":266,"context_line":"        self.assertEqual(server._pool.size, 1000)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"class ExceptionTest(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a4dcd0f_e43dbe2b","line":266,"updated":"2015-08-06 23:17:33.000000000","message":"Argument order for assertEqual should be reversed.","commit_id":"b672738ccaf0b75ba57aaa49793204f195ef4f9a"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"4f6144a140d2669866785f53bd0708b5a8908f96","unresolved":false,"context_lines":[{"line_number":296,"context_line":"                    \u0027The server has either erred or is incapable \u0027"},{"line_number":297,"context_line":"                    \u0027of performing the requested operation.\u0027)"},{"line_number":298,"context_line":"        self.assertIn(expected, resp.body)"},{"line_number":299,"context_line":"        self.assertEqual(resp.status_int, 500, resp.body)"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    def test_safe_exceptions_are_described_in_faults(self):"},{"line_number":302,"context_line":"        self._do_test_exception_safety_reflected_in_faults(True)"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a4dcd0f_a44336ae","line":299,"updated":"2015-08-06 23:17:33.000000000","message":"Argument order for assertEqual should be reversed.","commit_id":"b672738ccaf0b75ba57aaa49793204f195ef4f9a"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"4f6144a140d2669866785f53bd0708b5a8908f96","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        api \u003d self._wsgi_app(fail)"},{"line_number":313,"context_line":"        resp \u003d webob.Request.blank(\u0027/\u0027).get_response(api)"},{"line_number":314,"context_line":"        self.assertIn(msg, resp.body)"},{"line_number":315,"context_line":"        self.assertEqual(resp.status_int, exception_type.code, resp.body)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"        if hasattr(exception_type, \u0027headers\u0027):"},{"line_number":318,"context_line":"            for (key, value) in exception_type.headers.items():"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a4dcd0f_c429a2e7","line":315,"updated":"2015-08-06 23:17:33.000000000","message":"Argument order for assertEqual should be reversed.","commit_id":"b672738ccaf0b75ba57aaa49793204f195ef4f9a"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"4f6144a140d2669866785f53bd0708b5a8908f96","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        if hasattr(exception_type, \u0027headers\u0027):"},{"line_number":318,"context_line":"            for (key, value) in exception_type.headers.items():"},{"line_number":319,"context_line":"                self.assertIn(key, resp.headers)"},{"line_number":320,"context_line":"                self.assertEqual(resp.headers[key], value)"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"    def test_quota_error_mapping(self):"},{"line_number":323,"context_line":"        self._do_test_exception_mapping(exception.QuotaError, \u0027too many used\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a4dcd0f_04822ac8","line":320,"updated":"2015-08-06 23:17:33.000000000","message":"I think argument order for assertEqual should be reversed.","commit_id":"b672738ccaf0b75ba57aaa49793204f195ef4f9a"}],"cinder/tests/unit/wsgi/test_wsgi.py":[{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"4f6144a140d2669866785f53bd0708b5a8908f96","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        with mock.patch(\u0027sys.stdout\u0027, new\u003dsix.StringIO()):"},{"line_number":45,"context_line":"            application \u003d wsgi.Debug(Application())"},{"line_number":46,"context_line":"            result \u003d webob.Request.blank(\u0027/\u0027).get_response(application)"},{"line_number":47,"context_line":"            self.assertEqual(result.body, \"Test result\")"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def test_router(self):"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1a4dcd0f_e46b7e1c","line":47,"updated":"2015-08-06 23:17:33.000000000","message":"Argument order for assertEqual should be reversed.","commit_id":"b672738ccaf0b75ba57aaa49793204f195ef4f9a"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"4f6144a140d2669866785f53bd0708b5a8908f96","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                super(Router, self).__init__(mapper)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        result \u003d webob.Request.blank(\u0027/test\u0027).get_response(Router())"},{"line_number":67,"context_line":"        self.assertEqual(result.body, \"Router result\")"},{"line_number":68,"context_line":"        result \u003d webob.Request.blank(\u0027/bad\u0027).get_response(Router())"},{"line_number":69,"context_line":"        self.assertNotEqual(result.body, \"Router result\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a4dcd0f_a471f60d","line":67,"updated":"2015-08-06 23:17:33.000000000","message":"Argument order for assertEqual should be reversed.","commit_id":"b672738ccaf0b75ba57aaa49793204f195ef4f9a"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"4f6144a140d2669866785f53bd0708b5a8908f96","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        result \u003d webob.Request.blank(\u0027/test\u0027).get_response(Router())"},{"line_number":67,"context_line":"        self.assertEqual(result.body, \"Router result\")"},{"line_number":68,"context_line":"        result \u003d webob.Request.blank(\u0027/bad\u0027).get_response(Router())"},{"line_number":69,"context_line":"        self.assertNotEqual(result.body, \"Router result\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a4dcd0f_245c067c","line":69,"updated":"2015-08-06 23:17:33.000000000","message":"Argument order for assertNotEqual should be reversed.","commit_id":"b672738ccaf0b75ba57aaa49793204f195ef4f9a"}],"etc/cinder/api-httpd.conf":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"fecca6c409c6ba7aaeeaa1b562efae87b617e5c1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"\u003cVirtualHost *:8776\u003e"},{"line_number":5,"context_line":"    WSGIDaemonProcess osapi_volume processes\u003d2 threads\u003d1 user\u003dcinder display-name\u003d%{GROUP}"},{"line_number":6,"context_line":"    WSGIProcessGroup osapi_volume"},{"line_number":7,"context_line":"    WSGIScriptAlias / /var/www/cgi-bin/cinder/osapi_volume"},{"line_number":8,"context_line":"    WSGIApplicationGroup %{GLOBAL}"},{"line_number":9,"context_line":"    WSGIPassAuthorization On"},{"line_number":10,"context_line":"    \u003cIfVersion \u003e\u003d 2.4\u003e"}],"source_content_type":"text/plain","patch_set":20,"id":"fa1b9901_d9d66c4e","line":7,"updated":"2015-08-20 18:02:10.000000000","message":"Instructions only describe creation of \"main\" and \"admin\" files, so this failed for me until I updated this to point to /var/www/cgi-bin/cinder/main instead.\n\nAlso noticed keystone installs in /var/www/keystone/[main|admin]. We might want to do the same to be consistent.","commit_id":"abaa5effcb659656ff5656a30923b459bbdce2b2"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"98e446cab8fc60b40c86eebe7a30d47101e18654","unresolved":false,"context_lines":[{"line_number":4,"context_line":"\u003cVirtualHost *:8776\u003e"},{"line_number":5,"context_line":"    WSGIDaemonProcess osapi_volume processes\u003d2 threads\u003d1 user\u003dcinder display-name\u003d%{GROUP}"},{"line_number":6,"context_line":"    WSGIProcessGroup osapi_volume"},{"line_number":7,"context_line":"    WSGIScriptAlias / /var/www/cgi-bin/cinder/osapi_volume"},{"line_number":8,"context_line":"    WSGIApplicationGroup %{GLOBAL}"},{"line_number":9,"context_line":"    WSGIPassAuthorization On"},{"line_number":10,"context_line":"    \u003cIfVersion \u003e\u003d 2.4\u003e"}],"source_content_type":"text/plain","patch_set":20,"id":"fa1b9901_570bead5","line":7,"in_reply_to":"fa1b9901_d9d66c4e","updated":"2015-08-21 07:33:45.000000000","message":"Sorry for confusing, Sean, \u0027copy paste fail\u0027 in instructions, I\u0027ll update. \nI prefer use current path here, it isn\u0027t technical decision more historical,\n and actually keystone install it in the same dir:\n https://github.com/openstack/keystone/blob/master/httpd/wsgi-keystone.conf#L7\nAs for osapi_volume name it is how we call wsgi app now, so I\u0027ll keep it to avoid  further confusion :\n https://github.com/openstack/cinder/blob/master/etc/cinder/api-paste.ini#L5\nwe load it in wsgi/wsgi.py .\n\nThe problem is instructions here, thanks for catching that.","commit_id":"abaa5effcb659656ff5656a30923b459bbdce2b2"}],"wsgi/eventlet_server.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ffc546472aecd7913a0af035ff0c5b5aabf1ef78","unresolved":false,"context_lines":[{"line_number":221,"context_line":"                                             **ssl_kwargs)"},{"line_number":222,"context_line":"            except Exception:"},{"line_number":223,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":224,"context_line":"                    LOG.error(_LE(\"Failed to start %(name)s on %(_host)s:\""},{"line_number":225,"context_line":"                                  \"%(_port)s with SSL \""},{"line_number":226,"context_line":"                                  \"support.\"), self.__dict__)"},{"line_number":227,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"fa1b9901_d30c35ef","line":224,"updated":"2015-08-20 01:45:24.000000000","message":"Should have a space after \":\" on the end so the two lines don\u0027t run together.","commit_id":"d6380f9581e635dd96956e66a9534b76c86db23b"}]}
