)]}'
{"openstackclient/api/auth.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"b13d220514377b88b872e7cdf37d3931b13682b0","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        a_u \u003d urlparse.urlparse(self.auth_url)"},{"line_number":252,"context_line":"        # from original auth_url: scheme, netloc"},{"line_number":253,"context_line":"        # from api_url: path, query (basically, the rest)"},{"line_number":254,"context_line":"        if v_u.netloc.startswith(\u0027localhost\u0027):"},{"line_number":255,"context_line":"            # Only hack this if it is the default setting"},{"line_number":256,"context_line":"            url \u003d urlparse.urlunparse(("},{"line_number":257,"context_line":"                a_u.scheme,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_7f713e76","line":254,"updated":"2015-01-15 05:20:02.000000000","message":"should we just simplify to just check if \"localhost\" is in url?\n\nsomething like:\n\nif \"localhost\" in url:\n  # initialize v_u and a_u\n  # set url\n\nThat way, to code does not need to do urlparse everyime.","commit_id":"bfbfb0ed3aa45badcad546beb54356fcdc50b661"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"42757f411453617362e8fbd21801aaff090de4fe","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        a_u \u003d urlparse.urlparse(self.auth_url)"},{"line_number":252,"context_line":"        # from original auth_url: scheme, netloc"},{"line_number":253,"context_line":"        # from api_url: path, query (basically, the rest)"},{"line_number":254,"context_line":"        if v_u.netloc.startswith(\u0027localhost\u0027):"},{"line_number":255,"context_line":"            # Only hack this if it is the default setting"},{"line_number":256,"context_line":"            url \u003d urlparse.urlunparse(("},{"line_number":257,"context_line":"                a_u.scheme,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_190f5e2f","line":254,"in_reply_to":"3a961159_7a014c38","updated":"2015-01-15 17:29:50.000000000","message":"Since it is only called a couple of times, I am okay with this. \n\nIf you\u0027re going to re-submit another patch, could move that code inside the if block. If not, I am fine just keeping this code.","commit_id":"bfbfb0ed3aa45badcad546beb54356fcdc50b661"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b457f07e58b038fcff4437cabf13fa746b1221cf","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        a_u \u003d urlparse.urlparse(self.auth_url)"},{"line_number":252,"context_line":"        # from original auth_url: scheme, netloc"},{"line_number":253,"context_line":"        # from api_url: path, query (basically, the rest)"},{"line_number":254,"context_line":"        if v_u.netloc.startswith(\u0027localhost\u0027):"},{"line_number":255,"context_line":"            # Only hack this if it is the default setting"},{"line_number":256,"context_line":"            url \u003d urlparse.urlunparse(("},{"line_number":257,"context_line":"                a_u.scheme,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_7a014c38","line":254,"in_reply_to":"3a961159_7f713e76","updated":"2015-01-15 06:30:09.000000000","message":"While unlikely, I would prefer to not add the possibility that \u0027localhost\u0027 anywhere else in the URL would give a false positive.  create_plugin() is called only a couple of times per auth setup, but I suppose the a_u parse could be moved inside the if block","commit_id":"bfbfb0ed3aa45badcad546beb54356fcdc50b661"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"42757f411453617362e8fbd21801aaff090de4fe","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        # from original auth_url: scheme, netloc"},{"line_number":253,"context_line":"        # from api_url: path, query (basically, the rest)"},{"line_number":254,"context_line":"        if v_u.netloc.startswith(\u0027localhost\u0027):"},{"line_number":255,"context_line":"            # Only hack this if it is the default setting"},{"line_number":256,"context_line":"            url \u003d urlparse.urlunparse(("},{"line_number":257,"context_line":"                a_u.scheme,"},{"line_number":258,"context_line":"                a_u.netloc,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_9986ee63","line":255,"updated":"2015-01-15 17:29:50.000000000","message":"Maybe we should add a warning message in here so that the user is aware of the possible config issue on their side","commit_id":"bfbfb0ed3aa45badcad546beb54356fcdc50b661"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"1e819efbba63c982df799ad867b2aceb9426ed6b","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        # from original auth_url: scheme, netloc"},{"line_number":253,"context_line":"        # from api_url: path, query (basically, the rest)"},{"line_number":254,"context_line":"        if v_u.netloc.startswith(\u0027localhost\u0027):"},{"line_number":255,"context_line":"            # Only hack this if it is the default setting"},{"line_number":256,"context_line":"            url \u003d urlparse.urlunparse(("},{"line_number":257,"context_line":"                a_u.scheme,"},{"line_number":258,"context_line":"                a_u.netloc,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_d90cf695","line":255,"in_reply_to":"3a961159_9986ee63","updated":"2015-01-15 17:48:55.000000000","message":"I am unsure on that, it is a cloud configuration issue and nearly all of the cases I am aware of the users are unable to reconfigure the cloud so there is little they can do about it.  A debug log message maybe?","commit_id":"bfbfb0ed3aa45badcad546beb54356fcdc50b661"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"6c0d59bbb8f6ce21caf0606754709e97a51431ae","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        # from original auth_url: scheme, netloc"},{"line_number":253,"context_line":"        # from api_url: path, query (basically, the rest)"},{"line_number":254,"context_line":"        if v_u.netloc.startswith(\u0027localhost\u0027):"},{"line_number":255,"context_line":"            # Only hack this if it is the default setting"},{"line_number":256,"context_line":"            url \u003d urlparse.urlunparse(("},{"line_number":257,"context_line":"                a_u.scheme,"},{"line_number":258,"context_line":"                a_u.netloc,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_5c4634a8","line":255,"in_reply_to":"3a961159_d90cf695","updated":"2015-01-15 18:13:44.000000000","message":"Yeah works for me.","commit_id":"bfbfb0ed3aa45badcad546beb54356fcdc50b661"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0e2615316aba89be4985afbe3049c1030d22ca73","unresolved":false,"context_lines":[{"line_number":237,"context_line":"class OSCGenericPassword(ksc_password.Password):"},{"line_number":238,"context_line":"    \"\"\"Auth plugin hack to work around broken Keystone configurations"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    The default Keystone configuration uses http://localhost:xxxx in"},{"line_number":241,"context_line":"    admin_endpoint and public_endpoint and are returned in the links.href"},{"line_number":242,"context_line":"    attribute by the version routes.  Deployments that do not set these"},{"line_number":243,"context_line":"    are unusable with newer keystoneclient version discovery."}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_d3981f6b","line":240,"updated":"2015-01-17 02:22:55.000000000","message":"so a broken config specifically uses \u0027localhost\u0027 and has no version at the end?\n\nor is it just that it uses \u0027localhost\u0027 in general?","commit_id":"d3b87d7795356d3c4e4b6f578a1f426a74f9afbd"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"7f97852a3795d9d6ee6fa2822755434076831533","unresolved":false,"context_lines":[{"line_number":237,"context_line":"class OSCGenericPassword(ksc_password.Password):"},{"line_number":238,"context_line":"    \"\"\"Auth plugin hack to work around broken Keystone configurations"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    The default Keystone configuration uses http://localhost:xxxx in"},{"line_number":241,"context_line":"    admin_endpoint and public_endpoint and are returned in the links.href"},{"line_number":242,"context_line":"    attribute by the version routes.  Deployments that do not set these"},{"line_number":243,"context_line":"    are unusable with newer keystoneclient version discovery."}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_ee945445","line":240,"in_reply_to":"3a961159_4e11e8f6","updated":"2015-01-17 05:18:59.000000000","message":"There is always a version in the JSON returned from \u0027/\u0027, \u0027/v2.0\u0027 and \u0027/v3\u0027 routes.  This _is_ the special case handling...I\u0027m ignoring Jamie\u0027s token auth completely which probably has the same issue but nobody uses it that I know of.\n\nThe version hacking is a totally different story and already partially handled by ksc.","commit_id":"d3b87d7795356d3c4e4b6f578a1f426a74f9afbd"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"aeb3ee837f4cb903e25b7167d4e61de1706363ec","unresolved":false,"context_lines":[{"line_number":237,"context_line":"class OSCGenericPassword(ksc_password.Password):"},{"line_number":238,"context_line":"    \"\"\"Auth plugin hack to work around broken Keystone configurations"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    The default Keystone configuration uses http://localhost:xxxx in"},{"line_number":241,"context_line":"    admin_endpoint and public_endpoint and are returned in the links.href"},{"line_number":242,"context_line":"    attribute by the version routes.  Deployments that do not set these"},{"line_number":243,"context_line":"    are unusable with newer keystoneclient version discovery."}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_4e11e8f6","line":240,"in_reply_to":"3a961159_4e63a8aa","updated":"2015-01-17 05:05:04.000000000","message":"So maybe we should do some checking before hand?\n\nIf a url contains localhost and there is no version, then hand it off to \u0027osc_password\u0027? Otherwise use regular \u0027password\u0027. Just hesitate about this becoming part of the \u0027normal\u0027 flow, it\u0027s a special case, so let\u0027s treat it as such.","commit_id":"d3b87d7795356d3c4e4b6f578a1f426a74f9afbd"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"9e2a92ce4852971ec542e0abb3fb0427acbd8ec3","unresolved":false,"context_lines":[{"line_number":237,"context_line":"class OSCGenericPassword(ksc_password.Password):"},{"line_number":238,"context_line":"    \"\"\"Auth plugin hack to work around broken Keystone configurations"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    The default Keystone configuration uses http://localhost:xxxx in"},{"line_number":241,"context_line":"    admin_endpoint and public_endpoint and are returned in the links.href"},{"line_number":242,"context_line":"    attribute by the version routes.  Deployments that do not set these"},{"line_number":243,"context_line":"    are unusable with newer keystoneclient version discovery."}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_4e63a8aa","line":240,"in_reply_to":"3a961159_d3981f6b","updated":"2015-01-17 04:59:52.000000000","message":"Correct, localhost is what is important here.  The values in keystone.conf do not include a version and that\u0027s specifically what I am referring to:\n\n  admin_endpoint \u003d http://10.130.50.23:%(admin_port)s/\n  public_endpoint \u003d http://10.130.50.23:%(public_port)s/","commit_id":"d3b87d7795356d3c4e4b6f578a1f426a74f9afbd"}]}
