)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":37898,"name":"Piotr Korthals","email":"pkorthals@task.gda.pl","username":"korthals.piotr"},"change_message_id":"8ef2c3eeeccd437a2080707702a4a86d28446bbb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5f4db3ef_e4f1c08b","updated":"2025-04-24 06:31:57.000000000","message":"I\u0027ve verified that i am able to configure oslo.limit with this fix to use correct endpoint.\n\nBut it looks like `valid_interfaces` does not work here. I tried setting it to single element list [\u0027internal\u0027]. and it always uses public interface. Only way that works for me is to set `endpoint_override` to point directly to internal identity endpoint.","commit_id":"64e830074d483a30fcff73e6b88f9636a7867bce"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"eda81d9cbadc5f308793c616b813bdebe09be497","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f3f2cb86_b9797c03","in_reply_to":"5f4db3ef_e4f1c08b","updated":"2025-04-24 14:58:13.000000000","message":"Could you try the updated version ? It seems Connection object ignores valid_interfaces and it should be translated to interface. This conversion is implemented in the logic to parse oslo config but is not in the logic to parse arguments.","commit_id":"64e830074d483a30fcff73e6b88f9636a7867bce"},{"author":{"_account_id":37898,"name":"Piotr Korthals","email":"pkorthals@task.gda.pl","username":"korthals.piotr"},"change_message_id":"7f921a172334ef28db5ccc675f105608e208438b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"44c6b22f_c326f9e7","in_reply_to":"f3f2cb86_b9797c03","updated":"2025-04-25 15:27:37.000000000","message":"Done","commit_id":"64e830074d483a30fcff73e6b88f9636a7867bce"},{"author":{"_account_id":37898,"name":"Piotr Korthals","email":"pkorthals@task.gda.pl","username":"korthals.piotr"},"change_message_id":"7c2e23cbfb22eda06f31375f6c6340ff8d52ea5f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"533b0ffb_fc500e1e","updated":"2025-04-24 20:19:46.000000000","message":"I am not sure casting list to interface, even after fixing peaking first element is perfect solution.","commit_id":"f351266cba76cf9aa7791432611088134edaf943"},{"author":{"_account_id":37898,"name":"Piotr Korthals","email":"pkorthals@task.gda.pl","username":"korthals.piotr"},"change_message_id":"5dbf5f6c4b2dde9e2b45489aa1908af625ba41ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"85ac7a2c_034ad3ea","updated":"2025-04-25 15:14:10.000000000","message":"I verified code one more time and i confirm it is working as expected.","commit_id":"f351266cba76cf9aa7791432611088134edaf943"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"7967a577d24ae243a23d5eeeb6032ff5c8350a9b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d3e997dd_a8dff45d","updated":"2025-05-26 08:07:29.000000000","message":"Thanks Takashi","commit_id":"f351266cba76cf9aa7791432611088134edaf943"}],"oslo_limit/limit.py":[{"author":{"_account_id":37898,"name":"Piotr Korthals","email":"pkorthals@task.gda.pl","username":"korthals.piotr"},"change_message_id":"8ef2c3eeeccd437a2080707702a4a86d28446bbb","unresolved":true,"context_lines":[{"line_number":44,"context_line":"                include_deprecated\u003dFalse)"},{"line_number":45,"context_line":"            conn_kwargs \u003d {}"},{"line_number":46,"context_line":"            for opt in ksa_opts:"},{"line_number":47,"context_line":"                opt_name \u003d opt.name.replace(\u0027-\u0027, \u0027_\u0027)"},{"line_number":48,"context_line":"                conn_kwargs[\u0027identity_\u0027 + opt_name] \u003d getattr("},{"line_number":49,"context_line":"                    CONF.oslo_limit, opt_name)"},{"line_number":50,"context_line":"            _SDK_CONNECTION \u003d connection.Connection("}],"source_content_type":"text/x-python","patch_set":3,"id":"3f2d15a7_c4fe1e3e","line":47,"updated":"2025-04-24 06:31:57.000000000","message":"I think you should use `opt.dest` instead of `opt.name`.\n\n```suggestion\n                opt_name \u003d opt.dest\n```\n\nor just use `opt.dest` directly","commit_id":"64e830074d483a30fcff73e6b88f9636a7867bce"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"eda81d9cbadc5f308793c616b813bdebe09be497","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                include_deprecated\u003dFalse)"},{"line_number":45,"context_line":"            conn_kwargs \u003d {}"},{"line_number":46,"context_line":"            for opt in ksa_opts:"},{"line_number":47,"context_line":"                opt_name \u003d opt.name.replace(\u0027-\u0027, \u0027_\u0027)"},{"line_number":48,"context_line":"                conn_kwargs[\u0027identity_\u0027 + opt_name] \u003d getattr("},{"line_number":49,"context_line":"                    CONF.oslo_limit, opt_name)"},{"line_number":50,"context_line":"            _SDK_CONNECTION \u003d connection.Connection("}],"source_content_type":"text/x-python","patch_set":3,"id":"fbd93cea_02162321","line":47,"in_reply_to":"3f2d15a7_c4fe1e3e","updated":"2025-04-24 14:58:13.000000000","message":"makes sense ?","commit_id":"64e830074d483a30fcff73e6b88f9636a7867bce"},{"author":{"_account_id":37898,"name":"Piotr Korthals","email":"pkorthals@task.gda.pl","username":"korthals.piotr"},"change_message_id":"7c2e23cbfb22eda06f31375f6c6340ff8d52ea5f","unresolved":true,"context_lines":[{"line_number":48,"context_line":"                    conn_kwargs[\u0027identity_\u0027 + opt.dest] \u003d getattr("},{"line_number":49,"context_line":"                        CONF.oslo_limit, opt.dest)"},{"line_number":50,"context_line":"            conn_kwargs[\u0027identity_interface\u0027] \u003d \\"},{"line_number":51,"context_line":"                CONF.oslo_limit.valid_interfaces"},{"line_number":52,"context_line":"            _SDK_CONNECTION \u003d connection.Connection("},{"line_number":53,"context_line":"                session\u003dsession,"},{"line_number":54,"context_line":"                **conn_kwargs"}],"source_content_type":"text/x-python","patch_set":5,"id":"063b9527_c0251ca7","line":51,"updated":"2025-04-24 20:19:46.000000000","message":"```suggestion\n                CONF.oslo_limit.valid_interfaces[0]\n```\nSince `valid_interfaces` is list and `identity_interface` should be string.\n\nMaybe it would be good idea to add test for verification of connection parameters?\n\nCurrently i am testing with something like this: https://paste.opendev.org/show/bgM3WGdTXUFO0GHAUWoA/\n\nI know it need some sharpening but it may be goo start point.","commit_id":"f351266cba76cf9aa7791432611088134edaf943"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"c2ed75dcfd6459c3c6e41ac3efd9d511ddafcdfd","unresolved":true,"context_lines":[{"line_number":48,"context_line":"                    conn_kwargs[\u0027identity_\u0027 + opt.dest] \u003d getattr("},{"line_number":49,"context_line":"                        CONF.oslo_limit, opt.dest)"},{"line_number":50,"context_line":"            conn_kwargs[\u0027identity_interface\u0027] \u003d \\"},{"line_number":51,"context_line":"                CONF.oslo_limit.valid_interfaces"},{"line_number":52,"context_line":"            _SDK_CONNECTION \u003d connection.Connection("},{"line_number":53,"context_line":"                session\u003dsession,"},{"line_number":54,"context_line":"                **conn_kwargs"}],"source_content_type":"text/x-python","patch_set":5,"id":"bc6e824b_1be9c4d7","line":51,"in_reply_to":"063b9527_c0251ca7","updated":"2025-04-25 03:30:12.000000000","message":"The underlying keystoneauth implementation is supposed to accept a list for interface. If not then it\u0027s likely a bug in ksa. The reason why valid_intefaces replaced interface was to accept the list here is to provide fallback and if we do [0] then valid_interfaces do not work as expected.","commit_id":"f351266cba76cf9aa7791432611088134edaf943"},{"author":{"_account_id":37898,"name":"Piotr Korthals","email":"pkorthals@task.gda.pl","username":"korthals.piotr"},"change_message_id":"5dbf5f6c4b2dde9e2b45489aa1908af625ba41ae","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                    conn_kwargs[\u0027identity_\u0027 + opt.dest] \u003d getattr("},{"line_number":49,"context_line":"                        CONF.oslo_limit, opt.dest)"},{"line_number":50,"context_line":"            conn_kwargs[\u0027identity_interface\u0027] \u003d \\"},{"line_number":51,"context_line":"                CONF.oslo_limit.valid_interfaces"},{"line_number":52,"context_line":"            _SDK_CONNECTION \u003d connection.Connection("},{"line_number":53,"context_line":"                session\u003dsession,"},{"line_number":54,"context_line":"                **conn_kwargs"}],"source_content_type":"text/x-python","patch_set":5,"id":"cf5b54d6_6f96770d","line":51,"in_reply_to":"bc6e824b_1be9c4d7","updated":"2025-04-25 15:14:10.000000000","message":"Sorry you are right it works as expected with list.","commit_id":"f351266cba76cf9aa7791432611088134edaf943"}]}
