)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"a16da283823f796539f16b7a804887f793781c74","unresolved":false,"context_lines":[{"line_number":9,"context_line":"If no eventlet hub is specified, try more than just the \u0027poll\u0027 hub. In"},{"line_number":10,"context_line":"particular, if \u0027poll\u0027 doesn\u0027t work, with this patch Glance will use the"},{"line_number":11,"context_line":"\u0027selects\u0027 hub which is more widely supported."},{"line_number":12,"context_line":"Fixes bug 1269577"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I6e48ff73087c94ae1bee1bcc93cfa81435c7494f"},{"line_number":15,"context_line":"Closes-bug: #1269577"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAUH%2F%2FN%2Fw%3D","line":12,"updated":"2014-01-16 09:02:24.000000000","message":"Seems you\u0027re duplicating the bug id","commit_id":"f971a53bcbb497fb84ba7b7ec03ccf81e65a09ec"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"a16da283823f796539f16b7a804887f793781c74","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Fixes bug 1269577"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I6e48ff73087c94ae1bee1bcc93cfa81435c7494f"},{"line_number":15,"context_line":"Closes-bug: #1269577"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAUH%2F%2FN%2Fs%3D","line":15,"updated":"2014-01-16 09:02:24.000000000","message":"Just pick one :)","commit_id":"f971a53bcbb497fb84ba7b7ec03ccf81e65a09ec"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"88a6831587cb07a7e7df44c59e84e1634625891e","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Fixes bug 1269577"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I6e48ff73087c94ae1bee1bcc93cfa81435c7494f"},{"line_number":15,"context_line":"Closes-bug: #1269577"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAUH%2F%2BzBw%3D","line":15,"in_reply_to":"AAAAUH%2F%2FN%2Fs%3D","updated":"2014-01-22 02:07:31.000000000","message":"Done :-)","commit_id":"f971a53bcbb497fb84ba7b7ec03ccf81e65a09ec"}],"glance/common/wsgi.py":[{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"a75a62a6078423b2494e8b8aef01c481e5cbaae3","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    hubs_to_try \u003d [\u0027poll\u0027, \u0027selects\u0027]"},{"line_number":185,"context_line":"    if cfg.CONF.eventlet_hub:"},{"line_number":186,"context_line":"        hubs_to_try \u003d [cfg.CONF.eventlet_hub]"},{"line_number":187,"context_line":"    while True:"},{"line_number":188,"context_line":"        hub \u003d hubs_to_try.pop(0)"},{"line_number":189,"context_line":"        try:"},{"line_number":190,"context_line":"            eventlet.hubs.use_hub(hub)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FOBw%3D","line":187,"updated":"2014-01-16 09:01:12.000000000","message":"How about improve this while loop as below? You can refer it by link http://dpaste.com/1554087/ in case the bad format in Gerrit\n\ndef set_eventlet_hub():\n    hubs_to_try \u003d [\u0027poll\u0027, \u0027selects\u0027]\n    if cfg.CONF.eventlet_hub:\n        hubs_to_try \u003d [cfg.CONF.eventlet_hub]\n    while len(hubs_to_try) \u003e 0:\n        hub \u003d hubs_to_try.pop(0)\n        try:\n            eventlet.hubs.use_hub(hub)\n            # TODO log which hub we got\n            break\n        except Exception:\n            # TODO log what\u0027s the failed\n            continue\n    else:\n        msg \u003d _(\"All eventlet [\u0027poll\u0027, \u0027selects\u0027] hub are not available\"\n                \" on this platform\")\n        raise exception.WorkerCreationFailure(reason\u003dmsg)","commit_id":"f971a53bcbb497fb84ba7b7ec03ccf81e65a09ec"},{"author":{"_account_id":7884,"name":"Noboru Arai","email":"arai@mxa.nes.nec.co.jp","username":"NoboruArai"},"change_message_id":"05a84099cb7b8c714a3abd64686bcbd5488dabe7","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        hub \u003d hubs_to_try.pop(0)"},{"line_number":189,"context_line":"        try:"},{"line_number":190,"context_line":"            eventlet.hubs.use_hub(hub)"},{"line_number":191,"context_line":"            break"},{"line_number":192,"context_line":"        except Exception:"},{"line_number":193,"context_line":"            if len(hubs_to_try) \u003e 0:"},{"line_number":194,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FO6Q%3D","line":191,"updated":"2014-01-16 05:14:50.000000000","message":"IMO,I would prefer that log about auto-selected hub for operater to see what type is selected.\ne.g)\ntry:\n    eventlet.hub.use_hub(hub)\n    Log.info(\"%s hubs is selected\" % hub)\n    break","commit_id":"f971a53bcbb497fb84ba7b7ec03ccf81e65a09ec"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"a75a62a6078423b2494e8b8aef01c481e5cbaae3","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        hub \u003d hubs_to_try.pop(0)"},{"line_number":189,"context_line":"        try:"},{"line_number":190,"context_line":"            eventlet.hubs.use_hub(hub)"},{"line_number":191,"context_line":"            break"},{"line_number":192,"context_line":"        except Exception:"},{"line_number":193,"context_line":"            if len(hubs_to_try) \u003e 0:"},{"line_number":194,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FOLI%3D","line":191,"in_reply_to":"AAAAUH%2F%2FO6Q%3D","updated":"2014-01-16 09:01:12.000000000","message":"+1","commit_id":"f971a53bcbb497fb84ba7b7ec03ccf81e65a09ec"},{"author":{"_account_id":7884,"name":"Noboru Arai","email":"arai@mxa.nes.nec.co.jp","username":"NoboruArai"},"change_message_id":"05a84099cb7b8c714a3abd64686bcbd5488dabe7","unresolved":false,"context_lines":[{"line_number":194,"context_line":"                continue"},{"line_number":195,"context_line":"            msg \u003d _(\"eventlet \u0027%s\u0027 hub is not available on this platform\")"},{"line_number":196,"context_line":"            raise exception.WorkerCreationFailure("},{"line_number":197,"context_line":"                reason\u003dmsg % hub)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"class Server(object):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FO4U%3D","line":197,"updated":"2014-01-16 05:14:50.000000000","message":"(This is small)\nIMO, I would prefer that \"reason\u003dmsg % hub\" is \"reason\u003dmsg % hubs_to_try\"\n\nIn my understand,  line 195 is executed when all hubs are unavailable.\n\nBut, in message of line 195, only last hubs is output.","commit_id":"f971a53bcbb497fb84ba7b7ec03ccf81e65a09ec"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"2595002cef680060985aaf14774c79008dcf9dab","unresolved":false,"context_lines":[{"line_number":185,"context_line":"    for hub in hubs:"},{"line_number":186,"context_line":"        try:"},{"line_number":187,"context_line":"            eventlet.hubs.use_hub(hub)"},{"line_number":188,"context_line":"            logger.debug(\"Using eventlet hub %(hub)s\", hub\u003dhub)"},{"line_number":189,"context_line":"            return"},{"line_number":190,"context_line":"        except Exception:"},{"line_number":191,"context_line":"            exc_info \u003d sys.exc_info"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2ByOo%3D","line":188,"updated":"2014-01-22 06:39:08.000000000","message":"hmm... I think it should be \n\nlogger.debug(\"Using eventlet hub %(hub)s\" % dict(hub\u003dhub))","commit_id":"864c1305c4a8dd0bff4debeefdc9e58966dad194"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"f6df2f04387c9d64d90d91da029be7a92ddca4a8","unresolved":false,"context_lines":[{"line_number":185,"context_line":"    for hub in hubs:"},{"line_number":186,"context_line":"        try:"},{"line_number":187,"context_line":"            eventlet.hubs.use_hub(hub)"},{"line_number":188,"context_line":"            logger.debug(\"Using eventlet hub %(hub)s\", hub\u003dhub)"},{"line_number":189,"context_line":"            return"},{"line_number":190,"context_line":"        except Exception:"},{"line_number":191,"context_line":"            exc_info \u003d sys.exc_info"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BmA4%3D","line":188,"in_reply_to":"AAAAUH%2F%2Bos8%3D","updated":"2014-01-24 01:49:12.000000000","message":"I\u0027m Ok to take either way :)","commit_id":"864c1305c4a8dd0bff4debeefdc9e58966dad194"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"2239e1e927ddb8cadd3215b5079622679d784818","unresolved":false,"context_lines":[{"line_number":185,"context_line":"    for hub in hubs:"},{"line_number":186,"context_line":"        try:"},{"line_number":187,"context_line":"            eventlet.hubs.use_hub(hub)"},{"line_number":188,"context_line":"            logger.debug(\"Using eventlet hub %(hub)s\", hub\u003dhub)"},{"line_number":189,"context_line":"            return"},{"line_number":190,"context_line":"        except Exception:"},{"line_number":191,"context_line":"            exc_info \u003d sys.exc_info"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2Bos8%3D","line":188,"in_reply_to":"AAAAUH%2F%2ByOo%3D","updated":"2014-01-24 00:17:17.000000000","message":"I will try logger.debug(\"Using eventlet hub %(hub)s\", {\u0027hub\u0027: hub}), unless you think that won\u0027t work on python2.6 ?","commit_id":"864c1305c4a8dd0bff4debeefdc9e58966dad194"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"2595002cef680060985aaf14774c79008dcf9dab","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            return"},{"line_number":190,"context_line":"        except Exception:"},{"line_number":191,"context_line":"            exc_info \u003d sys.exc_info"},{"line_number":192,"context_line":"            logger.debug(\"Failed to use eventlet hub %(hub)s\","},{"line_number":193,"context_line":"                         hub\u003dhub, exc_info\u003dexc_info)"},{"line_number":194,"context_line":"            continue"},{"line_number":195,"context_line":"    msg \u003d _(\"No eventlet hubs %(hubs)s are available on this platform\") % ("}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2ByOg%3D","line":192,"updated":"2014-01-22 06:39:08.000000000","message":"logger.debug(\"Failed to use eventlet hub %(hub)s\" %\n                    dict(hub\u003dhub), exc_info\u003dexc_info)","commit_id":"864c1305c4a8dd0bff4debeefdc9e58966dad194"}],"glance/tests/unit/common/test_wsgi.py":[{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"2595002cef680060985aaf14774c79008dcf9dab","unresolved":false,"context_lines":[{"line_number":429,"context_line":"        mock_hubs.use_hub.side_effect \u003d Exception()"},{"line_number":430,"context_line":"        self.assertRaises(exception.WorkerCreationFailure,"},{"line_number":431,"context_line":"                          wsgi.set_eventlet_hub, self.logger)"},{"line_number":432,"context_line":"        mock_hubs.use_hub.assert_called_once_with(\u0027silly\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2ByOE%3D","line":432,"updated":"2014-01-22 06:39:08.000000000","message":"Given the log msg issue in common/wsgi.py, would you mind adding an test case/assert to check the msg? Though it\u0027s not a blocker :)","commit_id":"864c1305c4a8dd0bff4debeefdc9e58966dad194"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"2239e1e927ddb8cadd3215b5079622679d784818","unresolved":false,"context_lines":[{"line_number":429,"context_line":"        mock_hubs.use_hub.side_effect \u003d Exception()"},{"line_number":430,"context_line":"        self.assertRaises(exception.WorkerCreationFailure,"},{"line_number":431,"context_line":"                          wsgi.set_eventlet_hub, self.logger)"},{"line_number":432,"context_line":"        mock_hubs.use_hub.assert_called_once_with(\u0027silly\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BosA%3D","line":432,"in_reply_to":"AAAAUH%2F%2ByOE%3D","updated":"2014-01-24 00:17:17.000000000","message":"yeah, I think if I just make self.logger an actual logging object it will be sufficient","commit_id":"864c1305c4a8dd0bff4debeefdc9e58966dad194"}],"requirements.txt":[{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"2239e1e927ddb8cadd3215b5079622679d784818","unresolved":false,"context_lines":[{"line_number":37,"context_line":"six\u003e\u003d1.4.1"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"-f http://tarballs.openstack.org/oslo.messaging/oslo.messaging-1.2.0a11.tar.gz#egg\u003doslo.messaging-1.2.0a11"},{"line_number":40,"context_line":"#oslo.messaging\u003e\u003d1.2.0a11"}],"source_content_type":"text/plain","patch_set":3,"id":"AAAAUH%2F%2Bor4%3D","line":40,"updated":"2014-01-24 00:17:17.000000000","message":"Didn\u0027t mean to change this either!","commit_id":"864c1305c4a8dd0bff4debeefdc9e58966dad194"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"f6df2f04387c9d64d90d91da029be7a92ddca4a8","unresolved":false,"context_lines":[{"line_number":37,"context_line":"six\u003e\u003d1.4.1"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"-f http://tarballs.openstack.org/oslo.messaging/oslo.messaging-1.2.0a11.tar.gz#egg\u003doslo.messaging-1.2.0a11"},{"line_number":40,"context_line":"#oslo.messaging\u003e\u003d1.2.0a11"}],"source_content_type":"text/plain","patch_set":3,"id":"AAAAUH%2F%2BmAs%3D","line":40,"in_reply_to":"AAAAUH%2F%2Bor4%3D","updated":"2014-01-24 01:49:12.000000000","message":"Yep, it should not be changed.","commit_id":"864c1305c4a8dd0bff4debeefdc9e58966dad194"}],"tox.ini":[{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"2239e1e927ddb8cadd3215b5079622679d784818","unresolved":false,"context_lines":[{"line_number":9,"context_line":"         NOSE_OPENSTACK_YELLOW\u003d0.025"},{"line_number":10,"context_line":"         NOSE_OPENSTACK_SHOW_ELAPSED\u003d1"},{"line_number":11,"context_line":"         NOSE_OPENSTACK_STDOUT\u003d1"},{"line_number":12,"context_line":"install_command \u003d pip install --allow-external psutil --allow-external pysendfile --allow-external oslo.messaging --allow-unverified psutil --allow-unverified pysendfile --allow-unverified oslo.messaging -U {opts} {packages}"},{"line_number":13,"context_line":"deps \u003d -r{toxinidir}/requirements.txt"},{"line_number":14,"context_line":"       -r{toxinidir}/test-requirements.txt"},{"line_number":15,"context_line":"commands \u003d nosetests {posargs}"}],"source_content_type":"text/x-properties","patch_set":3,"id":"AAAAUH%2F%2Boy0%3D","line":12,"updated":"2014-01-24 00:17:17.000000000","message":"Whoops! did not mean to include this!","commit_id":"864c1305c4a8dd0bff4debeefdc9e58966dad194"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"f6df2f04387c9d64d90d91da029be7a92ddca4a8","unresolved":false,"context_lines":[{"line_number":9,"context_line":"         NOSE_OPENSTACK_YELLOW\u003d0.025"},{"line_number":10,"context_line":"         NOSE_OPENSTACK_SHOW_ELAPSED\u003d1"},{"line_number":11,"context_line":"         NOSE_OPENSTACK_STDOUT\u003d1"},{"line_number":12,"context_line":"install_command \u003d pip install --allow-external psutil --allow-external pysendfile --allow-external oslo.messaging --allow-unverified psutil --allow-unverified pysendfile --allow-unverified oslo.messaging -U {opts} {packages}"},{"line_number":13,"context_line":"deps \u003d -r{toxinidir}/requirements.txt"},{"line_number":14,"context_line":"       -r{toxinidir}/test-requirements.txt"},{"line_number":15,"context_line":"commands \u003d nosetests {posargs}"}],"source_content_type":"text/x-properties","patch_set":3,"id":"AAAAUH%2F%2BmAc%3D","line":12,"in_reply_to":"AAAAUH%2F%2Boy0%3D","updated":"2014-01-24 01:49:12.000000000","message":"You got it :)","commit_id":"864c1305c4a8dd0bff4debeefdc9e58966dad194"}]}
