)]}'
{"ironicclient/client.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"96fa3e33ff4297e4636db998298439e62db5b1ec","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        \u0027http://127.0.0.1:9898/v3\u0027)."},{"line_number":28,"context_line":"    :returns: True if V3 of the API is being used."},{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    return \u0027/v3\u0027 in parse.urlparse(auth_url).path"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# TODO(vdrok): authenticate with keystoneauth1"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_134e483b","line":30,"updated":"2016-01-29 17:44:38.000000000","message":"So if my path were:\n\nhttp://127.0.0.1:9898/v2.0/something/something/v3/something\n\nWhat happens? Is that realistic that it could occur?\n\nBasically can we check that the start of the path is \u0027/v3\u0027","commit_id":"979582449cc9e653295119b05de4490a2db8eaca"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"cc9bee863f80e158bdbc4031e9ad767c2836fb63","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        \u0027http://127.0.0.1:9898/v3\u0027)."},{"line_number":28,"context_line":"    :returns: True if V3 of the API is being used."},{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    return \u0027/v3\u0027 in parse.urlparse(auth_url).path"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# TODO(vdrok): authenticate with keystoneauth1"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_538040f7","line":30,"in_reply_to":"7a5de9d1_134e483b","updated":"2016-01-29 17:49:21.000000000","message":"Done","commit_id":"979582449cc9e653295119b05de4490a2db8eaca"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"7d91d57d1f93a364fb439fc00ec0d6fade038e05","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        \u0027http://127.0.0.1:9898/v3\u0027)."},{"line_number":28,"context_line":"    :returns: True if V3 of the API is being used."},{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    return parse.urlparse(auth_url).path.startswith(\u0027/v3\u0027)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# TODO(vdrok): authenticate with keystoneauth1"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_590aa17a","line":30,"updated":"2016-01-29 18:46:47.000000000","message":"Checking the path segment of the URL is not guaranteed to work every time. If you\u0027re running a cloud and have different services being served like:\n\n    cloud.com/identity/v3/...\n    cloud.com/compute/v2/...\n    cloud.com/images/v2/...\n\nThen path will be /identity/v3/... and this check will handily fail.","commit_id":"d4ede9da2c7f5cf0de396b5fa7d11fb2163bc9bc"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"74e037720f3e8a742319989931d738b03e129ded","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        \u0027http://127.0.0.1:9898/v3\u0027)."},{"line_number":28,"context_line":"    :returns: True if V3 of the API is being used."},{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    return parse.urlparse(auth_url).path.startswith(\u0027/v3\u0027)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# TODO(vdrok): authenticate with keystoneauth1"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_7a3988f1","line":30,"in_reply_to":"7a5de9d1_590aa17a","updated":"2016-01-29 21:37:54.000000000","message":"I was afraid of that. But thanks for the feedback.","commit_id":"d4ede9da2c7f5cf0de396b5fa7d11fb2163bc9bc"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"7d91d57d1f93a364fb439fc00ec0d6fade038e05","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    api_v3 \u003d _is_apiv3(auth_url)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    if api_v3:"},{"line_number":49,"context_line":"        from keystoneclient.v3 import client as ksclient"},{"line_number":50,"context_line":"    else:"},{"line_number":51,"context_line":"        from keystoneclient.v2_0 import client as ksclient"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_b9ce352c","line":49,"updated":"2016-01-29 18:46:47.000000000","message":"I believe keystoneclient.client.Client should handle detecting the endpoint version for you. You shouldn\u0027t need to do any of this. Alternatively, you can use keystoneauth.loading.get_plugin_loader to do this for you (kind of like how magnumclient uses it now).","commit_id":"d4ede9da2c7f5cf0de396b5fa7d11fb2163bc9bc"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"74e037720f3e8a742319989931d738b03e129ded","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    api_v3 \u003d _is_apiv3(auth_url)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    if api_v3:"},{"line_number":49,"context_line":"        from keystoneclient.v3 import client as ksclient"},{"line_number":50,"context_line":"    else:"},{"line_number":51,"context_line":"        from keystoneclient.v2_0 import client as ksclient"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_5a0ccc40","line":49,"in_reply_to":"7a5de9d1_b9ce352c","updated":"2016-01-29 21:37:54.000000000","message":"Let me give that a whirl. Thanks.","commit_id":"d4ede9da2c7f5cf0de396b5fa7d11fb2163bc9bc"}]}
