)]}'
{"cinder/volume/api.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"c32f36a575d313d0dbcdaeb465c30c9ec6c602c7","unresolved":false,"context_lines":[{"line_number":1338,"context_line":"        svc_host \u003d volume_utils.extract_host(host, \u0027backend\u0027)"},{"line_number":1339,"context_line":"        for service in services:"},{"line_number":1340,"context_line":"            if utils.service_is_up(service) and service.host \u003d\u003d svc_host:"},{"line_number":1341,"context_line":"                found \u003d True"},{"line_number":1342,"context_line":"        if not found:"},{"line_number":1343,"context_line":"            msg \u003d _(\u0027No available service named %s\u0027) % host"},{"line_number":1344,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_4f54cd20","line":1341,"updated":"2016-06-02 07:58:16.000000000","message":"Can we also break? Why do we need to consider other services when we find a match?","commit_id":"2480dddf91190fe6537845ff01a13f290abfc5af"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"0288d644aca9948b70257f72c8df9b4afb06e273","unresolved":false,"context_lines":[{"line_number":1338,"context_line":"        svc_host \u003d volume_utils.extract_host(host, \u0027backend\u0027)"},{"line_number":1339,"context_line":"        for service in services:"},{"line_number":1340,"context_line":"            if utils.service_is_up(service) and service.host \u003d\u003d svc_host:"},{"line_number":1341,"context_line":"                found \u003d True"},{"line_number":1342,"context_line":"        if not found:"},{"line_number":1343,"context_line":"            msg \u003d _(\u0027No available service named %s\u0027) % host"},{"line_number":1344,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_463481dd","line":1341,"in_reply_to":"9abb7d3a_4f54cd20","updated":"2016-06-03 00:39:45.000000000","message":"Good idea.","commit_id":"2480dddf91190fe6537845ff01a13f290abfc5af"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"586f66d302ed9fd50f04803306a36910ce973de4","unresolved":false,"context_lines":[{"line_number":1338,"context_line":"        svc_host \u003d volume_utils.extract_host(host, \u0027backend\u0027)"},{"line_number":1339,"context_line":"        for service in services:"},{"line_number":1340,"context_line":"            if utils.service_is_up(service) and service.host \u003d\u003d svc_host:"},{"line_number":1341,"context_line":"                found \u003d True"},{"line_number":1342,"context_line":"        if not found:"},{"line_number":1343,"context_line":"            msg \u003d _(\u0027No available service named %s\u0027) % host"},{"line_number":1344,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_6aaa4887","line":1341,"in_reply_to":"9abb7d3a_4f54cd20","updated":"2016-06-02 14:25:32.000000000","message":"We should, I think that may be more of a perf win than this first fix.","commit_id":"2480dddf91190fe6537845ff01a13f290abfc5af"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"0288d644aca9948b70257f72c8df9b4afb06e273","unresolved":false,"context_lines":[{"line_number":1338,"context_line":"        svc_host \u003d volume_utils.extract_host(host, \u0027backend\u0027)"},{"line_number":1339,"context_line":"        for service in services:"},{"line_number":1340,"context_line":"            if utils.service_is_up(service) and service.host \u003d\u003d svc_host:"},{"line_number":1341,"context_line":"                found \u003d True"},{"line_number":1342,"context_line":"        if not found:"},{"line_number":1343,"context_line":"            msg \u003d _(\u0027No available service named %s\u0027) % host"},{"line_number":1344,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_e66495e6","line":1341,"in_reply_to":"9abb7d3a_6aaa4887","updated":"2016-06-03 00:39:45.000000000","message":"Done","commit_id":"2480dddf91190fe6537845ff01a13f290abfc5af"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"95afcdd7ab26cc9c27eb7e7c2db95c1de400267a","unresolved":false,"context_lines":[{"line_number":1336,"context_line":"            elevated, topic, disabled\u003dFalse)"},{"line_number":1337,"context_line":"        found \u003d False"},{"line_number":1338,"context_line":"        svc_host \u003d volume_utils.extract_host(host, \u0027backend\u0027)"},{"line_number":1339,"context_line":"        for service in services:"},{"line_number":1340,"context_line":"            if utils.service_is_up(service) and service.host \u003d\u003d svc_host:"},{"line_number":1341,"context_line":"                found \u003d True"},{"line_number":1342,"context_line":"                break"},{"line_number":1343,"context_line":"        if not found:"},{"line_number":1344,"context_line":"            msg \u003d _(\u0027No available service named %s\u0027) % host"},{"line_number":1345,"context_line":"            LOG.error(msg)"},{"line_number":1346,"context_line":"            raise exception.InvalidHost(reason\u003dmsg)"},{"line_number":1347,"context_line":""},{"line_number":1348,"context_line":"        # Make sure the destination host is different than the current one"},{"line_number":1349,"context_line":"        if host \u003d\u003d volume.host:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9abb7d3a_df6f79fa","line":1346,"range":{"start_line":1339,"start_character":0,"end_line":1346,"end_character":51},"updated":"2016-06-03 11:39:26.000000000","message":"nit: We could also change this to:\n\n for service in services:\n     if utils.service_is_up(service) and service.host \u003d\u003d svc_host:\n         break\n else:\n     msg \u003d _(\u0027No available service named %s\u0027) % host\n     LOG.error(msg)\n     raise exception.InvalidHost(reason\u003dmsg)","commit_id":"9e84f1a074f3f4779cc68125c5532537325a4079"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"6b463531bcc65230369d1d7a38e262d1d927609e","unresolved":false,"context_lines":[{"line_number":1336,"context_line":"            elevated, topic, disabled\u003dFalse)"},{"line_number":1337,"context_line":"        found \u003d False"},{"line_number":1338,"context_line":"        svc_host \u003d volume_utils.extract_host(host, \u0027backend\u0027)"},{"line_number":1339,"context_line":"        for service in services:"},{"line_number":1340,"context_line":"            if utils.service_is_up(service) and service.host \u003d\u003d svc_host:"},{"line_number":1341,"context_line":"                found \u003d True"},{"line_number":1342,"context_line":"                break"},{"line_number":1343,"context_line":"        if not found:"},{"line_number":1344,"context_line":"            msg \u003d _(\u0027No available service named %s\u0027) % host"},{"line_number":1345,"context_line":"            LOG.error(msg)"},{"line_number":1346,"context_line":"            raise exception.InvalidHost(reason\u003dmsg)"},{"line_number":1347,"context_line":""},{"line_number":1348,"context_line":"        # Make sure the destination host is different than the current one"},{"line_number":1349,"context_line":"        if host \u003d\u003d volume.host:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_713412de","line":1346,"range":{"start_line":1339,"start_character":0,"end_line":1346,"end_character":51},"in_reply_to":"9abb7d3a_df6f79fa","updated":"2016-06-04 01:58:31.000000000","message":"good idea,and I will add a new commit.","commit_id":"9e84f1a074f3f4779cc68125c5532537325a4079"}]}
