)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"1cd854594a662e0a77bf0a30e99a391d43228f1d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"13adca3a_6022289a","updated":"2024-01-17 16:23:19.000000000","message":"For me the approach using oslo_config looks like a right solution (as proposed in https://review.opendev.org/c/openstack/octavia/+/905805 and also version 1 of this review), but did you see any problem with it ?","commit_id":"efd289b950b32d3e6ad160b7c7f2901bca7c7e55"},{"author":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"change_message_id":"197f120ec7293d8238d8e107985da9079cc59de5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fca9f417_572ee847","updated":"2024-01-17 22:00:27.000000000","message":"This patch worked for me but ONLY if I set `[neutron]/valid_interfaces`.  If I kept the old configuration value of `endpoint_type` only, it did not work.\n\nIt\u0027s fine for me, but for backwards compatibility, perhaps it would be better to somehow respect that first?","commit_id":"efd289b950b32d3e6ad160b7c7f2901bca7c7e55"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"4c8c497ab72d0914bdcde25fb6a068e8e01c573a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9b4c3773_5a0032c1","in_reply_to":"13adca3a_6022289a","updated":"2024-01-17 18:01:07.000000000","message":"using oslo_config can only work properly when we migrate/translate all old configs to the proper one in CONF.neutron in this case.\nOtherwise, current config option might not fulfill the needs.\nfor example existing environment config option might not provides `CONF.neutron.interface` but `CONF.neutron.valid_interfaces` and it causes the problem here.\nfor now oslo_conf option block providing kwages that\u0027s why didn\u0027t include it for now. https://github.com/openstack/openstacksdk/blob/master/openstack/connection.py#L403\n\nOnce we tranlate configs as new feature, we can add oslo_conf back here. But prefer we add it as a separate patch set as it\u0027s not a backport candidate.","commit_id":"efd289b950b32d3e6ad160b7c7f2901bca7c7e55"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"82d0b02382ee47a4f8bd68db408eb1a6b9a99b82","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7a809b65_4fb21c07","in_reply_to":"289450e0_7b61ec87","updated":"2024-01-18 05:05:03.000000000","message":"I think this should be the reason why you need to set both configs https://review.opendev.org/c/openstack/octavia/+/906021/1","commit_id":"efd289b950b32d3e6ad160b7c7f2901bca7c7e55"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"006cacf39aa4b35906c134163502f5862b9deef4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"cfc95833_b9cf66dd","in_reply_to":"7a809b65_4fb21c07","updated":"2024-01-18 07:06:40.000000000","message":"Actually found neutron.endpoint_type have no default value, so it\u0027s not the reason why neutron.endpoint_type not reflect to neutron.valid_interface","commit_id":"efd289b950b32d3e6ad160b7c7f2901bca7c7e55"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"af489de303f81398eb25c4e687835e4946493a76","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"289450e0_7b61ec87","in_reply_to":"fca9f417_572ee847","updated":"2024-01-18 04:26:50.000000000","message":"hum, I thought this part was handling neutron deprecate configs for us\nhttps://github.com/openstack/octavia/blob/stable/2023.2/octavia/common/config.py#L948-L952\n\nLet me check again","commit_id":"efd289b950b32d3e6ad160b7c7f2901bca7c7e55"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"dcd4442353d8dc8ec72b17f5536b7f696327866d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2808e384_09154c1f","updated":"2024-01-30 07:13:28.000000000","message":"@rico @mnaser can you add a release note?","commit_id":"fece1c2911a087cfe8763c4fbaa8e9508bd025bb"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6dfebfa3595a060c6d1e72d47dd766c50575f886","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"75174f3e_7dded045","updated":"2024-02-22 23:02:57.000000000","message":"LGTM","commit_id":"7352dc8f1eca62870f5e5a351e3cfcbccc3f3260"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"ed22d9178973887977970f88d2c1222bcf8ac2cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"e4756bce_df28fb87","updated":"2024-03-07 08:28:06.000000000","message":"LGTM Thanks","commit_id":"7352dc8f1eca62870f5e5a351e3cfcbccc3f3260"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"49e8cb9d843ed18f654457df5a9d73628f81ba2b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"d700d64f_b12331be","updated":"2024-03-08 04:08:29.000000000","message":"recheck","commit_id":"7352dc8f1eca62870f5e5a351e3cfcbccc3f3260"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"9b5dc30f19b655fb3ce54b29d4838eb905bffce7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"1442416f_5a2febce","updated":"2024-03-07 10:18:15.000000000","message":"recheck haproxy crash","commit_id":"7352dc8f1eca62870f5e5a351e3cfcbccc3f3260"}],"octavia/common/clients.py":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"b6353b58de2169e234821228159c3dd9b87b464d","unresolved":true,"context_lines":[{"line_number":84,"context_line":"            # We can move away from this when openstacksdk no longer depends"},{"line_number":85,"context_line":"            # on `interface`."},{"line_number":86,"context_line":"            interface \u003d CONF.neutron.valid_interfaces[0] if ("},{"line_number":87,"context_line":"                type(CONF.neutron.valid_interfaces) is list and len("},{"line_number":88,"context_line":"                    CONF.neutron.valid_interfaces) \u003e 0"},{"line_number":89,"context_line":"            ) else CONF.neutron.valid_interfaces"},{"line_number":90,"context_line":"            if interface:"}],"source_content_type":"text/x-python","patch_set":7,"id":"2c860101_7005d325","line":87,"range":{"start_line":87,"start_character":21,"end_line":87,"end_character":50},"updated":"2024-01-18 10:37:03.000000000","message":"question: is there a case where valid_interfaces is not a list?","commit_id":"a6b83f8d474edbaca2f282ebc1f5f5d09ced22be"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"6244a1c0713ca35570ea67c2d46711f8c0a9017a","unresolved":true,"context_lines":[{"line_number":84,"context_line":"            # We can move away from this when openstacksdk no longer depends"},{"line_number":85,"context_line":"            # on `interface`."},{"line_number":86,"context_line":"            interface \u003d CONF.neutron.valid_interfaces[0] if ("},{"line_number":87,"context_line":"                type(CONF.neutron.valid_interfaces) is list and len("},{"line_number":88,"context_line":"                    CONF.neutron.valid_interfaces) \u003e 0"},{"line_number":89,"context_line":"            ) else CONF.neutron.valid_interfaces"},{"line_number":90,"context_line":"            if interface:"}],"source_content_type":"text/x-python","patch_set":7,"id":"c535206b_43f2fde0","line":87,"range":{"start_line":87,"start_character":21,"end_line":87,"end_character":50},"in_reply_to":"2a074a38_75952fb8","updated":"2024-01-31 08:52:21.000000000","message":"This seems more pythonic and simpler to me.\n```\ntry:\n    interface \u003d CONF.neutron.valid_interfaces[0]\nexcept (TypeError, LookupError):\n    interface \u003d CONF.neutron.valid_interfaces\n```","commit_id":"a6b83f8d474edbaca2f282ebc1f5f5d09ced22be"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"51e6b3de225f91039931a1f07008b45b37e5e8df","unresolved":true,"context_lines":[{"line_number":84,"context_line":"            # We can move away from this when openstacksdk no longer depends"},{"line_number":85,"context_line":"            # on `interface`."},{"line_number":86,"context_line":"            interface \u003d CONF.neutron.valid_interfaces[0] if ("},{"line_number":87,"context_line":"                type(CONF.neutron.valid_interfaces) is list and len("},{"line_number":88,"context_line":"                    CONF.neutron.valid_interfaces) \u003e 0"},{"line_number":89,"context_line":"            ) else CONF.neutron.valid_interfaces"},{"line_number":90,"context_line":"            if interface:"}],"source_content_type":"text/x-python","patch_set":7,"id":"2a074a38_75952fb8","line":87,"range":{"start_line":87,"start_character":21,"end_line":87,"end_character":50},"in_reply_to":"2c860101_7005d325","updated":"2024-01-19 04:05:29.000000000","message":"Most likely a list, but it could be empty list or None","commit_id":"a6b83f8d474edbaca2f282ebc1f5f5d09ced22be"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"ce9b61579cf579f2fe45b57c39328fb2ec9f1766","unresolved":true,"context_lines":[{"line_number":84,"context_line":"            # We can move away from this when openstacksdk no longer depends"},{"line_number":85,"context_line":"            # on `interface`."},{"line_number":86,"context_line":"            interface \u003d CONF.neutron.valid_interfaces[0] if ("},{"line_number":87,"context_line":"                type(CONF.neutron.valid_interfaces) is list and len("},{"line_number":88,"context_line":"                    CONF.neutron.valid_interfaces) \u003e 0"},{"line_number":89,"context_line":"            ) else CONF.neutron.valid_interfaces"},{"line_number":90,"context_line":"            if interface:"}],"source_content_type":"text/x-python","patch_set":7,"id":"b831cd57_3e839213","line":87,"range":{"start_line":87,"start_character":21,"end_line":87,"end_character":50},"in_reply_to":"2d41f013_8247e064","updated":"2024-02-07 08:47:34.000000000","message":"I won\u0027t CR-1 your patch because of that, but you won\u0027t get a CR+2 from me with this either. 😊\n\nI understand what you mean, but in this case I really think that the \"easier to ask for forgiveness than permission\" style is the better one. The risk that errors get covered accidentally is basically zero.","commit_id":"a6b83f8d474edbaca2f282ebc1f5f5d09ced22be"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"12af738be1538879f4d0393afb7fd4e4a0f880d0","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            # We can move away from this when openstacksdk no longer depends"},{"line_number":85,"context_line":"            # on `interface`."},{"line_number":86,"context_line":"            interface \u003d CONF.neutron.valid_interfaces[0] if ("},{"line_number":87,"context_line":"                type(CONF.neutron.valid_interfaces) is list and len("},{"line_number":88,"context_line":"                    CONF.neutron.valid_interfaces) \u003e 0"},{"line_number":89,"context_line":"            ) else CONF.neutron.valid_interfaces"},{"line_number":90,"context_line":"            if interface:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1e916c0a_993358ed","line":87,"range":{"start_line":87,"start_character":21,"end_line":87,"end_character":50},"in_reply_to":"b831cd57_3e839213","updated":"2024-02-15 06:29:18.000000000","message":"and done","commit_id":"a6b83f8d474edbaca2f282ebc1f5f5d09ced22be"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"eb04b87d453294da6b0b283f4e983c6b3abd19d1","unresolved":true,"context_lines":[{"line_number":84,"context_line":"            # We can move away from this when openstacksdk no longer depends"},{"line_number":85,"context_line":"            # on `interface`."},{"line_number":86,"context_line":"            interface \u003d CONF.neutron.valid_interfaces[0] if ("},{"line_number":87,"context_line":"                type(CONF.neutron.valid_interfaces) is list and len("},{"line_number":88,"context_line":"                    CONF.neutron.valid_interfaces) \u003e 0"},{"line_number":89,"context_line":"            ) else CONF.neutron.valid_interfaces"},{"line_number":90,"context_line":"            if interface:"}],"source_content_type":"text/x-python","patch_set":7,"id":"2d41f013_8247e064","line":87,"range":{"start_line":87,"start_character":21,"end_line":87,"end_character":50},"in_reply_to":"c535206b_43f2fde0","updated":"2024-02-07 08:20:45.000000000","message":"thanks for the suggestion, TBH I kind of rather stay away from trigger exceptions as it might accidentally cover errors that suppose to expose to users.\nBut I have no insist on ether one. So let me know if this is a blocker for you. I can change it for sure.","commit_id":"a6b83f8d474edbaca2f282ebc1f5f5d09ced22be"}],"releasenotes/notes/add-neutron-client-interface-info-06faaaad92886b8c.yaml":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"6244a1c0713ca35570ea67c2d46711f8c0a9017a","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Specify endpoint information for neutron client. This fix wrong endpoint"},{"line_number":5,"context_line":"    type passing to openstacksdk."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"767797b0_476105a2","line":5,"range":{"start_line":4,"start_character":3,"end_line":5,"end_character":33},"updated":"2024-01-31 08:52:21.000000000","message":"This looks more like a commit message than a release note. Something like \"Fixed wrong endpoint information in neutron client configuration.\" would be more suitable as a release note.","commit_id":"94b82a8ee6a82d1e8fb8c2ec4acabf1fae0d3b31"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"eb04b87d453294da6b0b283f4e983c6b3abd19d1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Specify endpoint information for neutron client. This fix wrong endpoint"},{"line_number":5,"context_line":"    type passing to openstacksdk."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"c6651b40_0023ea12","line":5,"range":{"start_line":4,"start_character":3,"end_line":5,"end_character":33},"in_reply_to":"767797b0_476105a2","updated":"2024-02-07 08:20:45.000000000","message":"Done","commit_id":"94b82a8ee6a82d1e8fb8c2ec4acabf1fae0d3b31"}]}
