)]}'
{"nova/exception.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"57bf400281a75a5ac7faa0ddededbd27d6a3e137","unresolved":false,"context_lines":[{"line_number":1120,"context_line":""},{"line_number":1121,"context_line":""},{"line_number":1122,"context_line":"class RegionAmbiguity(NovaException):"},{"line_number":1123,"context_line":"    message \u003d _(\"Multiple \u0027image\u0027 service matches for region %(region)s.\")"},{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":""},{"line_number":1126,"context_line":"class NoServiceEndpoint(NovaException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F%2Bdg%3D","line":1123,"updated":"2012-07-27 12:20:58.000000000","message":"Since nova.image.glance.glance_api_from_catalog() allows the searched-for service_type to be parameterized, it shouldn\u0027t be hard-coded to \u0027image\u0027 here, i.e.:\n\n  s/\u0027image\u0027/\u0027%(service_type)s/","commit_id":"2e99e5aaa0b0ed5cb01a89985ec0ee44f74eb38f"}],"nova/image/glance.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"57bf400281a75a5ac7faa0ddededbd27d6a3e137","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        if s_type \u003d\u003d service_type:"},{"line_number":89,"context_line":"            for ep in service[\u0027endpoints\u0027]:"},{"line_number":90,"context_line":"                if endpoint_region is None or endpoint_region \u003d\u003d ep[\u0027region\u0027]:"},{"line_number":91,"context_line":"                    if endpoint is not None:"},{"line_number":92,"context_line":"                        # This is a second match, abort"},{"line_number":93,"context_line":"                        raise exception.RegionAmbiguity(region\u003dendpoint_region)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F%2BdY%3D","line":90,"updated":"2012-07-27 12:20:58.000000000","message":"Not sure about the endpoint_region is None predicate ... i.e. how would one express \"any region will do\" without failing on multiple matches? Or does it ever make to accept any region?","commit_id":"2e99e5aaa0b0ed5cb01a89985ec0ee44f74eb38f"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"3d4347ae9942b4c5e175fdadb4fa84e4630f4ae9","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                if endpoint_region is None or endpoint_region \u003d\u003d ep[\u0027region\u0027]:"},{"line_number":91,"context_line":"                    if endpoint is not None:"},{"line_number":92,"context_line":"                        # This is a second match, abort"},{"line_number":93,"context_line":"                        raise exception.RegionAmbiguity(region\u003dendpoint_region)"},{"line_number":94,"context_line":"                    endpoint \u003d ep"},{"line_number":95,"context_line":"    if endpoint and endpoint.get(endpoint_type):"},{"line_number":96,"context_line":"        o \u003d urlparse.urlparse(endpoint.get(endpoint_type))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F%2FhI%3D","line":93,"updated":"2012-07-26 02:52:25.000000000","message":"Couldn\u0027t this happen if I have more than one glance and want nova to round robin between them? I know this isn\u0027t supported in the old way of doing this, but I wonder if anyone in the wild has their keystone configured this way?","commit_id":"2e99e5aaa0b0ed5cb01a89985ec0ee44f74eb38f"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"57bf400281a75a5ac7faa0ddededbd27d6a3e137","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                if endpoint_region is None or endpoint_region \u003d\u003d ep[\u0027region\u0027]:"},{"line_number":91,"context_line":"                    if endpoint is not None:"},{"line_number":92,"context_line":"                        # This is a second match, abort"},{"line_number":93,"context_line":"                        raise exception.RegionAmbiguity(region\u003dendpoint_region)"},{"line_number":94,"context_line":"                    endpoint \u003d ep"},{"line_number":95,"context_line":"    if endpoint and endpoint.get(endpoint_type):"},{"line_number":96,"context_line":"        o \u003d urlparse.urlparse(endpoint.get(endpoint_type))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F%2Bdc%3D","line":93,"updated":"2012-07-27 12:20:58.000000000","message":"How about changing to:\n\n  raise exception.RegionAmbiguity(service_type\u003dservice_type, region\u003dendpoint_region)","commit_id":"2e99e5aaa0b0ed5cb01a89985ec0ee44f74eb38f"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"1458cdf607d597a0c3797b494a075d37ae4c9e3c","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                if endpoint_region is None or endpoint_region \u003d\u003d ep[\u0027region\u0027]:"},{"line_number":91,"context_line":"                    if endpoint is not None:"},{"line_number":92,"context_line":"                        # This is a second match, abort"},{"line_number":93,"context_line":"                        raise exception.RegionAmbiguity(region\u003dendpoint_region)"},{"line_number":94,"context_line":"                    endpoint \u003d ep"},{"line_number":95,"context_line":"    if endpoint and endpoint.get(endpoint_type):"},{"line_number":96,"context_line":"        o \u003d urlparse.urlparse(endpoint.get(endpoint_type))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F%2Bvw%3D","line":93,"in_reply_to":"AAAALH%2F%2F%2FOQ%3D","updated":"2012-07-26 22:12:26.000000000","message":"Yeah, I think perhaps we should file a bug for it and let this one in. We don\u0027t even have data on if anyone does that, I just thought I\u0027d ask while it was in my brain.","commit_id":"2e99e5aaa0b0ed5cb01a89985ec0ee44f74eb38f"},{"author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"change_message_id":"31324c6a1c0dbdf231b3252a330b13260f859605","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                if endpoint_region is None or endpoint_region \u003d\u003d ep[\u0027region\u0027]:"},{"line_number":91,"context_line":"                    if endpoint is not None:"},{"line_number":92,"context_line":"                        # This is a second match, abort"},{"line_number":93,"context_line":"                        raise exception.RegionAmbiguity(region\u003dendpoint_region)"},{"line_number":94,"context_line":"                    endpoint \u003d ep"},{"line_number":95,"context_line":"    if endpoint and endpoint.get(endpoint_type):"},{"line_number":96,"context_line":"        o \u003d urlparse.urlparse(endpoint.get(endpoint_type))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F%2FOQ%3D","line":93,"in_reply_to":"AAAALH%2F%2F%2FhI%3D","updated":"2012-07-26 14:23:01.000000000","message":"I suppose what we could do is to add more flags so that users can configure Nova to look in a for for services with a specific name, type, etc.\n\nI\u0027m not sure how common this would actually be... but it could certainly happen.","commit_id":"2e99e5aaa0b0ed5cb01a89985ec0ee44f74eb38f"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"71082466119df5d263ef5ceb5510b410ab499569","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            LOG.warn(msg)"},{"line_number":88,"context_line":"            continue"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        if s_type \u003d\u003d service_type:"},{"line_number":91,"context_line":"            for ep in service[\u0027endpoints\u0027]:"},{"line_number":92,"context_line":"                if endpoint_region is None or endpoint_region \u003d\u003d ep[\u0027region\u0027]:"},{"line_number":93,"context_line":"                    if endpoint is not None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FzM0%3D","line":90,"updated":"2012-08-10 22:20:22.000000000","message":"The indentation is pretty deep in this section ... a bit of changing things around may help make it easier to read (at least for me)\n\n    if s_type !\u003d service_type:\n        continue\n\n    for ep in service[\u0027endpoints\u0027]:\n        if endpoint_region and endpoint_region !\u003d ep[\u0027region\u0027]:\n            continue\n\n        if endpoint is not None:\n              # This is a second match, abort\n              raise exception.RegionAmbiguity(service_type\u003ds_type,\n                                region\u003dendpoint_region)\n        \n        endpoint \u003d ep","commit_id":"517d2bb268f161634c25715a9f5027f87caabb48"}]}
