)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"990c69d9715b983797188677db573dc915246a43","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Also this patch deprecates a bunch of arguments to client.get_client"},{"line_number":17,"context_line":"function, changing them to the standard keystoneauth naming."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"DocImpact"},{"line_number":20,"context_line":"Closes-Bug: #1696791"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ifc7b45d047c8882a41021e1604b74d17eac2e6e8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"1f1a1f67_30dec83d","line":19,"updated":"2017-07-19 20:33:11.000000000","message":"do we still use this? (I\u0027ve forgotten about it.)","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4da8adc14698b86c9613ea8f3ee14e3eda7b1a0c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Also this patch deprecates a bunch of arguments to client.get_client"},{"line_number":17,"context_line":"function, changing them to the standard keystoneauth naming."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"DocImpact"},{"line_number":20,"context_line":"Closes-Bug: #1696791"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ifc7b45d047c8882a41021e1604b74d17eac2e6e8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"bf3e73b7_a0da46e6","line":19,"in_reply_to":"1f1a1f67_30dec83d","updated":"2017-08-07 16:25:06.000000000","message":"dunno, I think it does still create a bug after the merge. We need to properly document all the stuff we have and how to use it, and I fear doing it in this patch will make it indigestible.","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"37a474c58bec6761d8782f00bcab97de6ca094b4","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Also this patch deprecates a bunch of arguments to client.get_client"},{"line_number":21,"context_line":"function, changing them to the standard keystoneauth naming."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"Closes-Bug: #1696791"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: Ifc7b45d047c8882a41021e1604b74d17eac2e6e8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":20,"id":"7f515b1d_68ef50b0","line":23,"updated":"2017-09-26 14:41:56.000000000","message":"I don\u0027t think DocImpact works correctly for us..","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"72122b2f35d6e520a804f4a8ad5fc43a26fabcf9","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Also this patch deprecates a bunch of arguments to client.get_client"},{"line_number":21,"context_line":"function, changing them to the standard keystoneauth naming."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"Closes-Bug: #1696791"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: Ifc7b45d047c8882a41021e1604b74d17eac2e6e8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":20,"id":"7f515b1d_059d4cbb","line":23,"in_reply_to":"7f515b1d_68ef50b0","updated":"2017-09-27 06:03:54.000000000","message":"hrm, I think how it works is it creates a bug after the patch is merged, should still work","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cc60c4c3b47e36b1e577833f3324fc7ee8cc3b43","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Also this patch deprecates a bunch of arguments to client.get_client"},{"line_number":21,"context_line":"function, changing them to the standard keystoneauth naming."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"Closes-Bug: #1696791"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: Ifc7b45d047c8882a41021e1604b74d17eac2e6e8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"7f515b1d_75293999","line":23,"updated":"2017-09-27 21:36:59.000000000","message":"I realize you don\u0027t want to update the docs in this patch, but it would be useful to see the doc patch. Does it exist yet? Cuz it might make reviewing this/both easier :-)","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Also this patch deprecates a bunch of arguments to client.get_client"},{"line_number":21,"context_line":"function, changing them to the standard keystoneauth naming."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"Closes-Bug: #1696791"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: Ifc7b45d047c8882a41021e1604b74d17eac2e6e8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"7f515b1d_d725870a","line":23,"in_reply_to":"7f515b1d_75293999","updated":"2017-09-28 07:20:38.000000000","message":"nope, I\u0027ll try to write up something today","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cc60c4c3b47e36b1e577833f3324fc7ee8cc3b43","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function, changing them to the standard keystoneauth naming."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"Closes-Bug: #1696791"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: Ifc7b45d047c8882a41021e1604b74d17eac2e6e8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"7f515b1d_15120563","line":24,"updated":"2017-09-27 21:36:59.000000000","message":"Since the documentation needs to be updated, does this close the bug or is it partial-bug?","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function, changing them to the standard keystoneauth naming."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"Closes-Bug: #1696791"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: Ifc7b45d047c8882a41021e1604b74d17eac2e6e8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"7f515b1d_1710bfa7","line":24,"in_reply_to":"7f515b1d_15120563","updated":"2017-09-28 07:20:38.000000000","message":"DocImpact creates a new bug after merge. so can either remove it and make bug partially fixed, or, if leaving things as-is here, this is correct.","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"be4eef117aa46f0eb33dadb8457bccbebf6c081a","unresolved":false,"context_lines":[{"line_number":21,"context_line":"function, changing them to the standard keystoneauth naming."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"Closes-Bug: #1696791"},{"line_number":25,"context_line":"Depends-On: https://review.openstack.org/559116"},{"line_number":26,"context_line":"Change-Id: Ifc7b45d047c8882a41021e1604b74d17eac2e6e8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":31,"id":"bf659307_fc89a174","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":11},"updated":"2018-04-11 01:22:40.000000000","message":"This should be Story","commit_id":"e4143aea11dc34f8a0a0ce8a997218165458803f"}],"ironicclient/client.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"1e8b313ac5ddad22b83bf8818070441d9638404a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                    \u0027construction of ironic client: %s. The possibility \u0027"},{"line_number":78,"context_line":"                    \u0027to pass them will be removed in Queens release.\u0027,"},{"line_number":79,"context_line":"                    \u0027, \u0027.join([\u0027%s\u003d%s\u0027 % (k, v)"},{"line_number":80,"context_line":"                               for (k, v) in ignored_kwargs.items()]))"},{"line_number":81,"context_line":"    os_service_type \u003d os_service_type or \u0027baremetal\u0027"},{"line_number":82,"context_line":"    os_endpoint_type \u003d os_endpoint_type or \u0027publicURL\u0027"},{"line_number":83,"context_line":"    project_id \u003d (os_project_id or os_tenant_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf091321_e7f40cd2","line":80,"updated":"2017-06-07 22:23:56.000000000","message":"Sigh. Should we mention something about this in the release notes?","commit_id":"5e590bb538cffa5917d4a39aabd217b0ca9d8dd7"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"9e941ba3bec08a864ed78852d6f23f2e382e7cfb","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                    \u0027construction of ironic client: %s. The possibility \u0027"},{"line_number":78,"context_line":"                    \u0027to pass them will be removed in Queens release.\u0027,"},{"line_number":79,"context_line":"                    \u0027, \u0027.join([\u0027%s\u003d%s\u0027 % (k, v)"},{"line_number":80,"context_line":"                               for (k, v) in ignored_kwargs.items()]))"},{"line_number":81,"context_line":"    os_service_type \u003d os_service_type or \u0027baremetal\u0027"},{"line_number":82,"context_line":"    os_endpoint_type \u003d os_endpoint_type or \u0027publicURL\u0027"},{"line_number":83,"context_line":"    project_id \u003d (os_project_id or os_tenant_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf091321_5dbfebfa","line":80,"in_reply_to":"bf091321_e7f40cd2","updated":"2017-06-08 15:43:22.000000000","message":"Not sure, they are already ignored... Can mention though.","commit_id":"5e590bb538cffa5917d4a39aabd217b0ca9d8dd7"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"1e8b313ac5ddad22b83bf8818070441d9638404a","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            auth_type \u003d \u0027password\u0027"},{"line_number":101,"context_line":"    auth_kwargs \u003d {"},{"line_number":102,"context_line":"        \u0027auth_url\u0027: os_auth_url,"},{"line_number":103,"context_line":"        \u0027endpoint\u0027: endpoint,"},{"line_number":104,"context_line":"        \u0027username\u0027: os_username,"},{"line_number":105,"context_line":"        \u0027password\u0027: os_password,"},{"line_number":106,"context_line":"        \u0027project_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf091321_92834c57","line":103,"updated":"2017-06-07 22:23:56.000000000","message":"just checking, it is ok if endpoint is not defined here? (L135 is where it might be set).","commit_id":"5e590bb538cffa5917d4a39aabd217b0ca9d8dd7"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"9e941ba3bec08a864ed78852d6f23f2e382e7cfb","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            auth_type \u003d \u0027password\u0027"},{"line_number":101,"context_line":"    auth_kwargs \u003d {"},{"line_number":102,"context_line":"        \u0027auth_url\u0027: os_auth_url,"},{"line_number":103,"context_line":"        \u0027endpoint\u0027: endpoint,"},{"line_number":104,"context_line":"        \u0027username\u0027: os_username,"},{"line_number":105,"context_line":"        \u0027password\u0027: os_password,"},{"line_number":106,"context_line":"        \u0027project_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf091321_bd13a70d","line":103,"in_reply_to":"bf091321_92834c57","updated":"2017-06-08 15:43:22.000000000","message":"yes, here are all the options that can be used by the auth plugins, for admin_token all that will be used are endpoint and token, for password it\u0027s going to be auth_url, username, password, project and domains etc. Keystone will select the options it needs itself, depending on the auth type requested.","commit_id":"5e590bb538cffa5917d4a39aabd217b0ca9d8dd7"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"990c69d9715b983797188677db573dc915246a43","unresolved":false,"context_lines":[{"line_number":21,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def convert_keystoneauth_opts(kwargs):"},{"line_number":25,"context_line":"    old_to_new_names \u003d {"},{"line_number":26,"context_line":"        (\u0027os_auth_token\u0027,): \u0027token\u0027,"},{"line_number":27,"context_line":"        (\u0027os_username\u0027,): \u0027username\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"1f1a1f67_be3c102f","line":24,"updated":"2017-07-19 20:33:11.000000000","message":"are we going to delete this in Queens?","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4da8adc14698b86c9613ea8f3ee14e3eda7b1a0c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def convert_keystoneauth_opts(kwargs):"},{"line_number":25,"context_line":"    old_to_new_names \u003d {"},{"line_number":26,"context_line":"        (\u0027os_auth_token\u0027,): \u0027token\u0027,"},{"line_number":27,"context_line":"        (\u0027os_username\u0027,): \u0027username\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf3e73b7_e06cce09","line":24,"in_reply_to":"1f1a1f67_be3c102f","updated":"2017-08-07 16:25:06.000000000","message":"Done","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"990c69d9715b983797188677db573dc915246a43","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    for olds, new in old_to_new_names.items():"},{"line_number":47,"context_line":"        for old in olds:"},{"line_number":48,"context_line":"            if kwargs.get(old):"},{"line_number":49,"context_line":"                LOG.warning(\u0027The argument %s passed to get_client is \u0027"},{"line_number":50,"context_line":"                            \u0027deprecated and will be removed in Queens release,\u0027"},{"line_number":51,"context_line":"                            \u0027 please use %s instead.\u0027, old, new)"},{"line_number":52,"context_line":"                kwargs.setdefault(new, kwargs[old])"}],"source_content_type":"text/x-python","patch_set":18,"id":"1f1a1f67_1e0d448f","line":49,"updated":"2017-07-19 20:33:11.000000000","message":"maybe s/%s/\"%s\"/","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4da8adc14698b86c9613ea8f3ee14e3eda7b1a0c","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    for olds, new in old_to_new_names.items():"},{"line_number":47,"context_line":"        for old in olds:"},{"line_number":48,"context_line":"            if kwargs.get(old):"},{"line_number":49,"context_line":"                LOG.warning(\u0027The argument %s passed to get_client is \u0027"},{"line_number":50,"context_line":"                            \u0027deprecated and will be removed in Queens release,\u0027"},{"line_number":51,"context_line":"                            \u0027 please use %s instead.\u0027, old, new)"},{"line_number":52,"context_line":"                kwargs.setdefault(new, kwargs[old])"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf3e73b7_a076c6d7","line":49,"in_reply_to":"1f1a1f67_1e0d448f","updated":"2017-08-07 16:25:06.000000000","message":"Done","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"990c69d9715b983797188677db573dc915246a43","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            if kwargs.get(old):"},{"line_number":49,"context_line":"                LOG.warning(\u0027The argument %s passed to get_client is \u0027"},{"line_number":50,"context_line":"                            \u0027deprecated and will be removed in Queens release,\u0027"},{"line_number":51,"context_line":"                            \u0027 please use %s instead.\u0027, old, new)"},{"line_number":52,"context_line":"                kwargs.setdefault(new, kwargs[old])"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1f1a1f67_de2a2cd9","line":51,"updated":"2017-07-19 20:33:11.000000000","message":"maybe s/%s/\"%s\"/","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4da8adc14698b86c9613ea8f3ee14e3eda7b1a0c","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            if kwargs.get(old):"},{"line_number":49,"context_line":"                LOG.warning(\u0027The argument %s passed to get_client is \u0027"},{"line_number":50,"context_line":"                            \u0027deprecated and will be removed in Queens release,\u0027"},{"line_number":51,"context_line":"                            \u0027 please use %s instead.\u0027, old, new)"},{"line_number":52,"context_line":"                kwargs.setdefault(new, kwargs[old])"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"bf3e73b7_6080de8c","line":51,"in_reply_to":"1f1a1f67_de2a2cd9","updated":"2017-08-07 16:25:06.000000000","message":"Done","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"990c69d9715b983797188677db573dc915246a43","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                LOG.warning(\u0027The argument %s passed to get_client is \u0027"},{"line_number":50,"context_line":"                            \u0027deprecated and will be removed in Queens release,\u0027"},{"line_number":51,"context_line":"                            \u0027 please use %s instead.\u0027, old, new)"},{"line_number":52,"context_line":"                kwargs.setdefault(new, kwargs[old])"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"def get_client(api_version, auth_type\u003dNone, os_ironic_api_version\u003dNone,"}],"source_content_type":"text/x-python","patch_set":18,"id":"1f1a1f67_1ee9c47e","line":52,"updated":"2017-07-19 20:33:11.000000000","message":"what if kwargs[new] is also set?","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4da8adc14698b86c9613ea8f3ee14e3eda7b1a0c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                LOG.warning(\u0027The argument %s passed to get_client is \u0027"},{"line_number":50,"context_line":"                            \u0027deprecated and will be removed in Queens release,\u0027"},{"line_number":51,"context_line":"                            \u0027 please use %s instead.\u0027, old, new)"},{"line_number":52,"context_line":"                kwargs.setdefault(new, kwargs[old])"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"def get_client(api_version, auth_type\u003dNone, os_ironic_api_version\u003dNone,"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf3e73b7_4056fa2b","line":52,"in_reply_to":"1f1a1f67_1ee9c47e","updated":"2017-08-07 16:25:06.000000000","message":"it is setdefault, so the kwargs[new] is only going to be set if it\u0027s not present already.","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"990c69d9715b983797188677db573dc915246a43","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"def get_client(api_version, auth_type\u003dNone, os_ironic_api_version\u003dNone,"},{"line_number":56,"context_line":"               max_retries\u003dNone, retry_interval\u003dNone, **kwargs):"},{"line_number":57,"context_line":"    \"\"\"Get an authenticated client, based on the credentials."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    :param api_version: the API version to use. Valid value: \u00271\u0027."}],"source_content_type":"text/x-python","patch_set":18,"id":"1f1a1f67_9ee394a4","line":56,"updated":"2017-07-19 20:33:11.000000000","message":"would it make sense to explicitly list the valid parameters, eg token\u003dtoken, username\u003dusername, etc\nand describe the :param.. : stuff for them below.\n\nOh, maybe you can\u0027t cuz convert_keystoneauth_opts() needs them.\n\nOr maybe put a TODO to do this when we delete support for old parameter names.","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4da8adc14698b86c9613ea8f3ee14e3eda7b1a0c","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"def get_client(api_version, auth_type\u003dNone, os_ironic_api_version\u003dNone,"},{"line_number":56,"context_line":"               max_retries\u003dNone, retry_interval\u003dNone, **kwargs):"},{"line_number":57,"context_line":"    \"\"\"Get an authenticated client, based on the credentials."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    :param api_version: the API version to use. Valid value: \u00271\u0027."}],"source_content_type":"text/x-python","patch_set":18,"id":"bf3e73b7_3b19e778","line":56,"in_reply_to":"1f1a1f67_9ee394a4","updated":"2017-08-07 16:25:06.000000000","message":"Hrm, you mean list all the stuff that is currently here? I\u0027d prefer not to, and instead write a proper instructions in the contributor docs about how to do this. Otherwise we\u0027d be basically duplicating keystoneauth docs :(","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"37a474c58bec6761d8782f00bcab97de6ca094b4","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                kwargs.setdefault(new, kwargs[old])"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def get_client(api_version, auth_type\u003dNone, os_ironic_api_version\u003dNone,"},{"line_number":57,"context_line":"               max_retries\u003dNone, retry_interval\u003dNone, **kwargs):"},{"line_number":58,"context_line":"    \"\"\"Get an authenticated client, based on the credentials."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"7f515b1d_e8034072","line":56,"updated":"2017-09-26 14:41:56.000000000","message":"note for myself: deprecate os_ironic_api_version in favor of only using api_version for everything","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"37a474c58bec6761d8782f00bcab97de6ca094b4","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def get_client(api_version, auth_type\u003dNone, os_ironic_api_version\u003dNone,"},{"line_number":57,"context_line":"               max_retries\u003dNone, retry_interval\u003dNone, **kwargs):"},{"line_number":58,"context_line":"    \"\"\"Get an authenticated client, based on the credentials."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    :param api_version: the API version to use. Valid value: \u00271\u0027."}],"source_content_type":"text/x-python","patch_set":20,"id":"7f515b1d_c8fac473","line":57,"updated":"2017-09-26 14:41:56.000000000","message":"I hope nobody used this function with positional arguments..","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"72122b2f35d6e520a804f4a8ad5fc43a26fabcf9","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def get_client(api_version, auth_type\u003dNone, os_ironic_api_version\u003dNone,"},{"line_number":57,"context_line":"               max_retries\u003dNone, retry_interval\u003dNone, **kwargs):"},{"line_number":58,"context_line":"    \"\"\"Get an authenticated client, based on the credentials."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    :param api_version: the API version to use. Valid value: \u00271\u0027."}],"source_content_type":"text/x-python","patch_set":20,"id":"7f515b1d_e58a3068","line":57,"in_reply_to":"7f515b1d_c8fac473","updated":"2017-09-27 06:03:54.000000000","message":"heh, those people should be mad :)","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"37a474c58bec6761d8782f00bcab97de6ca094b4","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        elif \u0027token\u0027 in kwargs and \u0027auth_url\u0027 in kwargs:"},{"line_number":76,"context_line":"            auth_type \u003d \u0027token\u0027"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            auth_type \u003d \u0027password\u0027"},{"line_number":79,"context_line":"    session \u003d kwargs.get(\u0027session\u0027)"},{"line_number":80,"context_line":"    if not session:"},{"line_number":81,"context_line":"        loader \u003d kaloading.get_plugin_loader(auth_type)"}],"source_content_type":"text/x-python","patch_set":20,"id":"7f515b1d_a8f54885","line":78,"updated":"2017-09-26 14:41:56.000000000","message":"nit: this logic could be moved under \"if not session\"","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"72122b2f35d6e520a804f4a8ad5fc43a26fabcf9","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        elif \u0027token\u0027 in kwargs and \u0027auth_url\u0027 in kwargs:"},{"line_number":76,"context_line":"            auth_type \u003d \u0027token\u0027"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            auth_type \u003d \u0027password\u0027"},{"line_number":79,"context_line":"    session \u003d kwargs.get(\u0027session\u0027)"},{"line_number":80,"context_line":"    if not session:"},{"line_number":81,"context_line":"        loader \u003d kaloading.get_plugin_loader(auth_type)"}],"source_content_type":"text/x-python","patch_set":20,"id":"7f515b1d_85993cc5","line":78,"in_reply_to":"7f515b1d_a8f54885","updated":"2017-09-27 06:03:54.000000000","message":"yup, tho it will increase indent :)","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"37a474c58bec6761d8782f00bcab97de6ca094b4","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    if not endpoint:"},{"line_number":100,"context_line":"        try:"},{"line_number":101,"context_line":"            # Pass the endpoint_override, it will be used to get hostname"},{"line_number":102,"context_line":"            # and port that will be used for API version caching."},{"line_number":103,"context_line":"            endpoint \u003d session.get_endpoint("},{"line_number":104,"context_line":"                service_type\u003dkwargs.get(\u0027service_type\u0027) or \u0027baremetal\u0027,"},{"line_number":105,"context_line":"                interface\u003dkwargs.get(\u0027interface\u0027) or \u0027publicURL\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"7f515b1d_88f4cc87","line":102,"updated":"2017-09-26 14:41:56.000000000","message":"I think this comment should be moved to line 112","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"72122b2f35d6e520a804f4a8ad5fc43a26fabcf9","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    if not endpoint:"},{"line_number":100,"context_line":"        try:"},{"line_number":101,"context_line":"            # Pass the endpoint_override, it will be used to get hostname"},{"line_number":102,"context_line":"            # and port that will be used for API version caching."},{"line_number":103,"context_line":"            endpoint \u003d session.get_endpoint("},{"line_number":104,"context_line":"                service_type\u003dkwargs.get(\u0027service_type\u0027) or \u0027baremetal\u0027,"},{"line_number":105,"context_line":"                interface\u003dkwargs.get(\u0027interface\u0027) or \u0027publicURL\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"7f515b1d_6549a02f","line":102,"in_reply_to":"7f515b1d_88f4cc87","updated":"2017-09-27 06:03:54.000000000","message":"hrm, I guess it fits here too, as it explains why we do this in the first place. maybe I should remove the pass part, as on line 112 it\u0027s kind of obvious it is passed","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"}],"ironicclient/common/http.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ce9f751bb4f441beb4cbbf8f35175a3d17aa2485","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def __init__(self, endpoint, **kwargs):"},{"line_number":210,"context_line":"        LOG.warning(_LW(\u0027HTTPClient class is deprecated and will be removed \u0027"},{"line_number":211,"context_line":"                        \u0027in Pike release, please use SessionClient instead.\u0027))"},{"line_number":212,"context_line":"        self.endpoint \u003d endpoint"},{"line_number":213,"context_line":"        self.endpoint_trimmed \u003d _trim_endpoint_api_version(endpoint)"},{"line_number":214,"context_line":"        self.auth_token \u003d kwargs.get(\u0027token\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6eadb0_7c1dcdbc","line":211,"range":{"start_line":211,"start_character":28,"end_line":211,"end_character":32},"updated":"2016-12-12 15:57:09.000000000","message":"Seems like it should be s/Pike/Queens everywhere now.","commit_id":"ea01b17adaca4b5bff22eed0419c052b84cf86cc"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"1e8b313ac5ddad22b83bf8818070441d9638404a","unresolved":false,"context_lines":[{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def __init__(self, endpoint, **kwargs):"},{"line_number":208,"context_line":"        LOG.warning(\u0027HTTPClient class is deprecated and will be removed \u0027"},{"line_number":209,"context_line":"                    \u0027in Queens release, please use SessionClient instead.\u0027)"},{"line_number":210,"context_line":"        self.endpoint \u003d endpoint"},{"line_number":211,"context_line":"        self.endpoint_trimmed \u003d _trim_endpoint_api_version(endpoint)"},{"line_number":212,"context_line":"        self.auth_token \u003d kwargs.get(\u0027token\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf091321_a746144f","line":209,"updated":"2017-06-07 22:23:56.000000000","message":"This could be logged a lot, do we want to limit the number of logs? (Depends on how many times the client is created...)","commit_id":"5e590bb538cffa5917d4a39aabd217b0ca9d8dd7"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"9e941ba3bec08a864ed78852d6f23f2e382e7cfb","unresolved":false,"context_lines":[{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def __init__(self, endpoint, **kwargs):"},{"line_number":208,"context_line":"        LOG.warning(\u0027HTTPClient class is deprecated and will be removed \u0027"},{"line_number":209,"context_line":"                    \u0027in Queens release, please use SessionClient instead.\u0027)"},{"line_number":210,"context_line":"        self.endpoint \u003d endpoint"},{"line_number":211,"context_line":"        self.endpoint_trimmed \u003d _trim_endpoint_api_version(endpoint)"},{"line_number":212,"context_line":"        self.auth_token \u003d kwargs.get(\u0027token\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf091321_9de6a316","line":209,"in_reply_to":"bf091321_a746144f","updated":"2017-06-08 15:43:22.000000000","message":"Right, once per client creation, which should not happen often, usually you instantiate one client and use it. The only way I see to print it only once is cache some flag on disk? But I\u0027d prefer the easy way :)","commit_id":"5e590bb538cffa5917d4a39aabd217b0ca9d8dd7"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"990c69d9715b983797188677db573dc915246a43","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        LOG.debug(\u0027Negotiated API version is %s\u0027, negotiated_ver)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        # Cache the negotiated version for this server"},{"line_number":151,"context_line":"        endpoint \u003d (getattr(self, \u0027endpoint\u0027, None) or"},{"line_number":152,"context_line":"                    getattr(self, \u0027endpoint_override\u0027, None))"},{"line_number":153,"context_line":"        host, port \u003d get_server(endpoint)"},{"line_number":154,"context_line":"        filecache.save_data(host\u003dhost, port\u003dport, data\u003dnegotiated_ver)"}],"source_content_type":"text/x-python","patch_set":18,"id":"1f1a1f67_3e90004a","line":151,"updated":"2017-07-19 20:33:11.000000000","message":"do we want to put a #TODO if we are going to get rid of endpoint in Queens.","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fa553cbecf0dded22ba1c7205026584baa59b0a5","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        LOG.debug(\u0027Negotiated API version is %s\u0027, negotiated_ver)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        # Cache the negotiated version for this server"},{"line_number":151,"context_line":"        endpoint \u003d (getattr(self, \u0027endpoint\u0027, None) or"},{"line_number":152,"context_line":"                    getattr(self, \u0027endpoint_override\u0027, None))"},{"line_number":153,"context_line":"        host, port \u003d get_server(endpoint)"},{"line_number":154,"context_line":"        filecache.save_data(host\u003dhost, port\u003dport, data\u003dnegotiated_ver)"}],"source_content_type":"text/x-python","patch_set":18,"id":"ff346bd7_627e6d6c","line":151,"in_reply_to":"1f1a1f67_3e90004a","updated":"2017-07-25 14:45:59.000000000","message":"we are almost at the point where we would have to either rip it out in the last week of client release for queens, or just wait until the following cycle to rip it out. I\u0027d prefer the following cycle so we have time to identify what we\u0027ve broken and fix before we hit things like library freezes.","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4da8adc14698b86c9613ea8f3ee14e3eda7b1a0c","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        LOG.debug(\u0027Negotiated API version is %s\u0027, negotiated_ver)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        # Cache the negotiated version for this server"},{"line_number":151,"context_line":"        endpoint \u003d (getattr(self, \u0027endpoint\u0027, None) or"},{"line_number":152,"context_line":"                    getattr(self, \u0027endpoint_override\u0027, None))"},{"line_number":153,"context_line":"        host, port \u003d get_server(endpoint)"},{"line_number":154,"context_line":"        filecache.save_data(host\u003dhost, port\u003dport, data\u003dnegotiated_ver)"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf3e73b7_e10e10e4","line":151,"in_reply_to":"ff346bd7_627e6d6c","updated":"2017-08-07 16:25:06.000000000","message":"Done","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fa553cbecf0dded22ba1c7205026584baa59b0a5","unresolved":false,"context_lines":[{"line_number":207,"context_line":"class HTTPClient(VersionNegotiationMixin):"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def __init__(self, endpoint, **kwargs):"},{"line_number":210,"context_line":"        LOG.warning(\u0027HTTPClient class is deprecated and will be removed \u0027"},{"line_number":211,"context_line":"                    \u0027in Queens release, please use SessionClient instead.\u0027)"},{"line_number":212,"context_line":"        self.endpoint \u003d endpoint"},{"line_number":213,"context_line":"        self.endpoint_trimmed \u003d _trim_endpoint_api_version(endpoint)"},{"line_number":214,"context_line":"        self.auth_token \u003d kwargs.get(\u0027token\u0027)"}],"source_content_type":"text/x-python","patch_set":18,"id":"ff346bd7_02d8c17c","line":211,"range":{"start_line":210,"start_character":20,"end_line":211,"end_character":74},"updated":"2017-07-25 14:45:59.000000000","message":"Same concern as above. Deprecating now with removal in queens puts the actual removal at the deadline for client library release in the next cycle, which I think is the wrong path to take. I think we should deprecate now and remove at the beginning of the following cycle.","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4da8adc14698b86c9613ea8f3ee14e3eda7b1a0c","unresolved":false,"context_lines":[{"line_number":207,"context_line":"class HTTPClient(VersionNegotiationMixin):"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def __init__(self, endpoint, **kwargs):"},{"line_number":210,"context_line":"        LOG.warning(\u0027HTTPClient class is deprecated and will be removed \u0027"},{"line_number":211,"context_line":"                    \u0027in Queens release, please use SessionClient instead.\u0027)"},{"line_number":212,"context_line":"        self.endpoint \u003d endpoint"},{"line_number":213,"context_line":"        self.endpoint_trimmed \u003d _trim_endpoint_api_version(endpoint)"},{"line_number":214,"context_line":"        self.auth_token \u003d kwargs.get(\u0027token\u0027)"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf3e73b7_a1f808c4","line":211,"range":{"start_line":210,"start_character":20,"end_line":211,"end_character":74},"in_reply_to":"ff346bd7_02d8c17c","updated":"2017-08-07 16:25:06.000000000","message":"Done","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fa553cbecf0dded22ba1c7205026584baa59b0a5","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        self.conflict_max_retries \u003d max_retries"},{"line_number":499,"context_line":"        self.conflict_retry_interval \u003d retry_interval"},{"line_number":500,"context_line":"        if endpoint:"},{"line_number":501,"context_line":"            LOG.warning(\u0027Passing endpoint argument to SessionClient \u0027"},{"line_number":502,"context_line":"                        \u0027constructor is deprecated, such possibility will be \u0027"},{"line_number":503,"context_line":"                        \u0027removed in Queens. Please use endpoint_override \u0027"},{"line_number":504,"context_line":"                        \u0027instead.\u0027)"},{"line_number":505,"context_line":"            self.endpoint \u003d endpoint"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":"        super(SessionClient, self).__init__(**kwargs)"}],"source_content_type":"text/x-python","patch_set":18,"id":"ff346bd7_82d5d145","line":504,"range":{"start_line":501,"start_character":25,"end_line":504,"end_character":34},"updated":"2017-07-25 14:45:59.000000000","message":"please note what replaces it","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4da8adc14698b86c9613ea8f3ee14e3eda7b1a0c","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        self.conflict_max_retries \u003d max_retries"},{"line_number":499,"context_line":"        self.conflict_retry_interval \u003d retry_interval"},{"line_number":500,"context_line":"        if endpoint:"},{"line_number":501,"context_line":"            LOG.warning(\u0027Passing endpoint argument to SessionClient \u0027"},{"line_number":502,"context_line":"                        \u0027constructor is deprecated, such possibility will be \u0027"},{"line_number":503,"context_line":"                        \u0027removed in Queens. Please use endpoint_override \u0027"},{"line_number":504,"context_line":"                        \u0027instead.\u0027)"},{"line_number":505,"context_line":"            self.endpoint \u003d endpoint"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":"        super(SessionClient, self).__init__(**kwargs)"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf3e73b7_013354ad","line":504,"range":{"start_line":501,"start_character":25,"end_line":504,"end_character":34},"in_reply_to":"ff346bd7_82d5d145","updated":"2017-08-07 16:25:06.000000000","message":"hrm, endpoint is replaced by endpoint_override.. Do you want me to add anything else here, or rephrase?","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cc60c4c3b47e36b1e577833f3324fc7ee8cc3b43","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        LOG.debug(\u0027Negotiated API version is %s\u0027, negotiated_ver)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        # Cache the negotiated version for this server"},{"line_number":151,"context_line":"        # TODO(vdrok): get rid of endpoint attribute in Rocky"},{"line_number":152,"context_line":"        endpoint \u003d (getattr(self, \u0027endpoint\u0027, None) or"},{"line_number":153,"context_line":"                    getattr(self, \u0027endpoint_override\u0027, None))"},{"line_number":154,"context_line":"        host, port \u003d get_server(endpoint)"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_dad7f9ed","line":151,"updated":"2017-09-27 21:36:59.000000000","message":"I guess I am confused. What do you mean by \u0027endpoint attribute\u0027? self.endpoint? If so, maybe L152 could be endpoint_override \u003d (getattr(..........))","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        LOG.debug(\u0027Negotiated API version is %s\u0027, negotiated_ver)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        # Cache the negotiated version for this server"},{"line_number":151,"context_line":"        # TODO(vdrok): get rid of endpoint attribute in Rocky"},{"line_number":152,"context_line":"        endpoint \u003d (getattr(self, \u0027endpoint\u0027, None) or"},{"line_number":153,"context_line":"                    getattr(self, \u0027endpoint_override\u0027, None))"},{"line_number":154,"context_line":"        host, port \u003d get_server(endpoint)"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_3a06021e","line":151,"in_reply_to":"7f515b1d_dad7f9ed","updated":"2017-09-28 07:20:38.000000000","message":"yes, self.endpoint","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cc60c4c3b47e36b1e577833f3324fc7ee8cc3b43","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        # Cache the negotiated version for this server"},{"line_number":151,"context_line":"        # TODO(vdrok): get rid of endpoint attribute in Rocky"},{"line_number":152,"context_line":"        endpoint \u003d (getattr(self, \u0027endpoint\u0027, None) or"},{"line_number":153,"context_line":"                    getattr(self, \u0027endpoint_override\u0027, None))"},{"line_number":154,"context_line":"        host, port \u003d get_server(endpoint)"},{"line_number":155,"context_line":"        filecache.save_data(host\u003dhost, port\u003dport, data\u003dnegotiated_ver)"},{"line_number":156,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_babf9da8","line":153,"updated":"2017-09-27 21:36:59.000000000","message":"if \u0027endpoint\u0027 and \u0027endpoint_override\u0027 are specified, which do you want?","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        # Cache the negotiated version for this server"},{"line_number":151,"context_line":"        # TODO(vdrok): get rid of endpoint attribute in Rocky"},{"line_number":152,"context_line":"        endpoint \u003d (getattr(self, \u0027endpoint\u0027, None) or"},{"line_number":153,"context_line":"                    getattr(self, \u0027endpoint_override\u0027, None))"},{"line_number":154,"context_line":"        host, port \u003d get_server(endpoint)"},{"line_number":155,"context_line":"        filecache.save_data(host\u003dhost, port\u003dport, data\u003dnegotiated_ver)"},{"line_number":156,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_1a2466ae","line":153,"in_reply_to":"7f515b1d_babf9da8","updated":"2017-09-28 07:20:38.000000000","message":"yeah we want the override first","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cc60c4c3b47e36b1e577833f3324fc7ee8cc3b43","unresolved":false,"context_lines":[{"line_number":503,"context_line":"                        \u0027constructor is deprecated, such possibility will be \u0027"},{"line_number":504,"context_line":"                        \u0027removed in Queens. Please use endpoint_override \u0027"},{"line_number":505,"context_line":"                        \u0027instead.\u0027)"},{"line_number":506,"context_line":"            self.endpoint \u003d endpoint"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"        super(SessionClient, self).__init__(**kwargs)"},{"line_number":509,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_1a611106","line":506,"updated":"2017-09-27 21:36:59.000000000","message":"so why don\u0027t you do \n\nself.endpoint_override \u003d endpoint ? Or check if kwargs[\u0027endpoint_override\u0027] exists and if not, set kwargs[\u0027endpoint_override\u0027] \u003d endpoint?\n\nIt is confusing to me to keep around self.endpoint internally; we should just use endpoint_override internally.","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":503,"context_line":"                        \u0027constructor is deprecated, such possibility will be \u0027"},{"line_number":504,"context_line":"                        \u0027removed in Queens. Please use endpoint_override \u0027"},{"line_number":505,"context_line":"                        \u0027instead.\u0027)"},{"line_number":506,"context_line":"            self.endpoint \u003d endpoint"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"        super(SessionClient, self).__init__(**kwargs)"},{"line_number":509,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_3743bb6e","line":506,"in_reply_to":"7f515b1d_1a611106","updated":"2017-09-28 07:20:38.000000000","message":"The problem is, it is kind of an interface thing between HTTPClient and SessionClient (used in version negotiation mixin). And it is deprecated for SessionClient only, as it contains a proper keystoneauth session inside, with all the overrides. And i did not want to change a bunch of places in a deprecated HTTPClient to support it as well.","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d61e44bc9720e1c9e44c816719c6af6aa8810e45","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"def get_server(endpoint):"},{"line_number":85,"context_line":"    \"\"\"Extract and return the server \u0026 port that we\u0027re connecting to.\"\"\""},{"line_number":86,"context_line":"    if endpoint is None:"},{"line_number":87,"context_line":"        return None, None"},{"line_number":88,"context_line":"    parts \u003d urlparse.urlparse(endpoint)"}],"source_content_type":"text/x-python","patch_set":24,"id":"7f515b1d_5cde536d","line":85,"updated":"2017-09-28 14:44:00.000000000","message":"just a nit, I\u0027d s/endpoint/url/ and change this to just \u0027Extract and return the server \u0026 port.\u0027\n\nNice and general then :)","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ff42efc4a1739d3eb019d1ca6d8072f471b1652c","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"def get_server(endpoint):"},{"line_number":85,"context_line":"    \"\"\"Extract and return the server \u0026 port that we\u0027re connecting to.\"\"\""},{"line_number":86,"context_line":"    if endpoint is None:"},{"line_number":87,"context_line":"        return None, None"},{"line_number":88,"context_line":"    parts \u003d urlparse.urlparse(endpoint)"}],"source_content_type":"text/x-python","patch_set":24,"id":"7f515b1d_f4b50b33","line":85,"in_reply_to":"7f515b1d_5cde536d","updated":"2017-09-28 22:00:23.000000000","message":"makes sense, will do","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d61e44bc9720e1c9e44c816719c6af6aa8810e45","unresolved":false,"context_lines":[{"line_number":503,"context_line":"                        \u0027constructor is deprecated, such possibility will be \u0027"},{"line_number":504,"context_line":"                        \u0027removed in Rocky. Please use \"endpoint_override\" \u0027"},{"line_number":505,"context_line":"                        \u0027instead.\u0027)"},{"line_number":506,"context_line":"            self.endpoint \u003d endpoint"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"        super(SessionClient, self).__init__(**kwargs)"},{"line_number":509,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"7f515b1d_dc2fe33c","line":506,"updated":"2017-09-28 14:44:00.000000000","message":"continuing discussion from patch set 23. In Rocky, will you delete all this   (L501-506)? If so, should we put a TODO for that?\n\nAlthough.. the idea is that someone may have code that uses SessionClient directly? In that case, shouldn\u0027t we also check here if endpoint \u0026 kwargs[endpoint_override]?","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ff42efc4a1739d3eb019d1ca6d8072f471b1652c","unresolved":false,"context_lines":[{"line_number":503,"context_line":"                        \u0027constructor is deprecated, such possibility will be \u0027"},{"line_number":504,"context_line":"                        \u0027removed in Rocky. Please use \"endpoint_override\" \u0027"},{"line_number":505,"context_line":"                        \u0027instead.\u0027)"},{"line_number":506,"context_line":"            self.endpoint \u003d endpoint"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"        super(SessionClient, self).__init__(**kwargs)"},{"line_number":509,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"7f515b1d_3442833f","line":506,"in_reply_to":"7f515b1d_dc2fe33c","updated":"2017-09-28 22:00:23.000000000","message":"yeah, will add a todo.\n\nnot sure I get the second part tho, self.endpoint is only used by our version negotiation mixin, and it already contains the preference for the arguments... Oh, I think I get what you mean, is it that we should print the warning only if endpoint_override is not present? Will add a condition here","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d61e44bc9720e1c9e44c816719c6af6aa8810e45","unresolved":false,"context_lines":[{"line_number":629,"context_line":"                             max_retries\u003dmax_retries,"},{"line_number":630,"context_line":"                             retry_interval\u003dretry_interval,"},{"line_number":631,"context_line":"                             **kwargs)"},{"line_number":632,"context_line":"    else:"},{"line_number":633,"context_line":"        endpoint \u003d None"},{"line_number":634,"context_line":"        if kwargs:"},{"line_number":635,"context_line":"            endpoint \u003d kwargs.pop(\u0027endpoint_override\u0027, None)"}],"source_content_type":"text/x-python","patch_set":24,"id":"7f515b1d_1c757b32","line":632,"updated":"2017-09-28 14:44:00.000000000","message":"In Rocky, all of this is going to be deleted, right? (And the \u0027session\u0027 parameter above)","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ff42efc4a1739d3eb019d1ca6d8072f471b1652c","unresolved":false,"context_lines":[{"line_number":629,"context_line":"                             max_retries\u003dmax_retries,"},{"line_number":630,"context_line":"                             retry_interval\u003dretry_interval,"},{"line_number":631,"context_line":"                             **kwargs)"},{"line_number":632,"context_line":"    else:"},{"line_number":633,"context_line":"        endpoint \u003d None"},{"line_number":634,"context_line":"        if kwargs:"},{"line_number":635,"context_line":"            endpoint \u003d kwargs.pop(\u0027endpoint_override\u0027, None)"}],"source_content_type":"text/x-python","patch_set":24,"id":"7f515b1d_94a137fb","line":632,"in_reply_to":"7f515b1d_1c757b32","updated":"2017-09-28 22:00:23.000000000","message":"I\u0027m not sure if the session parameter goes away, and which parts are going to be left (maybe I\u0027ll get rid of this function completely), but yeah, the else part will go away for sure. Not leaving a comment here as it\u0027s kind of obvious, there is not going to be another class apart from SessionClient :)","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"}],"ironicclient/shell.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"1467fe3c7b1c8efeb585345daa336099d8d4eca6","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                            dest\u003d\u0027os_cacert\u0027,"},{"line_number":104,"context_line":"                            help\u003d_(\u0027DEPRECATED! Use --os-cacert.\u0027))"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        parser.add_argument(\u0027--os-username\u0027,"},{"line_number":107,"context_line":"                            dest\u003d\u0027username\u0027,"},{"line_number":108,"context_line":"                            default\u003dcliutils.env(\u0027OS_USERNAME\u0027),"},{"line_number":109,"context_line":"                            help\u003d_(\u0027Defaults to env[OS_USERNAME]\u0027))"}],"source_content_type":"text/x-python","patch_set":20,"id":"9f436f4f_bc693abf","line":106,"updated":"2017-08-09 17:08:30.000000000","message":"Ideally we should register all of these via keystoneauth methods, but then we won\u0027t have possibility to define custom dest, so will have to leave all the os_ vars in the get_client... If construct the session and auth here in shell.py and pass it into get_client, we\u0027ll have to duplicate the logic for deciding which auth plugin to use depending on which arguments provided. So leaving things as-is for now.","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cc60c4c3b47e36b1e577833f3324fc7ee8cc3b43","unresolved":false,"context_lines":[{"line_number":391,"context_line":"        # Assume password auth if it does not seem like none, admin_token or"},{"line_number":392,"context_line":"        # token auth"},{"line_number":393,"context_line":"        if (not args.endpoint and not (args.token and"},{"line_number":394,"context_line":"                                       (args.endpoint or args.auth_url))):"},{"line_number":395,"context_line":"            if not args.username:"},{"line_number":396,"context_line":"                raise exc.CommandError(_(\"You must provide a username via \""},{"line_number":397,"context_line":"                                         \"either --os-username or via \""}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_b0021f3c","line":394,"updated":"2017-09-27 21:36:59.000000000","message":"maybe I\u0027m missing something. In L393, we know it is \u0027not args.endpoint\u0027, which means args.endpoint \u003d\u003d False or 0. So what\u0027s the use of args.endpoint here, isn\u0027t (args.endpoint or args.auth_url) \u003d\u003d args.auth_url?","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":391,"context_line":"        # Assume password auth if it does not seem like none, admin_token or"},{"line_number":392,"context_line":"        # token auth"},{"line_number":393,"context_line":"        if (not args.endpoint and not (args.token and"},{"line_number":394,"context_line":"                                       (args.endpoint or args.auth_url))):"},{"line_number":395,"context_line":"            if not args.username:"},{"line_number":396,"context_line":"                raise exc.CommandError(_(\"You must provide a username via \""},{"line_number":397,"context_line":"                                         \"either --os-username or via \""}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_b74c4bc8","line":394,"in_reply_to":"7f515b1d_b0021f3c","updated":"2017-09-28 07:20:38.000000000","message":"doh, you\u0027re right","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cc60c4c3b47e36b1e577833f3324fc7ee8cc3b43","unresolved":false,"context_lines":[{"line_number":442,"context_line":"        kwargs \u003d {}"},{"line_number":443,"context_line":"        for key in client_args:"},{"line_number":444,"context_line":"            value \u003d getattr(args, key)"},{"line_number":445,"context_line":"            if value:"},{"line_number":446,"context_line":"                kwargs[key] \u003d value"},{"line_number":447,"context_line":"        # NOTE(vdrok): this is to workaround the fact that these options are"},{"line_number":448,"context_line":"        # named differently in keystoneauth, depending on whether they are"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_ba167d48","line":445,"updated":"2017-09-27 21:36:59.000000000","message":"just to be safe, since I don\u0027t know what all the values can be for all those arguments, can we do \u0027if value is not None:\u0027 ?\n\ne.g. max_retries can be zero. I don\u0027t know if in that case you want kwargs[max_retries] \u003d 0, cuz it won\u0027t happen.","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"38647890871aa29c20e734634c651e4aaf8763e0","unresolved":false,"context_lines":[{"line_number":442,"context_line":"        kwargs \u003d {}"},{"line_number":443,"context_line":"        for key in client_args:"},{"line_number":444,"context_line":"            value \u003d getattr(args, key)"},{"line_number":445,"context_line":"            if value:"},{"line_number":446,"context_line":"                kwargs[key] \u003d value"},{"line_number":447,"context_line":"        # NOTE(vdrok): this is to workaround the fact that these options are"},{"line_number":448,"context_line":"        # named differently in keystoneauth, depending on whether they are"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_869c7bc0","line":445,"in_reply_to":"7f515b1d_ba167d48","updated":"2017-09-28 10:17:23.000000000","message":"sorry, forgot to reply here, we need to check for None and \u0027\u0027 then, as cliutils.env that we use for some of the variables return \u0027\u0027 if the argument was not provided explicitly and it was not found in the env","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cc60c4c3b47e36b1e577833f3324fc7ee8cc3b43","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                (\u0027os_cacert\u0027, \u0027cafile\u0027), (\u0027os_cert\u0027, \u0027certfile\u0027),"},{"line_number":452,"context_line":"                (\u0027os_key\u0027, \u0027keyfile\u0027)]:"},{"line_number":453,"context_line":"            value \u003d getattr(args, cli_ssl_opt)"},{"line_number":454,"context_line":"            if value:"},{"line_number":455,"context_line":"                kwargs[conf_ssl_opt] \u003d value"},{"line_number":456,"context_line":"        kwargs[\u0027os_ironic_api_version\u0027] \u003d os_ironic_api_version"},{"line_number":457,"context_line":"        client \u003d ironicclient.client.get_client(api_major_version, **kwargs)"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_9a7741a1","line":454,"updated":"2017-09-27 21:36:59.000000000","message":"ditto, if value is not None:","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d61e44bc9720e1c9e44c816719c6af6aa8810e45","unresolved":false,"context_lines":[{"line_number":443,"context_line":"            value \u003d getattr(args, key)"},{"line_number":444,"context_line":"            # NOTE(vdrok): check for both None and \u0027\u0027. If the default value"},{"line_number":445,"context_line":"            # for option is set using cliutils.env function, default empty"},{"line_number":446,"context_line":"            # value is \u0027\u0027. If the default is not set explicitly, is is None"},{"line_number":447,"context_line":"            if value not in (None, \u0027\u0027):"},{"line_number":448,"context_line":"                kwargs[key] \u003d value"},{"line_number":449,"context_line":"        # NOTE(vdrok): this is to workaround the fact that these options are"}],"source_content_type":"text/x-python","patch_set":24,"id":"7f515b1d_1c057b14","line":446,"updated":"2017-09-28 14:44:00.000000000","message":"nit s/is is/it is/\n\nalso, missing period at the end.","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d61e44bc9720e1c9e44c816719c6af6aa8810e45","unresolved":false,"context_lines":[{"line_number":444,"context_line":"            # NOTE(vdrok): check for both None and \u0027\u0027. If the default value"},{"line_number":445,"context_line":"            # for option is set using cliutils.env function, default empty"},{"line_number":446,"context_line":"            # value is \u0027\u0027. If the default is not set explicitly, is is None"},{"line_number":447,"context_line":"            if value not in (None, \u0027\u0027):"},{"line_number":448,"context_line":"                kwargs[key] \u003d value"},{"line_number":449,"context_line":"        # NOTE(vdrok): this is to workaround the fact that these options are"},{"line_number":450,"context_line":"        # named differently in keystoneauth, depending on whether they are"}],"source_content_type":"text/x-python","patch_set":24,"id":"7f515b1d_576bccb5","line":447,"updated":"2017-09-28 14:44:00.000000000","message":"what if someone wants to set the value to \u0027\u0027? Hmm, I guess it doesn\u0027t matter, since that\u0027s the default value anyway and we don\u0027t have code that needs to know/distinguish between the user specifying it or if it is \u0027\u0027 by default? (I think this code is ok, just want to confirm.)","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ff42efc4a1739d3eb019d1ca6d8072f471b1652c","unresolved":false,"context_lines":[{"line_number":444,"context_line":"            # NOTE(vdrok): check for both None and \u0027\u0027. If the default value"},{"line_number":445,"context_line":"            # for option is set using cliutils.env function, default empty"},{"line_number":446,"context_line":"            # value is \u0027\u0027. If the default is not set explicitly, is is None"},{"line_number":447,"context_line":"            if value not in (None, \u0027\u0027):"},{"line_number":448,"context_line":"                kwargs[key] \u003d value"},{"line_number":449,"context_line":"        # NOTE(vdrok): this is to workaround the fact that these options are"},{"line_number":450,"context_line":"        # named differently in keystoneauth, depending on whether they are"}],"source_content_type":"text/x-python","patch_set":24,"id":"7f515b1d_54805f46","line":447,"in_reply_to":"7f515b1d_576bccb5","updated":"2017-09-28 22:00:23.000000000","message":"Yeah, and apart from that for none of the values \u0027\u0027 makes sense anyway, so I think we\u0027re safe here","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"}],"ironicclient/tests/unit/test_client.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"990c69d9715b983797188677db573dc915246a43","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        self.assertNotEqual(v1.DEFAULT_VER, version)"},{"line_number":144,"context_line":"        kwargs \u003d {"},{"line_number":145,"context_line":"            \u0027project_name\u0027: \u0027PROJECT_NAME\u0027,"},{"line_number":146,"context_line":"            \u0027username\u0027: \u0027USERNAME\u0027,"},{"line_number":147,"context_line":"            \u0027password\u0027: \u0027PASSWORD\u0027,"},{"line_number":148,"context_line":"            \u0027auth_url\u0027: \u0027http://localhost:35357/v2.0\u0027,"},{"line_number":149,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":18,"id":"1f1a1f67_f60a8823","line":146,"updated":"2017-07-19 20:33:11.000000000","message":"I forgot what we do when we have deprecated stuff. Do we provide tests that test the deprecated and the new code?","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4da8adc14698b86c9613ea8f3ee14e3eda7b1a0c","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        self.assertNotEqual(v1.DEFAULT_VER, version)"},{"line_number":144,"context_line":"        kwargs \u003d {"},{"line_number":145,"context_line":"            \u0027project_name\u0027: \u0027PROJECT_NAME\u0027,"},{"line_number":146,"context_line":"            \u0027username\u0027: \u0027USERNAME\u0027,"},{"line_number":147,"context_line":"            \u0027password\u0027: \u0027PASSWORD\u0027,"},{"line_number":148,"context_line":"            \u0027auth_url\u0027: \u0027http://localhost:35357/v2.0\u0027,"},{"line_number":149,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf3e73b7_a1cfe87d","line":146,"in_reply_to":"1f1a1f67_f60a8823","updated":"2017-08-07 16:25:06.000000000","message":"Yeah. I did not want to double all the code here, so instead left the old options in some tests and in then in some tests I use the new ones.","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"}],"ironicclient/v1/client.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cc60c4c3b47e36b1e577833f3324fc7ee8cc3b43","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    \"\"\"Client for the Ironic v1 API."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    :param string endpoint: A user-supplied endpoint URL for the ironic"},{"line_number":38,"context_line":"                            service."},{"line_number":39,"context_line":"    :param function token: Provides token for authentication."},{"line_number":40,"context_line":"    :param integer timeout: Allows customization of the timeout for client"},{"line_number":41,"context_line":"                            http requests. (optional)"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_9aa2a1ad","line":38,"updated":"2017-09-27 21:36:59.000000000","message":"I suppose we should add a :param string endpoint_overide: ...","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    \"\"\"Client for the Ironic v1 API."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    :param string endpoint: A user-supplied endpoint URL for the ironic"},{"line_number":38,"context_line":"                            service."},{"line_number":39,"context_line":"    :param function token: Provides token for authentication."},{"line_number":40,"context_line":"    :param integer timeout: Allows customization of the timeout for client"},{"line_number":41,"context_line":"                            http requests. (optional)"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_37af3b7e","line":38,"in_reply_to":"7f515b1d_9aa2a1ad","updated":"2017-09-28 07:20:38.000000000","message":"Done","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cc60c4c3b47e36b1e577833f3324fc7ee8cc3b43","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        \"\"\"Initialize a new client for the Ironic v1 API.\"\"\""},{"line_number":46,"context_line":"        if endpoint_override is None and endpoint is not None:"},{"line_number":47,"context_line":"            LOG.warning(\u0027Passing endpoint parameter to Client constructor is \u0027"},{"line_number":48,"context_line":"                        \u0027deprecated, and it will be removed in Queens release.\u0027"},{"line_number":49,"context_line":"                        \u0027 Please use endpoint_override instead.\u0027)"},{"line_number":50,"context_line":"            endpoint_override \u003d endpoint"},{"line_number":51,"context_line":"        if kwargs.get(\u0027os_ironic_api_version\u0027):"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_3a2a8d2b","line":48,"updated":"2017-09-27 21:36:59.000000000","message":"s/Queens/Rocky/","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        \"\"\"Initialize a new client for the Ironic v1 API.\"\"\""},{"line_number":46,"context_line":"        if endpoint_override is None and endpoint is not None:"},{"line_number":47,"context_line":"            LOG.warning(\u0027Passing endpoint parameter to Client constructor is \u0027"},{"line_number":48,"context_line":"                        \u0027deprecated, and it will be removed in Queens release.\u0027"},{"line_number":49,"context_line":"                        \u0027 Please use endpoint_override instead.\u0027)"},{"line_number":50,"context_line":"            endpoint_override \u003d endpoint"},{"line_number":51,"context_line":"        if kwargs.get(\u0027os_ironic_api_version\u0027):"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_17b43fd0","line":48,"in_reply_to":"7f515b1d_3a2a8d2b","updated":"2017-09-28 07:20:38.000000000","message":"Done","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cc60c4c3b47e36b1e577833f3324fc7ee8cc3b43","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            LOG.warning(\u0027Passing endpoint parameter to Client constructor is \u0027"},{"line_number":48,"context_line":"                        \u0027deprecated, and it will be removed in Queens release.\u0027"},{"line_number":49,"context_line":"                        \u0027 Please use endpoint_override instead.\u0027)"},{"line_number":50,"context_line":"            endpoint_override \u003d endpoint"},{"line_number":51,"context_line":"        if kwargs.get(\u0027os_ironic_api_version\u0027):"},{"line_number":52,"context_line":"            kwargs[\u0027api_version_select_state\u0027] \u003d \"user\""},{"line_number":53,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_9a8bc11d","line":50,"updated":"2017-09-27 21:36:59.000000000","message":"Just wondering. Do we want to log a warning about endpoint being specified, if both endpoint_override AND endpoint are specified?","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d61e44bc9720e1c9e44c816719c6af6aa8810e45","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            LOG.warning(\u0027Passing endpoint parameter to Client constructor is \u0027"},{"line_number":48,"context_line":"                        \u0027deprecated, and it will be removed in Queens release.\u0027"},{"line_number":49,"context_line":"                        \u0027 Please use endpoint_override instead.\u0027)"},{"line_number":50,"context_line":"            endpoint_override \u003d endpoint"},{"line_number":51,"context_line":"        if kwargs.get(\u0027os_ironic_api_version\u0027):"},{"line_number":52,"context_line":"            kwargs[\u0027api_version_select_state\u0027] \u003d \"user\""},{"line_number":53,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_97b3840a","line":50,"in_reply_to":"7f515b1d_7707f383","updated":"2017-09-28 14:44:00.000000000","message":"if both are specified, there won\u0027t be any logged warning. They may not know to remove endpoint, and their code will fail after we remove the endpoint parameter. Or wait -- it won\u0027t fail, it\u0027ll be in kwargs and we\u0027ll ignore it. So it is OK.","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            LOG.warning(\u0027Passing endpoint parameter to Client constructor is \u0027"},{"line_number":48,"context_line":"                        \u0027deprecated, and it will be removed in Queens release.\u0027"},{"line_number":49,"context_line":"                        \u0027 Please use endpoint_override instead.\u0027)"},{"line_number":50,"context_line":"            endpoint_override \u003d endpoint"},{"line_number":51,"context_line":"        if kwargs.get(\u0027os_ironic_api_version\u0027):"},{"line_number":52,"context_line":"            kwargs[\u0027api_version_select_state\u0027] \u003d \"user\""},{"line_number":53,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_7707f383","line":50,"in_reply_to":"7f515b1d_9a8bc11d","updated":"2017-09-28 07:20:38.000000000","message":"dunno, I\u0027d think people would switch to it after having read this warning so it should be no surprise to them that if both are provided only override is used","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cc60c4c3b47e36b1e577833f3324fc7ee8cc3b43","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        else:"},{"line_number":54,"context_line":"            if not endpoint_override:"},{"line_number":55,"context_line":"                raise exc.EndpointException("},{"line_number":56,"context_line":"                    _(\"Must provide endpoint_override if os_ironic_api_version\""},{"line_number":57,"context_line":"                      \" isn\u0027t specified\"))"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"            # If the user didn\u0027t specify a version, use a cached version if"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_3adf2d3b","line":56,"updated":"2017-09-27 21:36:59.000000000","message":"I\u0027d probably keep the quotes, eg s/endpoint_override/\u0027endpoint_override\u0027/","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        else:"},{"line_number":54,"context_line":"            if not endpoint_override:"},{"line_number":55,"context_line":"                raise exc.EndpointException("},{"line_number":56,"context_line":"                    _(\"Must provide endpoint_override if os_ironic_api_version\""},{"line_number":57,"context_line":"                      \" isn\u0027t specified\"))"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"            # If the user didn\u0027t specify a version, use a cached version if"}],"source_content_type":"text/x-python","patch_set":23,"id":"7f515b1d_37fdfb6d","line":56,"in_reply_to":"7f515b1d_3adf2d3b","updated":"2017-09-28 07:20:38.000000000","message":"Done","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"}],"releasenotes/notes/deprecate-http-client-8d664e5ec50ec403.yaml":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da48b49ae43f89541bd93a009e5a56d4f1e9bad0","unresolved":false,"context_lines":[{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - HTTPClient class is deprecated and will be removed in Pike release. If you"},{"line_number":4,"context_line":"    initialize the ironic client via ``v1.client.Client`` class directly,"},{"line_number":5,"context_line":"    please pass the keystoneauth admin_token session to the Client constructor,"},{"line_number":6,"context_line":"    so that SessionClient is used instead."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"fa7ab95a_5af9bdc7","line":5,"range":{"start_line":5,"start_character":33,"end_line":5,"end_character":44},"updated":"2016-08-31 19:09:35.000000000","message":"Is it required to pass admin_token session only? It will not work with other tokens than admin?","commit_id":"b9744e3680e34bd7c26a09383fb99ef03fa76164"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"6a370fbfdd5d74f5dc03090f652c06131eb69826","unresolved":false,"context_lines":[{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - HTTPClient class is deprecated and will be removed in Pike release. If you"},{"line_number":4,"context_line":"    initialize the ironic client via ``v1.client.Client`` class directly,"},{"line_number":5,"context_line":"    please pass the keystoneauth admin_token session to the Client constructor,"},{"line_number":6,"context_line":"    so that SessionClient is used instead."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"fa7ab95a_e32588ae","line":5,"range":{"start_line":5,"start_character":33,"end_line":5,"end_character":44},"in_reply_to":"fa7ab95a_5af9bdc7","updated":"2016-08-31 19:34:45.000000000","message":"It is just a name of the auth method. What it does is pass the given token to the given endpoint, without trying to refresh the token. This is exactly what is needed for noauth case. It does not matter what token it is, even abcd can be passed here.","commit_id":"b9744e3680e34bd7c26a09383fb99ef03fa76164"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"990c69d9715b983797188677db573dc915246a43","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    admin_token session to the Client constructor, so that SessionClient is"},{"line_number":8,"context_line":"    used instead."},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    As part of standardizing argument naming to the one used by keystoneauth,"},{"line_number":11,"context_line":"    the following arguments to ``client.get_client`` method are deprecated:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    - ``os_auth_token`` - please use ``token`` instead"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"1f1a1f67_e310b559","line":10,"updated":"2017-07-19 20:33:11.000000000","message":"i wonder if we should s/keystoneauth/``keystoneauth``/ or provide a link. (Can we assume people know what it is? Maybe...)","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4da8adc14698b86c9613ea8f3ee14e3eda7b1a0c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    admin_token session to the Client constructor, so that SessionClient is"},{"line_number":8,"context_line":"    used instead."},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    As part of standardizing argument naming to the one used by keystoneauth,"},{"line_number":11,"context_line":"    the following arguments to ``client.get_client`` method are deprecated:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    - ``os_auth_token`` - please use ``token`` instead"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"bf3e73b7_6177c03c","line":10,"in_reply_to":"1f1a1f67_e310b559","updated":"2017-08-07 16:25:06.000000000","message":"Done","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"990c69d9715b983797188677db573dc915246a43","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    As part of standardizing argument naming to the one used by keystoneauth,"},{"line_number":11,"context_line":"    the following arguments to ``client.get_client`` method are deprecated:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    - ``os_auth_token`` - please use ``token`` instead"},{"line_number":14,"context_line":"      ``os_username`` - please use ``username`` instead"},{"line_number":15,"context_line":"      ``os_password`` - please use ``password`` instead"},{"line_number":16,"context_line":"      ``os_auth_url`` - please use ``auth_url`` instead"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"1f1a1f67_de3eacbf","line":13,"updated":"2017-07-19 20:33:11.000000000","message":"Rendered page is not pretty. I don\u0027t know if \u0027-\u0027 works, but i think for each of these arguments, they need to be preceded by the same thing. We seem to use \u0027*\u0027.\n\nI know it is nice to be polite, but maybe get rid of \u0027please\u0027. So something like\n\n* ``os_username``: use ``username`` instead\n* ...\n\nOr \u0027replaced by ``username``\u0027 ?\n\nI suppose you could also put this in a 2-column table, but bullets might be better/easier than rendering as a table.","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fa553cbecf0dded22ba1c7205026584baa59b0a5","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    As part of standardizing argument naming to the one used by keystoneauth,"},{"line_number":11,"context_line":"    the following arguments to ``client.get_client`` method are deprecated:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    - ``os_auth_token`` - please use ``token`` instead"},{"line_number":14,"context_line":"      ``os_username`` - please use ``username`` instead"},{"line_number":15,"context_line":"      ``os_password`` - please use ``password`` instead"},{"line_number":16,"context_line":"      ``os_auth_url`` - please use ``auth_url`` instead"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"ff346bd7_a260d5a6","line":13,"in_reply_to":"1f1a1f67_de3eacbf","updated":"2017-07-25 14:45:59.000000000","message":"Done","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fa553cbecf0dded22ba1c7205026584baa59b0a5","unresolved":false,"context_lines":[{"line_number":25,"context_line":"      ``os_project_domain_name`` - please use ``project_domain_name`` instead"},{"line_number":26,"context_line":"      ``os_service_type`` - please use ``service_type`` instead"},{"line_number":27,"context_line":"      ``os_endpoint_type`` - please use ``interface`` instead"},{"line_number":28,"context_line":"      ``ironic_url`` - please use ``endpoint`` instead"},{"line_number":29,"context_line":"      ``os_cacert``, ``ca_file`` - please use ``cacert`` instead"},{"line_number":30,"context_line":"      ``os_cert``, ``cert_file`` - please use ``cert`` instead"},{"line_number":31,"context_line":"      ``os_key``, ``key_file`` - please use ``key`` instead"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"ff346bd7_a20575c4","line":28,"range":{"start_line":28,"start_character":6,"end_line":28,"end_character":54},"updated":"2017-07-25 14:45:59.000000000","message":"This likely should detail endpoint_override given the following note entry.","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4da8adc14698b86c9613ea8f3ee14e3eda7b1a0c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"      ``os_project_domain_name`` - please use ``project_domain_name`` instead"},{"line_number":26,"context_line":"      ``os_service_type`` - please use ``service_type`` instead"},{"line_number":27,"context_line":"      ``os_endpoint_type`` - please use ``interface`` instead"},{"line_number":28,"context_line":"      ``ironic_url`` - please use ``endpoint`` instead"},{"line_number":29,"context_line":"      ``os_cacert``, ``ca_file`` - please use ``cacert`` instead"},{"line_number":30,"context_line":"      ``os_cert``, ``cert_file`` - please use ``cert`` instead"},{"line_number":31,"context_line":"      ``os_key``, ``key_file`` - please use ``key`` instead"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"bf3e73b7_41e15c9a","line":28,"range":{"start_line":28,"start_character":6,"end_line":28,"end_character":54},"in_reply_to":"ff346bd7_a20575c4","updated":"2017-08-07 16:25:06.000000000","message":"Hrm, so currently we do have an endpoint argument to the client.Client class and endpoint_override to v1.client.Client. Do you mean you\u0027d rather have endpoint_override everywhere?","commit_id":"afd639c374f5d157a0fb19638c5ece6d2701534f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"37a474c58bec6761d8782f00bcab97de6ca094b4","unresolved":false,"context_lines":[{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    ``common.http.HTTPClient`` class is deprecated and will be removed in"},{"line_number":5,"context_line":"    Queens release. If you initialize the ironic client via"},{"line_number":6,"context_line":"    ``v1.client.Client`` class directly, please pass the `keystoneauth"},{"line_number":7,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_ session to the Client"},{"line_number":8,"context_line":"    constructor, so that SessionClient is used instead."}],"source_content_type":"text/x-yaml","patch_set":20,"id":"7f515b1d_482c9401","line":5,"updated":"2017-09-26 14:41:56.000000000","message":"s/Queens/Rocky/ I\u0027m afraid (at least that\u0027s what your warning say)","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"72122b2f35d6e520a804f4a8ad5fc43a26fabcf9","unresolved":false,"context_lines":[{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    ``common.http.HTTPClient`` class is deprecated and will be removed in"},{"line_number":5,"context_line":"    Queens release. If you initialize the ironic client via"},{"line_number":6,"context_line":"    ``v1.client.Client`` class directly, please pass the `keystoneauth"},{"line_number":7,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_ session to the Client"},{"line_number":8,"context_line":"    constructor, so that SessionClient is used instead."}],"source_content_type":"text/x-yaml","patch_set":20,"id":"7f515b1d_c55734ca","line":5,"in_reply_to":"7f515b1d_482c9401","updated":"2017-09-27 06:03:54.000000000","message":"doh, right","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"37a474c58bec6761d8782f00bcab97de6ca094b4","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    * ``os_project_name``: use ``project_name`` instead"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    * ``os_tenant_id``: use ``tenant_id`` instead"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    * ``os_tenant_name``: use ``tenant_name`` instead"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"7f515b1d_282f18f7","line":26,"updated":"2017-09-26 14:41:56.000000000","message":"side note: shouldn\u0027t we deprecate this completely","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"72122b2f35d6e520a804f4a8ad5fc43a26fabcf9","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    * ``os_project_name``: use ``project_name`` instead"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    * ``os_tenant_id``: use ``tenant_id`` instead"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    * ``os_tenant_name``: use ``tenant_name`` instead"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"7f515b1d_a572f8ab","line":26,"in_reply_to":"7f515b1d_282f18f7","updated":"2017-09-27 06:03:54.000000000","message":"I don\u0027t think we should while keystone itself still supports it.","commit_id":"67301f1835cee38709fd181210ba3d57bfcfe16e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dd18c6368da8a7ffc083e8c0b7d3298120be21ef","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    ``common.http.HTTPClient`` class is deprecated and will be removed in"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7f515b1d_3dd3a7d7","line":1,"updated":"2017-09-27 22:01:50.000000000","message":"There is no mention of \u0027none\u0027 auth for standalone mode. But that\u0027s what the commit msg has. Is it worth mentioning?\n\nIt would be good to mention what these changes mean for people using the ironic (well, I care about the openstack baremetal CLI). The deprecation notes are geared towards people using the python API.","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    ``common.http.HTTPClient`` class is deprecated and will be removed in"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7f515b1d_97edcfb8","line":1,"in_reply_to":"7f515b1d_3dd3a7d7","updated":"2017-09-28 07:20:38.000000000","message":"Done","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dd18c6368da8a7ffc083e8c0b7d3298120be21ef","unresolved":false,"context_lines":[{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    ``common.http.HTTPClient`` class is deprecated and will be removed in"},{"line_number":5,"context_line":"    Rocky release. If you initialize the ironic client via"},{"line_number":6,"context_line":"    ``v1.client.Client`` class directly, please pass the `keystoneauth"},{"line_number":7,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_ session to the Client"},{"line_number":8,"context_line":"    constructor, so that SessionClient is used instead."}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7f515b1d_3dce07b4","line":5,"updated":"2017-09-27 22:01:50.000000000","message":"nit s/Rocky/the Rocky/","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    ``common.http.HTTPClient`` class is deprecated and will be removed in"},{"line_number":5,"context_line":"    Rocky release. If you initialize the ironic client via"},{"line_number":6,"context_line":"    ``v1.client.Client`` class directly, please pass the `keystoneauth"},{"line_number":7,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_ session to the Client"},{"line_number":8,"context_line":"    constructor, so that SessionClient is used instead."}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7f515b1d_57319759","line":5,"in_reply_to":"7f515b1d_3dce07b4","updated":"2017-09-28 07:20:38.000000000","message":"Done","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dd18c6368da8a7ffc083e8c0b7d3298120be21ef","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    Rocky release. If you initialize the ironic client via"},{"line_number":6,"context_line":"    ``v1.client.Client`` class directly, please pass the `keystoneauth"},{"line_number":7,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_ session to the Client"},{"line_number":8,"context_line":"    constructor, so that SessionClient is used instead."},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    As part of standardizing argument naming to the one used by `keystoneauth"},{"line_number":11,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_, the following"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7f515b1d_3d116705","line":8,"updated":"2017-09-27 22:01:50.000000000","message":"nit s/SessionClient/``common.http.SessionClient``/","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    Rocky release. If you initialize the ironic client via"},{"line_number":6,"context_line":"    ``v1.client.Client`` class directly, please pass the `keystoneauth"},{"line_number":7,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_ session to the Client"},{"line_number":8,"context_line":"    constructor, so that SessionClient is used instead."},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    As part of standardizing argument naming to the one used by `keystoneauth"},{"line_number":11,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_, the following"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7f515b1d_37329b5f","line":8,"in_reply_to":"7f515b1d_3d116705","updated":"2017-09-28 07:20:38.000000000","message":"Done","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dd18c6368da8a7ffc083e8c0b7d3298120be21ef","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_ session to the Client"},{"line_number":8,"context_line":"    constructor, so that SessionClient is used instead."},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    As part of standardizing argument naming to the one used by `keystoneauth"},{"line_number":11,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_, the following"},{"line_number":12,"context_line":"    arguments to ``client.get_client`` method are deprecated:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7f515b1d_9db97bcd","line":10,"updated":"2017-09-27 22:01:50.000000000","message":"i wonder if this is also a feature, that we are standardizing on the argument names.","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_ session to the Client"},{"line_number":8,"context_line":"    constructor, so that SessionClient is used instead."},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    As part of standardizing argument naming to the one used by `keystoneauth"},{"line_number":11,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_, the following"},{"line_number":12,"context_line":"    arguments to ``client.get_client`` method are deprecated:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7f515b1d_17379f4f","line":10,"in_reply_to":"7f515b1d_9db97bcd","updated":"2017-09-28 07:20:38.000000000","message":"don\u0027t think so :)","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dd18c6368da8a7ffc083e8c0b7d3298120be21ef","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    * ``os_key``, ``key_file``: use ``keyfile`` instead"},{"line_number":51,"context_line":"  - |"},{"line_number":52,"context_line":"    ``endpoint`` argument to ``v1.client.Client`` constructor is deprecated,"},{"line_number":53,"context_line":"    ``endpoint_override`` should be used instead as a standard keystoneauth"},{"line_number":54,"context_line":"    name."}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7f515b1d_7dd91f55","line":52,"updated":"2017-09-27 22:01:50.000000000","message":"s/``endpoint``/The ``endpoint``/\n\ns/to/to the/","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    * ``os_key``, ``key_file``: use ``keyfile`` instead"},{"line_number":51,"context_line":"  - |"},{"line_number":52,"context_line":"    ``endpoint`` argument to ``v1.client.Client`` constructor is deprecated,"},{"line_number":53,"context_line":"    ``endpoint_override`` should be used instead as a standard keystoneauth"},{"line_number":54,"context_line":"    name."}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7f515b1d_b7456bb6","line":52,"in_reply_to":"7f515b1d_7dd91f55","updated":"2017-09-28 07:20:38.000000000","message":"Done","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"dd18c6368da8a7ffc083e8c0b7d3298120be21ef","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  - |"},{"line_number":52,"context_line":"    ``endpoint`` argument to ``v1.client.Client`` constructor is deprecated,"},{"line_number":53,"context_line":"    ``endpoint_override`` should be used instead as a standard keystoneauth"},{"line_number":54,"context_line":"    name."}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7f515b1d_7d959f32","line":54,"updated":"2017-09-27 22:01:50.000000000","message":"how about \n\nThe ``endpoint`` argument to the ``v1.client.Client`` constructor is deprecated. Instead, please use the standard keystoneauth (add your favorite link to keystonauth here) argument name ``endpoint_override``.","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e300c95d9df1186a66e8ed9ac9601b2b93d57e1e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  - |"},{"line_number":52,"context_line":"    ``endpoint`` argument to ``v1.client.Client`` constructor is deprecated,"},{"line_number":53,"context_line":"    ``endpoint_override`` should be used instead as a standard keystoneauth"},{"line_number":54,"context_line":"    name."}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7f515b1d_97426faa","line":54,"in_reply_to":"7f515b1d_7d959f32","updated":"2017-09-28 07:20:38.000000000","message":"Done","commit_id":"990def8b1e81ded032ede3bd1a933618f69bf8d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d61e44bc9720e1c9e44c816719c6af6aa8810e45","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic client now supports ``none`` authorization method, which should be"},{"line_number":4,"context_line":"    used if there is no keystone present in the deployment client talks to. To"},{"line_number":5,"context_line":"    use it, one should only pass ``--ironic-url`` or ``--os-endpoint`` argument"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"7f515b1d_a21f5c59","line":2,"updated":"2017-09-28 14:44:00.000000000","message":"You\u0027re going to hate me. I was just thinking. We\u0027re going to deprecate the ironic CLI in Queens. Do we want to mention that this is possible (or even change the code to support it?)","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ff42efc4a1739d3eb019d1ca6d8072f471b1652c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic client now supports ``none`` authorization method, which should be"},{"line_number":4,"context_line":"    used if there is no keystone present in the deployment client talks to. To"},{"line_number":5,"context_line":"    use it, one should only pass ``--ironic-url`` or ``--os-endpoint`` argument"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"7f515b1d_14c42790","line":2,"in_reply_to":"7f515b1d_a21f5c59","updated":"2017-09-28 22:00:23.000000000","message":"dunno, I think why not? in the shell part it\u0027s not much code anyway, and it just makes things clearer as people won\u0027t have to pass fake tokens... open to other opinions tho","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d61e44bc9720e1c9e44c816719c6af6aa8810e45","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic client now supports ``none`` authorization method, which should be"},{"line_number":4,"context_line":"    used if there is no keystone present in the deployment client talks to. To"},{"line_number":5,"context_line":"    use it, one should only pass ``--ironic-url`` or ``--os-endpoint`` argument"},{"line_number":6,"context_line":"    to the ironic CLI, or, if python API is used, only ``endpoint_override``"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"7f515b1d_b77fa0de","line":3,"updated":"2017-09-28 14:44:00.000000000","message":"s/Ironic client/The client/","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ff42efc4a1739d3eb019d1ca6d8072f471b1652c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic client now supports ``none`` authorization method, which should be"},{"line_number":4,"context_line":"    used if there is no keystone present in the deployment client talks to. To"},{"line_number":5,"context_line":"    use it, one should only pass ``--ironic-url`` or ``--os-endpoint`` argument"},{"line_number":6,"context_line":"    to the ironic CLI, or, if python API is used, only ``endpoint_override``"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"7f515b1d_f48e2b77","line":3,"in_reply_to":"7f515b1d_b77fa0de","updated":"2017-09-28 22:00:23.000000000","message":"Done","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d61e44bc9720e1c9e44c816719c6af6aa8810e45","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic client now supports ``none`` authorization method, which should be"},{"line_number":4,"context_line":"    used if there is no keystone present in the deployment client talks to. To"},{"line_number":5,"context_line":"    use it, one should only pass ``--ironic-url`` or ``--os-endpoint`` argument"},{"line_number":6,"context_line":"    to the ironic CLI, or, if python API is used, only ``endpoint_override``"},{"line_number":7,"context_line":"    argument to ``client.get_client`` method (apart from the required"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"7f515b1d_779b6865","line":4,"updated":"2017-09-28 14:44:00.000000000","message":"s/deployment client talks/deployment that the client/\n\nI\u0027m not sure if we should use \u0027keystone\u0027. How about \u0027used if the Identity service (keystone) is not present...\u0027","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ff42efc4a1739d3eb019d1ca6d8072f471b1652c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ironic client now supports ``none`` authorization method, which should be"},{"line_number":4,"context_line":"    used if there is no keystone present in the deployment client talks to. To"},{"line_number":5,"context_line":"    use it, one should only pass ``--ironic-url`` or ``--os-endpoint`` argument"},{"line_number":6,"context_line":"    to the ironic CLI, or, if python API is used, only ``endpoint_override``"},{"line_number":7,"context_line":"    argument to ``client.get_client`` method (apart from the required"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"7f515b1d_d48b2f65","line":4,"in_reply_to":"7f515b1d_779b6865","updated":"2017-09-28 22:00:23.000000000","message":"yeah some identity service should be a more generic description","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d61e44bc9720e1c9e44c816719c6af6aa8810e45","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    use it, one should only pass ``--ironic-url`` or ``--os-endpoint`` argument"},{"line_number":6,"context_line":"    to the ironic CLI, or, if python API is used, only ``endpoint_override``"},{"line_number":7,"context_line":"    argument to ``client.get_client`` method (apart from the required"},{"line_number":8,"context_line":"    ``api_version``). OpenStack client CLI supported it sice it was introduced,"},{"line_number":9,"context_line":"    and there is no change in how it works there."},{"line_number":10,"context_line":"deprecations:"},{"line_number":11,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"7f515b1d_d7f1fc6c","line":8,"updated":"2017-09-28 14:44:00.000000000","message":"nit s/sice/since/","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ff42efc4a1739d3eb019d1ca6d8072f471b1652c","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    use it, one should only pass ``--ironic-url`` or ``--os-endpoint`` argument"},{"line_number":6,"context_line":"    to the ironic CLI, or, if python API is used, only ``endpoint_override``"},{"line_number":7,"context_line":"    argument to ``client.get_client`` method (apart from the required"},{"line_number":8,"context_line":"    ``api_version``). OpenStack client CLI supported it sice it was introduced,"},{"line_number":9,"context_line":"    and there is no change in how it works there."},{"line_number":10,"context_line":"deprecations:"},{"line_number":11,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"7f515b1d_b4eaf30b","line":8,"in_reply_to":"7f515b1d_d7f1fc6c","updated":"2017-09-28 22:00:23.000000000","message":"Done","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d61e44bc9720e1c9e44c816719c6af6aa8810e45","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    to the ironic CLI, or, if python API is used, only ``endpoint_override``"},{"line_number":7,"context_line":"    argument to ``client.get_client`` method (apart from the required"},{"line_number":8,"context_line":"    ``api_version``). OpenStack client CLI supported it sice it was introduced,"},{"line_number":9,"context_line":"    and there is no change in how it works there."},{"line_number":10,"context_line":"deprecations:"},{"line_number":11,"context_line":"  - |"},{"line_number":12,"context_line":"    ``common.http.HTTPClient`` class is deprecated and will be removed in"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"7f515b1d_f7287897","line":9,"updated":"2017-09-28 14:44:00.000000000","message":"what do you think about changing the above to bullet form. E.g.:\n\nTo use it:\n\n* openstack baremetal CLI: no change; this has always been supported\n* ironic CLI: just specify the --ironic-url or --os-endpoint argument in the ironic command (or set the corresponding environment variable)\n* python API: specify the endpoint_override argument to the client.get_client() method (in addition to the required api_version)","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ff42efc4a1739d3eb019d1ca6d8072f471b1652c","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    to the ironic CLI, or, if python API is used, only ``endpoint_override``"},{"line_number":7,"context_line":"    argument to ``client.get_client`` method (apart from the required"},{"line_number":8,"context_line":"    ``api_version``). OpenStack client CLI supported it sice it was introduced,"},{"line_number":9,"context_line":"    and there is no change in how it works there."},{"line_number":10,"context_line":"deprecations:"},{"line_number":11,"context_line":"  - |"},{"line_number":12,"context_line":"    ``common.http.HTTPClient`` class is deprecated and will be removed in"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"7f515b1d_34de036d","line":9,"in_reply_to":"7f515b1d_f7287897","updated":"2017-09-28 22:00:23.000000000","message":"sure, lgtm :)","commit_id":"3215469b03efe652844a9b3f00b589cb4928d797"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"a8a30bbbdbfe8819a97944a019e19e91463e1394","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    used if the Identity service is not present in the deployment that the"},{"line_number":6,"context_line":"    client talks to. To use it:"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - openstack baremetal CLI -- no change; this has always been supported"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    - ironic CLI -- just specify the ``--ironic-url`` or ``--os-endpoint``"},{"line_number":11,"context_line":"      argument in the ironic command (or set the corresponding environment"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"5f4e5783_d57a0db8","line":8,"updated":"2017-10-16 22:19:15.000000000","message":"hey, how did this work? I tested the ironic CLI, but am not sure how it worked in osc...","commit_id":"d82c3ca79cef08c72162286fa2a45806ebb03120"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"81477eedbb8257682b65a3bd4ec21e32cfd6bf2f","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    used if the Identity service is not present in the deployment that the"},{"line_number":6,"context_line":"    client talks to. To use it:"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - openstack baremetal CLI -- no change; this has always been supported"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    - ironic CLI -- just specify the ``--ironic-url`` or ``--os-endpoint``"},{"line_number":11,"context_line":"      argument in the ironic command (or set the corresponding environment"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"5f4e5783_1109c694","line":8,"in_reply_to":"5f4e5783_9176d66f","updated":"2017-10-17 13:52:50.000000000","message":"If memory serves, that is coming out of the lookup construction for the endpoint.","commit_id":"d82c3ca79cef08c72162286fa2a45806ebb03120"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"0651e3701b151979f8811b38c374b98aa60e23fd","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    used if the Identity service is not present in the deployment that the"},{"line_number":6,"context_line":"    client talks to. To use it:"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - openstack baremetal CLI -- no change; this has always been supported"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    - ironic CLI -- just specify the ``--ironic-url`` or ``--os-endpoint``"},{"line_number":11,"context_line":"      argument in the ironic command (or set the corresponding environment"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"5f4e5783_ff015a6b","line":8,"in_reply_to":"5f4e5783_d57a0db8","updated":"2017-10-17 09:49:22.000000000","message":"iiuc it was working with osc since the new keystoneauth became a requirement for osc. can be tested with the following command:\n\n openstack --os-auth-type none --os-url URL baremetal node list","commit_id":"d82c3ca79cef08c72162286fa2a45806ebb03120"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"5e646f47ebdd6f7783ff31c3e0a43fd16ae6360f","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    used if the Identity service is not present in the deployment that the"},{"line_number":6,"context_line":"    client talks to. To use it:"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - openstack baremetal CLI -- no change; this has always been supported"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    - ironic CLI -- just specify the ``--ironic-url`` or ``--os-endpoint``"},{"line_number":11,"context_line":"      argument in the ironic command (or set the corresponding environment"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"5f4e5783_9176d66f","line":8,"in_reply_to":"5f4e5783_ff015a6b","updated":"2017-10-17 13:47:37.000000000","message":"I tried that with and without your patch (using python-openstackclient 3.12.0), and got:\n\nCommandError: Missing parameter(s): \nSet a cloud-name with --os-cloud or OS_CLOUD","commit_id":"d82c3ca79cef08c72162286fa2a45806ebb03120"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"0ff51800ed6becd040f084c9cb8d8d4ab979e2fb","unresolved":false,"context_lines":[{"line_number":26,"context_line":"  - |"},{"line_number":27,"context_line":"    As part of standardizing argument naming to the one used by `keystoneauth"},{"line_number":28,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_, the following"},{"line_number":29,"context_line":"    arguments to ``client.get_client`` method are deprecated:"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    * ``os_auth_token``: use ``token`` instead"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":32,"id":"5f7c97a3_46bda9b5","line":29,"updated":"2018-05-07 13:46:23.000000000","message":"I was looking at the release notes, and it occurred to me that we ought to mention here and for L69, that support will be removed in the Stein release. (Because it is only mentioned above, which is a separate bullet.)","commit_id":"a93029babbb0e2fdc3b216d2b62e0f1cc8304ac6"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"6dc1b482ed1d5c1b329fd14cacbf027e3b20662e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"  - |"},{"line_number":27,"context_line":"    As part of standardizing argument naming to the one used by `keystoneauth"},{"line_number":28,"context_line":"    \u003chttps://docs.openstack.org/keystoneauth/latest/\u003e`_, the following"},{"line_number":29,"context_line":"    arguments to ``client.get_client`` method are deprecated:"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    * ``os_auth_token``: use ``token`` instead"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":32,"id":"5f7c97a3_e63ab5e5","line":29,"in_reply_to":"5f7c97a3_46bda9b5","updated":"2018-05-07 13:53:20.000000000","message":"makes sense, done","commit_id":"a93029babbb0e2fdc3b216d2b62e0f1cc8304ac6"}]}
