)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"ba5819f5e78ecde68b65c3834ecc1587d4bff216","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"dcc06edc_c5e50602","updated":"2024-11-04 08:53:32.000000000","message":"Tried to adjust the code according to your feedback, lmk how it looks.","commit_id":"edbfa54491f5e0afa56175e356550bafce139f81"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"f2345ff1caa3332b4088c63d7be0f63e9945f248","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"95339672_321b58f1","updated":"2025-10-19 18:51:18.000000000","message":"agree with Sven","commit_id":"edbfa54491f5e0afa56175e356550bafce139f81"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"1998b004987a1d6382fc2a084dca831ec20447d8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"35c17d0c_3f4e27cc","updated":"2024-11-25 11:01:24.000000000","message":"looking at the bug description and the code documentation I\u0027m not yet convinced if this is the right approach to fix this edge case.\n\nThere might be valid scenarios where you want a loopback address to be used.\n\nif we need more granularity in specifying the exact address kolla should use, maybe we should instead allow to specify the exact address/network being used, instead of the interface?","commit_id":"edbfa54491f5e0afa56175e356550bafce139f81"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"35d96de0d7ea439e3bc0e6d4e389ca3cf5d29b40","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"330f7b64_72edcd63","in_reply_to":"0ac3ed88_c41e7b30","updated":"2024-11-25 12:55:59.000000000","message":"please don\u0027t mark ongoing discussions as resolved - I think this was done by accident?","commit_id":"edbfa54491f5e0afa56175e356550bafce139f81"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"7ee4f67afa81660d6e0e03c6fd67aa21f6abf827","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"beb4fbf0_00a7f70d","in_reply_to":"330f7b64_72edcd63","updated":"2024-11-25 13:25:46.000000000","message":"Yep, my bad.. the reply button auto ticks resolved..","commit_id":"edbfa54491f5e0afa56175e356550bafce139f81"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"f39ef2004b458cdc2c8b8ec694bfaca8cb3c6de3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"0ac3ed88_c41e7b30","in_reply_to":"35c17d0c_3f4e27cc","updated":"2024-11-25 11:46:18.000000000","message":"I\u0027m not sure about when using the loopback address would be a valid scenario ? Even then, as long as there are no other IPs on the interface (eg a non local address on the loopback), the loopback address will be used. This would only apply to people mounting non-local addresses on the loopback interface (eg BGP hosts).\n\nI can see how providing the ip directly might be a better solution, however this might be problematic to scale (having to edit the ip address for each host ?)","commit_id":"edbfa54491f5e0afa56175e356550bafce139f81"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"15c58e0608c89013cecf24d708c761c4f67e8db7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"a26c7dc8_4fea38f4","in_reply_to":"41ff605f_1f40793e","updated":"2025-10-19 19:59:55.000000000","message":"ihmo, yes.","commit_id":"edbfa54491f5e0afa56175e356550bafce139f81"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"574d50aabafdb38c8b972ae3f15c2fa4383f1cc7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"41ff605f_1f40793e","in_reply_to":"95339672_321b58f1","updated":"2025-10-19 19:50:30.000000000","message":"On the fact that we should specify the ip address/network to be used rather than the interface ?","commit_id":"edbfa54491f5e0afa56175e356550bafce139f81"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"66d3828b911060cbf9c99e01324afc4aad558f1f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3d452e8b_e8ffb3db","in_reply_to":"beb4fbf0_00a7f70d","updated":"2025-12-18 15:01:14.000000000","message":"Done","commit_id":"edbfa54491f5e0afa56175e356550bafce139f81"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"0c8a30856373adba7cedfaf137b2317d26766258","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":10,"id":"108ba5f5_0c0f0742","updated":"2025-10-20 06:12:42.000000000","message":"LGTM, but we need some unit tests for this","commit_id":"6841797d79badd9d1b5e81e705e0c27e86da0513"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"acd8278b7537a123ba7ae5ea3a5e20bbd78b6291","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":10,"id":"747caa9a_18c9f409","in_reply_to":"108ba5f5_0c0f0742","updated":"2025-10-20 17:32:11.000000000","message":"I added tests to cover most cases I think, if you see other edge-cases I can write tests for it.","commit_id":"6841797d79badd9d1b5e81e705e0c27e86da0513"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"66d3828b911060cbf9c99e01324afc4aad558f1f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"e43b6cd6_778f41b6","in_reply_to":"590e9e85_9fdceb5c","updated":"2025-12-18 15:01:14.000000000","message":"Done","commit_id":"6841797d79badd9d1b5e81e705e0c27e86da0513"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"26b7f5a8f581270625793f100186495d8ff07f23","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":10,"id":"590e9e85_9fdceb5c","in_reply_to":"747caa9a_18c9f409","updated":"2025-10-23 17:31:26.000000000","message":"Linter should (finally) be happy. What do you think ?","commit_id":"6841797d79badd9d1b5e81e705e0c27e86da0513"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"ecb110fa7a57781764054735452a7b67daa2940c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"5c65b0ba_c31762bf","updated":"2026-01-19 20:10:21.000000000","message":"it\u0027s been a while","commit_id":"4dba0041b8b099a15d7ee4b8534c04a37fbbf63f"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"6c6e3b618460ead227fdf9c95d4ff521b668cb58","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"2982bf02_3f399a1f","updated":"2025-12-18 20:43:08.000000000","message":"its been for a long time. lets test)","commit_id":"4dba0041b8b099a15d7ee4b8534c04a37fbbf63f"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"891d7cfc50c17d0d9239d9bb57135bf015bf6fd4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"5b33e9cb_6420853f","updated":"2026-01-19 20:10:13.000000000","message":"recheck","commit_id":"4dba0041b8b099a15d7ee4b8534c04a37fbbf63f"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"2b8ca9636367c8d25052a6187461f88a747ac7b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"b29f7ac7_643233ef","updated":"2025-12-18 16:25:05.000000000","message":"recheck","commit_id":"4dba0041b8b099a15d7ee4b8534c04a37fbbf63f"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"f3a15dab3719532e324a663c7773b2dd8acf6ddc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"5d02f9ad_396cb15d","updated":"2026-01-30 08:01:26.000000000","message":"recheck failure looks unrelated","commit_id":"4dba0041b8b099a15d7ee4b8534c04a37fbbf63f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"6e3c2ff8e021756fe6923bccd93f90e083e92614","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"f8ca031b_daa565d7","updated":"2026-01-20 09:40:17.000000000","message":"recheck rocky podman unrelated error","commit_id":"4dba0041b8b099a15d7ee4b8534c04a37fbbf63f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"bcffd0b1dad9f48a6642ca838c420e36c5fa8f32","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"ca0b084a_04760458","updated":"2025-12-18 15:01:05.000000000","message":"trivial","commit_id":"4dba0041b8b099a15d7ee4b8534c04a37fbbf63f"}],"kolla_ansible/kolla_address.py":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"b04331482786cdb1851ea5ae60bf2386a9269ffd","unresolved":true,"context_lines":[{"line_number":22,"context_line":"from kolla_ansible.helpers import _call_bool_filter"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def is_loopback(address):"},{"line_number":26,"context_line":"    ip \u003d ipaddress.ip_address(address)"},{"line_number":27,"context_line":"    return ip.is_loopback"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"810c0d32_c6c14911","line":25,"updated":"2024-11-03 08:58:55.000000000","message":"missing docstring","commit_id":"86743f661191bf06f4f301021553dabea44dbad1"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"ba5819f5e78ecde68b65c3834ecc1587d4bff216","unresolved":true,"context_lines":[{"line_number":22,"context_line":"from kolla_ansible.helpers import _call_bool_filter"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def is_loopback(address):"},{"line_number":26,"context_line":"    ip \u003d ipaddress.ip_address(address)"},{"line_number":27,"context_line":"    return ip.is_loopback"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7f40e2a5_515e6019","line":25,"in_reply_to":"810c0d32_c6c14911","updated":"2024-11-04 08:53:32.000000000","message":"Does this look better ?","commit_id":"86743f661191bf06f4f301021553dabea44dbad1"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"37df8797d3b4e5acdcf413124abd87ce479f84b9","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from kolla_ansible.helpers import _call_bool_filter"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def is_loopback(address):"},{"line_number":26,"context_line":"    ip \u003d ipaddress.ip_address(address)"},{"line_number":27,"context_line":"    return ip.is_loopback"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"b5ceb369_c6f80316","line":25,"in_reply_to":"810c0d32_c6c14911","updated":"2024-11-04 08:54:43.000000000","message":"Done","commit_id":"86743f661191bf06f4f301021553dabea44dbad1"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"b04331482786cdb1851ea5ae60bf2386a9269ffd","unresolved":true,"context_lines":[{"line_number":108,"context_line":"    if address_family \u003d\u003d \u0027ipv4\u0027:"},{"line_number":109,"context_line":"        address \u003d af_interface.get(\u0027address\u0027)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if address and is_loopback(address):"},{"line_number":112,"context_line":"            ipv4_secondaries \u003d interface.get(\"ipv4_secondaries\", [])"},{"line_number":113,"context_line":"            non_loopback_addresses \u003d ["},{"line_number":114,"context_line":"                sec[\u0027address\u0027] for sec in ipv4_secondaries"}],"source_content_type":"text/x-python","patch_set":5,"id":"10ecaa8b_88fbdf21","line":111,"updated":"2024-11-03 08:58:55.000000000","message":"would need some more comments why are we doing this","commit_id":"86743f661191bf06f4f301021553dabea44dbad1"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"ba5819f5e78ecde68b65c3834ecc1587d4bff216","unresolved":true,"context_lines":[{"line_number":108,"context_line":"    if address_family \u003d\u003d \u0027ipv4\u0027:"},{"line_number":109,"context_line":"        address \u003d af_interface.get(\u0027address\u0027)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if address and is_loopback(address):"},{"line_number":112,"context_line":"            ipv4_secondaries \u003d interface.get(\"ipv4_secondaries\", [])"},{"line_number":113,"context_line":"            non_loopback_addresses \u003d ["},{"line_number":114,"context_line":"                sec[\u0027address\u0027] for sec in ipv4_secondaries"}],"source_content_type":"text/x-python","patch_set":5,"id":"add84f63_78f2c487","line":111,"in_reply_to":"10ecaa8b_88fbdf21","updated":"2024-11-04 08:53:32.000000000","message":"I tried adding a bit of context as to why we do this, lmk if you think it can be improved.","commit_id":"86743f661191bf06f4f301021553dabea44dbad1"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"bcffd0b1dad9f48a6642ca838c420e36c5fa8f32","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    if address_family \u003d\u003d \u0027ipv4\u0027:"},{"line_number":109,"context_line":"        address \u003d af_interface.get(\u0027address\u0027)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if address and is_loopback(address):"},{"line_number":112,"context_line":"            ipv4_secondaries \u003d interface.get(\"ipv4_secondaries\", [])"},{"line_number":113,"context_line":"            non_loopback_addresses \u003d ["},{"line_number":114,"context_line":"                sec[\u0027address\u0027] for sec in ipv4_secondaries"}],"source_content_type":"text/x-python","patch_set":5,"id":"d0b42d95_3a49443b","line":111,"in_reply_to":"add84f63_78f2c487","updated":"2025-12-18 15:01:05.000000000","message":"Done","commit_id":"86743f661191bf06f4f301021553dabea44dbad1"}]}
