)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":17,"context_line":"difference in behavior from the Nova client is that the default is None"},{"line_number":18,"context_line":"instead of publicURL.  The reason for this is to preserve the current"},{"line_number":19,"context_line":"default behavior of the client going to adminURL.  The question of"},{"line_number":20,"context_line":"default behavior should be addressed as a separate bug report."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Adds a new exception type to handle the case where a suitable endpoint"},{"line_number":23,"context_line":"type is not found in the catalog.  Without this, the exception"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAAPH%2F%2F5Sc%3D","line":20,"updated":"2013-05-20 20:16:40.000000000","message":"I\u0027m okay with breaking this up into two patches if there is one rebased on this one that sets the default to be publicURL in parity as nova.  Personally i think we could do it in one though.","commit_id":"e02284781201d0e1d3fca330a942e82c2b229e87"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"0994d6da384e752d6cb164f75d3281d45a165abe","unresolved":false,"context_lines":[{"line_number":17,"context_line":"difference in behavior from the Nova client is that the default is None"},{"line_number":18,"context_line":"instead of publicURL.  The reason for this is to preserve the current"},{"line_number":19,"context_line":"default behavior of the client going to adminURL.  The question of"},{"line_number":20,"context_line":"default behavior should be addressed as a separate bug report."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Adds a new exception type to handle the case where a suitable endpoint"},{"line_number":23,"context_line":"type is not found in the catalog.  Without this, the exception"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAAPH%2F%2F5K8%3D","line":20,"in_reply_to":"AAAAPH%2F%2F5Sc%3D","updated":"2013-05-20 20:43:51.000000000","message":"Agreed, just uploaded https://review.openstack.org/#/c/29831/ to address this.","commit_id":"e02284781201d0e1d3fca330a942e82c2b229e87"}],"quantumclient/client.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"unresolved":false,"context_lines":[{"line_number":63,"context_line":"                service_type\u003d\u0027network\u0027, endpoint_type\u003dNone):"},{"line_number":64,"context_line":"        \"\"\"Fetch the URL from the Quantum service for"},{"line_number":65,"context_line":"        a particular endpoint attribute. If none given, return"},{"line_number":66,"context_line":"        the first. See tests for sample service catalog."},{"line_number":67,"context_line":"        \"\"\""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        catalog \u003d self.catalog[\u0027access\u0027].get(\u0027serviceCatalog\u0027, [])"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAO3%2F%2F%2F48%3D","line":66,"updated":"2013-05-15 06:50:55.000000000","message":"I believe the docstring should be updated: if endpoint_type is None then it looks for adminURL (doesn\u0027t return the first)","commit_id":"3cfbe9da889a6bf59f5f0d7d58c7ba3d1d7c47f7"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"0994d6da384e752d6cb164f75d3281d45a165abe","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                service_type\u003d\u0027network\u0027, endpoint_type\u003dNone):"},{"line_number":64,"context_line":"        \"\"\"Fetch the URL from the Quantum service for"},{"line_number":65,"context_line":"        a particular endpoint attribute. If none given, return"},{"line_number":66,"context_line":"        the first. See tests for sample service catalog."},{"line_number":67,"context_line":"        \"\"\""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        catalog \u003d self.catalog[\u0027access\u0027].get(\u0027serviceCatalog\u0027, [])"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAO3%2F%2F%2FTA%3D","line":66,"in_reply_to":"AAAAO3%2F%2F%2F48%3D","updated":"2013-05-15 13:44:29.000000000","message":"Good catch.","commit_id":"3cfbe9da889a6bf59f5f0d7d58c7ba3d1d7c47f7"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"unresolved":false,"context_lines":[{"line_number":224,"context_line":"        for endpoint in body.get(\u0027endpoints\u0027, []):"},{"line_number":225,"context_line":"            if (endpoint[\u0027type\u0027] \u003d\u003d \u0027network\u0027 and"},{"line_number":226,"context_line":"                endpoint.get(\u0027region\u0027) \u003d\u003d self.region_name):"},{"line_number":227,"context_line":"                return endpoint[\u0027publicURL\u0027]"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        raise exceptions.EndpointNotFound()"},{"line_number":230,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPH%2F%2F4oE%3D","line":227,"updated":"2013-05-21 00:13:40.000000000","message":"self.endpoint_type? and add a case for it, thanks","commit_id":"47148c3977dbeb0345c5acf3ead63054275d815d"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"0994d6da384e752d6cb164f75d3281d45a165abe","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        for endpoint in body.get(\u0027endpoints\u0027, []):"},{"line_number":225,"context_line":"            if (endpoint[\u0027type\u0027] \u003d\u003d \u0027network\u0027 and"},{"line_number":226,"context_line":"                endpoint.get(\u0027region\u0027) \u003d\u003d self.region_name):"},{"line_number":227,"context_line":"                return endpoint[\u0027publicURL\u0027]"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        raise exceptions.EndpointNotFound()"},{"line_number":230,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPH%2F%2F4gY%3D","line":227,"in_reply_to":"AAAAPH%2F%2F4oE%3D","updated":"2013-05-21 01:23:31.000000000","message":"This is relatively new code.  My next patch match what is done in url_for here.","commit_id":"47148c3977dbeb0345c5acf3ead63054275d815d"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"unresolved":false,"context_lines":[{"line_number":229,"context_line":"                    endpoint_type \u003d \u0027publicURL\u0027"},{"line_number":230,"context_line":"                if endpoint_type not in endpoint:"},{"line_number":231,"context_line":"                    raise exceptions.EndpointTypeNotFound("},{"line_number":232,"context_line":"                        message\u003dendpoint_type)"},{"line_number":233,"context_line":"                return endpoint[endpoint_type]"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        raise exceptions.EndpointNotFound()"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAPH%2F%2F4cA%3D","line":232,"updated":"2013-05-21 02:04:31.000000000","message":"I am thinking about refactor line 227-232 with line 86-89 into one function and then call that function here. what is your opinion?","commit_id":"049f0e61380a2671d3afa86068f0a65198611416"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"0994d6da384e752d6cb164f75d3281d45a165abe","unresolved":false,"context_lines":[{"line_number":229,"context_line":"                    endpoint_type \u003d \u0027publicURL\u0027"},{"line_number":230,"context_line":"                if endpoint_type not in endpoint:"},{"line_number":231,"context_line":"                    raise exceptions.EndpointTypeNotFound("},{"line_number":232,"context_line":"                        message\u003dendpoint_type)"},{"line_number":233,"context_line":"                return endpoint[endpoint_type]"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        raise exceptions.EndpointNotFound()"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAPH%2F%2F4UQ%3D","line":232,"in_reply_to":"AAAAPH%2F%2F4aI%3D","updated":"2013-05-21 02:53:37.000000000","message":"It also occurred to me that since I have long since abandoned the \"fallback to publicURL behavior\", we can go back to making publicURL the default value to the endpoint_url argument.  This makes it also simpler and easier to understand.","commit_id":"049f0e61380a2671d3afa86068f0a65198611416"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"0994d6da384e752d6cb164f75d3281d45a165abe","unresolved":false,"context_lines":[{"line_number":229,"context_line":"                    endpoint_type \u003d \u0027publicURL\u0027"},{"line_number":230,"context_line":"                if endpoint_type not in endpoint:"},{"line_number":231,"context_line":"                    raise exceptions.EndpointTypeNotFound("},{"line_number":232,"context_line":"                        message\u003dendpoint_type)"},{"line_number":233,"context_line":"                return endpoint[endpoint_type]"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        raise exceptions.EndpointNotFound()"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAPH%2F%2F4aI%3D","line":232,"in_reply_to":"AAAAPH%2F%2F4cA%3D","updated":"2013-05-21 02:23:57.000000000","message":"This thought did occur to me.  I wasn\u0027t sure where this particular logic should live.  I felt like more of this code could use refactoring since there is related logic across the two classes.  To me the logic in the _get_endpoint_url method is similar to what the ServiceCatalog class is supposed to encapsulate.","commit_id":"049f0e61380a2671d3afa86068f0a65198611416"}],"quantumclient/shell.py":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"unresolved":false,"context_lines":[{"line_number":412,"context_line":"            default\u003denv(\u0027OS_NETWORKING_ENDPOINT_TYPE\u0027,"},{"line_number":413,"context_line":"                        default\u003dDEFAULT_OS_NETWORKING_ENDPOINT_TYPE),"},{"line_number":414,"context_line":"            help\u003d\u0027Defaults to env[OS_NETWORKING_ENDPOINT_TYPE] or \u0027"},{"line_number":415,"context_line":"            + str(DEFAULT_OS_NETWORKING_ENDPOINT_TYPE) + \u0027.\u0027)"},{"line_number":416,"context_line":"        parser.add_argument("},{"line_number":417,"context_line":"            \u0027--endpoint_type\u0027,"},{"line_number":418,"context_line":"            help\u003dargparse.SUPPRESS)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAO3%2F%2F9fY%3D","line":415,"updated":"2013-05-16 02:08:50.000000000","message":"other env defaults such as OS_URL do not use the or xxx, so is there problem with them? if not,  we should keep the consistency.","commit_id":"00b2ca5b1f87b134f81c240ab3ced00707b35f1e"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"0994d6da384e752d6cb164f75d3281d45a165abe","unresolved":false,"context_lines":[{"line_number":412,"context_line":"            default\u003denv(\u0027OS_NETWORKING_ENDPOINT_TYPE\u0027,"},{"line_number":413,"context_line":"                        default\u003dDEFAULT_OS_NETWORKING_ENDPOINT_TYPE),"},{"line_number":414,"context_line":"            help\u003d\u0027Defaults to env[OS_NETWORKING_ENDPOINT_TYPE] or \u0027"},{"line_number":415,"context_line":"            + str(DEFAULT_OS_NETWORKING_ENDPOINT_TYPE) + \u0027.\u0027)"},{"line_number":416,"context_line":"        parser.add_argument("},{"line_number":417,"context_line":"            \u0027--endpoint_type\u0027,"},{"line_number":418,"context_line":"            help\u003dargparse.SUPPRESS)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPH%2F%2F90o%3D","line":415,"in_reply_to":"AAAAO3%2F%2F9fY%3D","updated":"2013-05-17 16:03:53.000000000","message":"Done","commit_id":"00b2ca5b1f87b134f81c240ab3ced00707b35f1e"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"0994d6da384e752d6cb164f75d3281d45a165abe","unresolved":false,"context_lines":[{"line_number":412,"context_line":"            default\u003denv(\u0027OS_NETWORKING_ENDPOINT_TYPE\u0027,"},{"line_number":413,"context_line":"                        default\u003dDEFAULT_OS_NETWORKING_ENDPOINT_TYPE),"},{"line_number":414,"context_line":"            help\u003d\u0027Defaults to env[OS_NETWORKING_ENDPOINT_TYPE] or \u0027"},{"line_number":415,"context_line":"            + str(DEFAULT_OS_NETWORKING_ENDPOINT_TYPE) + \u0027.\u0027)"},{"line_number":416,"context_line":"        parser.add_argument("},{"line_number":417,"context_line":"            \u0027--endpoint_type\u0027,"},{"line_number":418,"context_line":"            help\u003dargparse.SUPPRESS)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAO3%2F%2F8IA%3D","line":415,"in_reply_to":"AAAAO3%2F%2F9fY%3D","updated":"2013-05-16 17:39:26.000000000","message":"The reason for this was simply that this is the way that nova did it in novaclient/shell.py.  Here is the code from that file that I patterned it after:\n\n        parser.add_argument(\u0027--endpoint-type\u0027,\n            metavar\u003d\u0027\u003cendpoint-type\u003e\u0027,\n            default\u003dutils.env(\u0027NOVA_ENDPOINT_TYPE\u0027,\n                        default\u003dDEFAULT_NOVA_ENDPOINT_TYPE),\n            help\u003d\u0027Defaults to env[NOVA_ENDPOINT_TYPE] or \u0027\n                    + DEFAULT_NOVA_ENDPOINT_TYPE + \u0027.\u0027)","commit_id":"00b2ca5b1f87b134f81c240ab3ced00707b35f1e"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"unresolved":false,"context_lines":[{"line_number":411,"context_line":"            help\u003d\u0027Defaults to env[OS_ENDPOINT_TYPE] or publicURL.\u0027)"},{"line_number":412,"context_line":"        parser.add_argument("},{"line_number":413,"context_line":"            \u0027--endpoint_type\u0027,"},{"line_number":414,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"        parser.add_argument("},{"line_number":417,"context_line":"            \u0027--os-url\u0027, metavar\u003d\u0027\u003curl\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPH%2F%2F4ng%3D","line":414,"updated":"2013-05-21 00:13:40.000000000","message":"no need to add suppressed argument. so remove lines 412-414.","commit_id":"47148c3977dbeb0345c5acf3ead63054275d815d"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"0994d6da384e752d6cb164f75d3281d45a165abe","unresolved":false,"context_lines":[{"line_number":411,"context_line":"            help\u003d\u0027Defaults to env[OS_ENDPOINT_TYPE] or publicURL.\u0027)"},{"line_number":412,"context_line":"        parser.add_argument("},{"line_number":413,"context_line":"            \u0027--endpoint_type\u0027,"},{"line_number":414,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"        parser.add_argument("},{"line_number":417,"context_line":"            \u0027--os-url\u0027, metavar\u003d\u0027\u003curl\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPH%2F%2F4gU%3D","line":414,"in_reply_to":"AAAAPH%2F%2F4ng%3D","updated":"2013-05-21 01:23:31.000000000","message":"Done","commit_id":"47148c3977dbeb0345c5acf3ead63054275d815d"}],"tests/unit/test_auth.py":[{"author":{"_account_id":1038,"name":"Jack McCann","username":"jack-mccann"},"change_message_id":"90ceca44672c89df93416f9f6afb9d84c1d53561","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        del endpoints[\u0027adminURL\u0027]"},{"line_number":211,"context_line":"        endpoints[\u0027publicURL\u0027] \u003d \u0027public\u0027"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        # Use publicURL when none is specified"},{"line_number":214,"context_line":"        self.assertRaises(exceptions.EndpointTypeNotFound,"},{"line_number":215,"context_line":"                          catalog.url_for,"},{"line_number":216,"context_line":"                          attr\u003d\u0027region\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FUJk%3D","line":213,"updated":"2013-05-14 22:38:32.000000000","message":"this comment does not sound right anymore, it was geared toward the change of default behavior, perhaps \"default to admin when not specified\" like below","commit_id":"532af1e5d946c771d339d507d036ed44782e4b4e"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"0994d6da384e752d6cb164f75d3281d45a165abe","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        del endpoints[\u0027adminURL\u0027]"},{"line_number":211,"context_line":"        endpoints[\u0027publicURL\u0027] \u003d \u0027public\u0027"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        # Use publicURL when none is specified"},{"line_number":214,"context_line":"        self.assertRaises(exceptions.EndpointTypeNotFound,"},{"line_number":215,"context_line":"                          catalog.url_for,"},{"line_number":216,"context_line":"                          attr\u003d\u0027region\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FUHk%3D","line":213,"in_reply_to":"AAAAOn%2F%2FUJk%3D","updated":"2013-05-14 22:53:26.000000000","message":"Good catch, I\u0027ll fix that up.","commit_id":"532af1e5d946c771d339d507d036ed44782e4b4e"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        self.client.request(StrContains(AUTH_URL +"},{"line_number":154,"context_line":"                                        \u0027/tokens/%s/endpoints\u0027 % TOKEN), \u0027GET\u0027,"},{"line_number":155,"context_line":"                            headers\u003dIsA(dict)). \\"},{"line_number":156,"context_line":"            AndReturn((res200, json.dumps(ENDPOINTS_RESULT)))"},{"line_number":157,"context_line":"        self.mox.ReplayAll()"},{"line_number":158,"context_line":"        self.assertRaises(exceptions.EndpointTypeNotFound,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAPH%2F%2F4bg%3D","line":155,"updated":"2013-05-21 02:04:31.000000000","message":"we don\u0027t use \u0027\\\u0027 to concatenate the lines. we can indent lines within (.","commit_id":"049f0e61380a2671d3afa86068f0a65198611416"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"0994d6da384e752d6cb164f75d3281d45a165abe","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        self.client.request(StrContains(AUTH_URL +"},{"line_number":154,"context_line":"                                        \u0027/tokens/%s/endpoints\u0027 % TOKEN), \u0027GET\u0027,"},{"line_number":155,"context_line":"                            headers\u003dIsA(dict)). \\"},{"line_number":156,"context_line":"            AndReturn((res200, json.dumps(ENDPOINTS_RESULT)))"},{"line_number":157,"context_line":"        self.mox.ReplayAll()"},{"line_number":158,"context_line":"        self.assertRaises(exceptions.EndpointTypeNotFound,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAPH%2F%2F4ZM%3D","line":155,"in_reply_to":"AAAAPH%2F%2F4bg%3D","updated":"2013-05-21 02:23:57.000000000","message":"This maintains consistency with the other tests in this file that have a similar call.","commit_id":"049f0e61380a2671d3afa86068f0a65198611416"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        self.client.request(StrContains(AUTH_URL +"},{"line_number":154,"context_line":"                                        \u0027/tokens/%s/endpoints\u0027 % TOKEN), \u0027GET\u0027,"},{"line_number":155,"context_line":"                            headers\u003dIsA(dict)). \\"},{"line_number":156,"context_line":"            AndReturn((res200, json.dumps(ENDPOINTS_RESULT)))"},{"line_number":157,"context_line":"        self.mox.ReplayAll()"},{"line_number":158,"context_line":"        self.assertRaises(exceptions.EndpointTypeNotFound,"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAPH%2F%2F4SM%3D","line":155,"updated":"2013-05-21 03:16:07.000000000","message":"I don\u0027t know when we introduce \u0027\\\u0027 in other places, but we should avoid the \u0027\\\u0027.\n\nhttp://www.python.org/dev/peps/pep-0008/#maximum-line-length\nThe preferred way of wrapping long lines is by using Python\u0027s implied line continuation inside parentheses, brackets and braces. Long lines can be broken over multiple lines by wrapping expressions in parentheses. These should be used in preference to using a backslash for line continuation.","commit_id":"06375f089b9938f1db7f6abc4b2144df2ff6b4fd"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        self.client.request(StrContains(AUTH_URL +"},{"line_number":154,"context_line":"                                        \u0027/tokens/%s/endpoints\u0027 % TOKEN), \u0027GET\u0027,"},{"line_number":155,"context_line":"                            headers\u003dIsA(dict)). \\"},{"line_number":156,"context_line":"            AndReturn((res200, json.dumps(ENDPOINTS_RESULT)))"},{"line_number":157,"context_line":"        self.mox.ReplayAll()"},{"line_number":158,"context_line":"        self.assertRaises(exceptions.EndpointTypeNotFound,"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAPH%2F%2F4Lw%3D","line":155,"in_reply_to":"AAAAPH%2F%2F4SM%3D","updated":"2013-05-21 05:06:39.000000000","message":"There are some backslashes in this file and lb/test_cli20_healthmonitor.py. I will clean up them all. Either will do to me.","commit_id":"06375f089b9938f1db7f6abc4b2144df2ff6b4fd"}]}
