)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"380a90d409534461fe9a099dc33c0ffb39925a3c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ca8c5b07_f48e9c3b","updated":"2024-11-18 08:52:03.000000000","message":"Can you please back these values up with some data?\nWhy where these exact values used? In what deployment exactly did they improve things?\nAny external resources you can cite, or link to?\n\nThank you for your contribution.","commit_id":"25a1459dda858d81712ae2d58147f81f32e2974f"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"76e9d5172e6db178bb3dafe44687f6b3ff52d540","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f9c3d8ea_62d835a7","updated":"2024-11-09 07:46:24.000000000","message":"RECHECK failed with other patches that night seems timeout","commit_id":"25a1459dda858d81712ae2d58147f81f32e2974f"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"1a6637ab68558a24b8ebfefe95e187c7986c8fef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e246c63e_63cfe59f","updated":"2024-11-07 15:53:40.000000000","message":"RECHECK seems timeout cant find any relation to my changes!","commit_id":"25a1459dda858d81712ae2d58147f81f32e2974f"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"111262620da9c61b172c49baca8a49ed02961c02","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"48356c18_6c7a2fe9","in_reply_to":"0422a40d_56e1aaed","updated":"2024-11-25 15:20:25.000000000","message":"Done","commit_id":"25a1459dda858d81712ae2d58147f81f32e2974f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"5f3c7b41e0199af6cdfb27870a8ac29af064d99c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0422a40d_56e1aaed","in_reply_to":"9cd0b5bf_8fc7ae53","updated":"2024-11-25 09:22:27.000000000","message":"okay, that\u0027s very cool research done by you, thank you for that!\n\nNow, could you please put this information in the commit message as well? That would be awesome. So people can read up on this when checking the git log.\n\nIt\u0027s not strictly required, but would be very nice to have, thank you.\n\nEspecially that the charmed deployement uses 4 seconds as well might be good to have in the commit message.","commit_id":"25a1459dda858d81712ae2d58147f81f32e2974f"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"287651e5f24c8d471847e8ab663d1f36d8c8b446","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9cd0b5bf_8fc7ae53","in_reply_to":"ca8c5b07_f48e9c3b","updated":"2024-11-19 09:33:44.000000000","message":"Hi Sven,\n\nAs I have explained, in heavy workloads, for example to recreate I have used:\nA cluster with 10 bare metals, 3 controllers, 2 network nodes,\nAlmost 400 VMs and multiple times sec groups and ports resulting in 280K logical flows in Southbound, and 140K ACLs in Northbound, With 1s election timeout, Raft cluster not even responding due to frequent elections, with 10s it is stable as rock,\n\nYou can see the status of leaders in this issue I have put on ovsdb: https://github.com/openvswitch/ovs-issues/issues/348\nAlso a direct quote from Ilya Maximets:\n```Increase of the election timer should not affect normal operation, only the reaction time when you actually loose the leader for one reason or another.\nFWIW, high-scale clusters usually run with higher election timers on southbound database, at least. 10 seconds should be fine in most cases.```\n\n\nAlso OVN central charm is using a default of 4 seconds: https://opendev.org/x/charm-ovn-central/src/commit/5fc886582c68885bb33116e414a54c38e48222bd/src/config.yaml#L45","commit_id":"25a1459dda858d81712ae2d58147f81f32e2974f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"82c594e18758d71b2883d5aea2be5d81da8af15c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"19c64533_e131528e","updated":"2025-03-24 10:00:01.000000000","message":"affecting also us, will also provide bugreport","commit_id":"cde2cdae6f09bea8afa85ea83cd032aba9ca380b"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"40b846ffb68a80d93b820137c91845a9820f132b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"a98811f8_b526b3af","updated":"2025-05-08 07:52:59.000000000","message":"RECHECK connection lost error","commit_id":"dd63f866768698bcf522657e848edd4cee8b9808"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"eda7ff078506b9fca6cf9fb5f1c1428e1b8caa28","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"452a0db3_277dd2cd","updated":"2025-05-07 07:29:15.000000000","message":"RECHECK seems like connection lost","commit_id":"dd63f866768698bcf522657e848edd4cee8b9808"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"e95ab6f63f6e55d87778c97cf5ecc783919cafdf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"86683e98_252f1bc8","updated":"2025-07-13 09:18:56.000000000","message":"RECHECK try again","commit_id":"dd63f866768698bcf522657e848edd4cee8b9808"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"a82776ef7267a882b620055964ae85946ccb3d39","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"51ac0676_b036c783","updated":"2025-07-16 20:45:30.000000000","message":"lets wait for CI passed","commit_id":"dd63f866768698bcf522657e848edd4cee8b9808"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"abc4ca17371aaf813120ab00af9a230ebe94637e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"c72db26d_50a5a840","updated":"2025-05-17 07:09:53.000000000","message":"recheck another try, octaviaclient bumped","commit_id":"dd63f866768698bcf522657e848edd4cee8b9808"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"6c87c2779ced4018c277c0d5882bcdea0363b826","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"c1c6ddab_310861f7","updated":"2025-05-15 10:52:08.000000000","message":"recheck lest check OVN jobs again","commit_id":"dd63f866768698bcf522657e848edd4cee8b9808"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"fdd4b81d5db940673d5c230bd2ff7728f4024aa1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"d782f668_fe9a078d","updated":"2025-05-08 19:24:22.000000000","message":"recheck upgrade jobs should be fixed now","commit_id":"dd63f866768698bcf522657e848edd4cee8b9808"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"9dc4063ae0132836a5565bae9920087d847fc84a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"abf79c41_0d9d5f34","updated":"2025-05-09 08:49:52.000000000","message":"the OVN jobs are failing. likely the failure is unrelated to this patch, but I still wouldn\u0027t want to merge this without a passing CI","commit_id":"dd63f866768698bcf522657e848edd4cee8b9808"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"d1e801847ad011868e78cde8ebdb8debec36af75","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"8767b9d8_ef9eac09","in_reply_to":"51ac0676_b036c783","updated":"2025-07-21 07:18:51.000000000","message":"Hi Maksim,\nHow to make it happen? its failing almost 2 3 months","commit_id":"dd63f866768698bcf522657e848edd4cee8b9808"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"d855595e6e0162f0460029305d0f94e2081c5df8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"300ff000_bd85c594","in_reply_to":"8767b9d8_ef9eac09","updated":"2025-07-21 11:26:15.000000000","message":"Read logs and make investigations","commit_id":"dd63f866768698bcf522657e848edd4cee8b9808"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"5958333d5d174c3de4be9bcac3ca8df072dd9eac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"975690e6_c3dc0b79","in_reply_to":"abf79c41_0d9d5f34","updated":"2025-05-14 09:37:57.000000000","message":"Hi how to solve that?","commit_id":"dd63f866768698bcf522657e848edd4cee8b9808"}],"ansible/roles/ovn-db/defaults/main.yml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"137a9e1fd067b45278f6c7df01f1c183bb673a40","unresolved":true,"context_lines":[{"line_number":97,"context_line":"# Workaround: pause after restarting containers to allow for leader election."},{"line_number":98,"context_line":"ovn_leader_election_pause: 5"},{"line_number":99,"context_line":"# Timeout for starting a new election"},{"line_number":100,"context_line":"ovn_cluster_election_timer: 2000"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"0b4e5835_a1c2a516","line":100,"range":{"start_line":100,"start_character":0,"end_line":100,"end_character":2},"updated":"2024-11-25 09:38:27.000000000","message":"afaik this value is way too high and should be 30 seconds as a maximum, how did you chose 2000?\n\nthe charm guide hints as a hardcoded maximum startup timeout of 30 seconds in the ovs code itself:\n\nhttps://opendev.org/openstack/charm-guide/src/branch/master/doc/source/project/procedures/ovn-upgrade-2203.rst#raft-leader-election-timeout\n\nhttps://github.com/openvswitch/ovs/blob/dc7663f13ce73e69e2983af77a0342f216467b31/utilities/ovs-lib.in#L492","commit_id":"9396b9d7a5d1033c51b4f915362b72fcdb2cc2f1"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"111262620da9c61b172c49baca8a49ed02961c02","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# Workaround: pause after restarting containers to allow for leader election."},{"line_number":98,"context_line":"ovn_leader_election_pause: 5"},{"line_number":99,"context_line":"# Timeout for starting a new election"},{"line_number":100,"context_line":"ovn_cluster_election_timer: 2000"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"54dba9f4_d603601b","line":100,"range":{"start_line":100,"start_character":0,"end_line":100,"end_character":2},"in_reply_to":"0b4e5835_a1c2a516","updated":"2024-11-25 15:20:25.000000000","message":"This value is in mili seconds, updated the comment to clarify.","commit_id":"9396b9d7a5d1033c51b4f915362b72fcdb2cc2f1"}],"ansible/roles/ovn-db/tasks/bootstrap-db.yml":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"55c4272a20fa2228d8b47e0a59747ac492b464e3","unresolved":true,"context_lines":[{"line_number":56,"context_line":"  until: check_ovn_sb_db_port is success"},{"line_number":57,"context_line":"  retries: 10"},{"line_number":58,"context_line":"  delay: 6"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"- name: Get current election timer for sb and nb dbs"},{"line_number":61,"context_line":"  set_fact:"},{"line_number":62,"context_line":"    ovn_sb_current_election_timer: \"{{ ovn_sb_cluster_status.stdout | regex_search(\u0027Election timer: ([0-9]+)\u0027, \u0027\\\\1\u0027) }}\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"b284759e_7f9c9dc2","line":59,"updated":"2024-11-06 14:01:40.000000000","message":"I think we need a NOTE what is that dark magic dance","commit_id":"b58302bb5ee39d6a7240fd16aeb2ae5931aba789"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"1e09a01e6fdf1218a3822bff95bf3d74c4c84c5c","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  until: check_ovn_sb_db_port is success"},{"line_number":57,"context_line":"  retries: 10"},{"line_number":58,"context_line":"  delay: 6"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"- name: Get current election timer for sb and nb dbs"},{"line_number":61,"context_line":"  set_fact:"},{"line_number":62,"context_line":"    ovn_sb_current_election_timer: \"{{ ovn_sb_cluster_status.stdout | regex_search(\u0027Election timer: ([0-9]+)\u0027, \u0027\\\\1\u0027) }}\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ce049183_fa481f3e","line":59,"in_reply_to":"b284759e_7f9c9dc2","updated":"2024-11-07 09:56:58.000000000","message":"Done","commit_id":"b58302bb5ee39d6a7240fd16aeb2ae5931aba789"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"b3697c8623c07281a741ec0ce84aae3ff917d414","unresolved":true,"context_lines":[{"line_number":58,"context_line":"  delay: 6"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"# NOTE (Yosef): In high-load OVN clusters, the default 1-second election timeout of"},{"line_number":62,"context_line":"# the Raft algorithm can lead to unnecessary leader elections when the leader node"},{"line_number":63,"context_line":"# is busy. To mitigate this, we can adjust the election timeout using the"},{"line_number":64,"context_line":"# `ovs-appctl cluster/change-election-timer` command to a more suitable value."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"0debcdc2_309de30d","line":61,"updated":"2024-11-18 16:18:44.000000000","message":"nit: remove the space","commit_id":"25a1459dda858d81712ae2d58147f81f32e2974f"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"07dfb5f7b210ec80f45a5a9470abe95f435c98ed","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  delay: 6"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"# NOTE (Yosef): In high-load OVN clusters, the default 1-second election timeout of"},{"line_number":62,"context_line":"# the Raft algorithm can lead to unnecessary leader elections when the leader node"},{"line_number":63,"context_line":"# is busy. To mitigate this, we can adjust the election timeout using the"},{"line_number":64,"context_line":"# `ovs-appctl cluster/change-election-timer` command to a more suitable value."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"46127b67_c25b4b87","line":61,"in_reply_to":"0debcdc2_309de30d","updated":"2024-11-19 10:08:26.000000000","message":"Done","commit_id":"25a1459dda858d81712ae2d58147f81f32e2974f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2fb0f4dd84965beb1d7fe67c64f0d4406e9327ea","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    cluster/change-election-timer OVN_Southbound {% if ansible_loop.last %}{{ ovn_cluster_election_timer }}{% else %}{{ 2 ** item | int * ovn_sb_current_election_timer[0] | int }}{% endif %}"},{"line_number":96,"context_line":"  loop: \u003e"},{"line_number":97,"context_line":"    {{ (range(1, 2 + ((ovn_cluster_election_timer | int - 1) / (ovn_sb_current_election_timer[0] | int)) | log(2) | int)"},{"line_number":98,"context_line":"    if ovn_sb_current_election_timer[0] | int \u003c\u003d ovn_cluster_election_timer else range(1, 2)) | list }}"},{"line_number":99,"context_line":"  loop_control:"},{"line_number":100,"context_line":"    extended: true"},{"line_number":101,"context_line":"    pause: 5"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5470be5e_e67cc34b","line":98,"range":{"start_line":98,"start_character":0,"end_line":98,"end_character":2},"updated":"2024-11-25 16:21:35.000000000","message":"shouldn\u0027t we move this condition into the `when:` part to make it easier to read?\nsee: https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_conditionals.html#using-conditionals-in-loops","commit_id":"fd775b210b17e2760542b7b8e7d4943323e68407"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"ac595b561e089393924b075c6a4cfb73d2b48bbb","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    cluster/change-election-timer OVN_Southbound {% if ansible_loop.last %}{{ ovn_cluster_election_timer }}{% else %}{{ 2 ** item | int * ovn_sb_current_election_timer[0] | int }}{% endif %}"},{"line_number":96,"context_line":"  loop: \u003e"},{"line_number":97,"context_line":"    {{ (range(1, 2 + ((ovn_cluster_election_timer | int - 1) / (ovn_sb_current_election_timer[0] | int)) | log(2) | int)"},{"line_number":98,"context_line":"    if ovn_sb_current_election_timer[0] | int \u003c\u003d ovn_cluster_election_timer else range(1, 2)) | list }}"},{"line_number":99,"context_line":"  loop_control:"},{"line_number":100,"context_line":"    extended: true"},{"line_number":101,"context_line":"    pause: 5"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"6ff34a4b_52295551","line":98,"range":{"start_line":98,"start_character":0,"end_line":98,"end_character":2},"in_reply_to":"4e060638_7042c305","updated":"2024-11-26 16:56:03.000000000","message":"thanks, that\u0027s already a good chunk simpler.\n\nyou could go further and put those two tasks into a block, as the `search_string` variable and the ` ovn_sb_cluster_status is search(search_string)` condition are the same, simplifying it further:\nhttps://docs.ansible.com/ansible/latest/playbook_guide/playbooks_blocks.html\n\nwe could also put the variable, maybe with a more descriptive name, e.g. `kolla_ovn_raft_leader_search_string` into `kolla-ansible/ansible/roles/ovn-db/vars/main.yml`, what do you think? Imho this is the best fitting option with regards to the variables declaration.","commit_id":"fd775b210b17e2760542b7b8e7d4943323e68407"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"7042b9479f8ff1f028edf2f8ea6613439341bb7a","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    cluster/change-election-timer OVN_Southbound {% if ansible_loop.last %}{{ ovn_cluster_election_timer }}{% else %}{{ 2 ** item | int * ovn_sb_current_election_timer[0] | int }}{% endif %}"},{"line_number":96,"context_line":"  loop: \u003e"},{"line_number":97,"context_line":"    {{ (range(1, 2 + ((ovn_cluster_election_timer | int - 1) / (ovn_sb_current_election_timer[0] | int)) | log(2) | int)"},{"line_number":98,"context_line":"    if ovn_sb_current_election_timer[0] | int \u003c\u003d ovn_cluster_election_timer else range(1, 2)) | list }}"},{"line_number":99,"context_line":"  loop_control:"},{"line_number":100,"context_line":"    extended: true"},{"line_number":101,"context_line":"    pause: 5"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"4e060638_7042c305","line":98,"range":{"start_line":98,"start_character":0,"end_line":98,"end_character":2},"in_reply_to":"5470be5e_e67cc34b","updated":"2024-11-26 11:21:57.000000000","message":"In favor of simplicity broken the task into two tasks for when increasing or decreasing the timeout, please check again","commit_id":"fd775b210b17e2760542b7b8e7d4943323e68407"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"afc1d364bb997ac8c65c7ec918fd7c636421f258","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    cluster/change-election-timer OVN_Southbound {% if ansible_loop.last %}{{ ovn_cluster_election_timer }}{% else %}{{ 2 ** item | int * ovn_sb_current_election_timer[0] | int }}{% endif %}"},{"line_number":96,"context_line":"  loop: \u003e"},{"line_number":97,"context_line":"    {{ (range(1, 2 + ((ovn_cluster_election_timer | int - 1) / (ovn_sb_current_election_timer[0] | int)) | log(2) | int)"},{"line_number":98,"context_line":"    if ovn_sb_current_election_timer[0] | int \u003c\u003d ovn_cluster_election_timer else range(1, 2)) | list }}"},{"line_number":99,"context_line":"  loop_control:"},{"line_number":100,"context_line":"    extended: true"},{"line_number":101,"context_line":"    pause: 5"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"97c8be85_0f09b552","line":98,"range":{"start_line":98,"start_character":0,"end_line":98,"end_character":2},"in_reply_to":"6ff34a4b_52295551","updated":"2024-11-27 16:34:25.000000000","message":"Hi Sven,\nI have added the block part and it looks good so far,\nbut on changing the name of that variable, we are not on the same page, it is used all over the ovn-db role, and it is uniform all the places, changing it in just these tasks is not a good thing, and changing it in all the places is not for this patch, so I consider this Done","commit_id":"fd775b210b17e2760542b7b8e7d4943323e68407"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2fb0f4dd84965beb1d7fe67c64f0d4406e9327ea","unresolved":true,"context_lines":[{"line_number":112,"context_line":"    cluster/change-election-timer OVN_Northbound {% if ansible_loop.last %}{{ ovn_cluster_election_timer }}{% else %}{{ 2 ** item | int * ovn_nb_current_election_timer[0] | int }}{% endif %}"},{"line_number":113,"context_line":"  loop: \u003e"},{"line_number":114,"context_line":"    {{ (range(1, 2 + ((ovn_cluster_election_timer | int - 1) / (ovn_nb_current_election_timer[0] | int)) | log(2) | int)"},{"line_number":115,"context_line":"    if ovn_nb_current_election_timer[0] | int \u003c\u003d ovn_cluster_election_timer else range(1, 2)) | list }}"},{"line_number":116,"context_line":"  loop_control:"},{"line_number":117,"context_line":"    extended: true"},{"line_number":118,"context_line":"    pause: 5"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"b2cf1af2_c755b54b","line":115,"range":{"start_line":115,"start_character":0,"end_line":115,"end_character":2},"updated":"2024-11-25 16:21:35.000000000","message":"see above","commit_id":"fd775b210b17e2760542b7b8e7d4943323e68407"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"7042b9479f8ff1f028edf2f8ea6613439341bb7a","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    cluster/change-election-timer OVN_Northbound {% if ansible_loop.last %}{{ ovn_cluster_election_timer }}{% else %}{{ 2 ** item | int * ovn_nb_current_election_timer[0] | int }}{% endif %}"},{"line_number":113,"context_line":"  loop: \u003e"},{"line_number":114,"context_line":"    {{ (range(1, 2 + ((ovn_cluster_election_timer | int - 1) / (ovn_nb_current_election_timer[0] | int)) | log(2) | int)"},{"line_number":115,"context_line":"    if ovn_nb_current_election_timer[0] | int \u003c\u003d ovn_cluster_election_timer else range(1, 2)) | list }}"},{"line_number":116,"context_line":"  loop_control:"},{"line_number":117,"context_line":"    extended: true"},{"line_number":118,"context_line":"    pause: 5"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5508d629_823415ba","line":115,"range":{"start_line":115,"start_character":0,"end_line":115,"end_character":2},"in_reply_to":"b2cf1af2_c755b54b","updated":"2024-11-26 11:21:57.000000000","message":"Done","commit_id":"fd775b210b17e2760542b7b8e7d4943323e68407"},{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"4a066523c5d1d9288c9222f12b79aee65945efa9","unresolved":true,"context_lines":[{"line_number":130,"context_line":"- name: Configure Northbound election-timer"},{"line_number":131,"context_line":"  vars:"},{"line_number":132,"context_line":"    search_string: \"Role: leader\""},{"line_number":133,"context_line":"  when: ovn_sb_cluster_status is search(search_string)"},{"line_number":134,"context_line":"  become: true"},{"line_number":135,"context_line":"  block:"},{"line_number":136,"context_line":"    - name: Configure Northbound election-timer increasing"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"ed043232_6d1e35e7","line":133,"range":{"start_line":133,"start_character":8,"end_line":133,"end_character":29},"updated":"2025-04-27 14:36:12.000000000","message":"Shouldn\u0027t this be ovn_nb_cluster_status?","commit_id":"cde2cdae6f09bea8afa85ea83cd032aba9ca380b"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"c186098b70ec59b0e1d89c8b0ec55f090821b676","unresolved":false,"context_lines":[{"line_number":130,"context_line":"- name: Configure Northbound election-timer"},{"line_number":131,"context_line":"  vars:"},{"line_number":132,"context_line":"    search_string: \"Role: leader\""},{"line_number":133,"context_line":"  when: ovn_sb_cluster_status is search(search_string)"},{"line_number":134,"context_line":"  become: true"},{"line_number":135,"context_line":"  block:"},{"line_number":136,"context_line":"    - name: Configure Northbound election-timer increasing"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"10f9b6fd_64511405","line":133,"range":{"start_line":133,"start_character":8,"end_line":133,"end_character":29},"in_reply_to":"ed043232_6d1e35e7","updated":"2025-05-05 08:08:21.000000000","message":"Fixed","commit_id":"cde2cdae6f09bea8afa85ea83cd032aba9ca380b"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"5872ed2d5582ab8d691737d3fe7f450c6cb1c8e0","unresolved":true,"context_lines":[{"line_number":99,"context_line":"# Step 3: Set to 16 seconds"},{"line_number":100,"context_line":"- name: Get current election timer for sb and nb dbs"},{"line_number":101,"context_line":"  set_fact:"},{"line_number":102,"context_line":"    ovn_sb_current_election_timer: \"{{ (ovn_sb_cluster_status.stdout | regex_search(\u0027Election timer: ([0-9]+)\u0027, \u0027\\\\1\u0027))[0] }}\""},{"line_number":103,"context_line":"    ovn_nb_current_election_timer: \"{{ (ovn_nb_cluster_status.stdout | regex_search(\u0027Election timer: ([0-9]+)\u0027, \u0027\\\\1\u0027))[0] }}\""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"- name: Configure Southbound election-timer"},{"line_number":106,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"88285c29_b76ff6db","line":103,"range":{"start_line":102,"start_character":0,"end_line":103,"end_character":126},"updated":"2025-05-05 18:21:40.000000000","message":"should we check and fail or skip configure tasks if parsing is not work as expected?","commit_id":"4b3fed73603683cf3f01d1e34e7b5811a52ee4cf"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"643816d710d3fcb712f0a79c748ccb671181cfcd","unresolved":false,"context_lines":[{"line_number":99,"context_line":"# Step 3: Set to 16 seconds"},{"line_number":100,"context_line":"- name: Get current election timer for sb and nb dbs"},{"line_number":101,"context_line":"  set_fact:"},{"line_number":102,"context_line":"    ovn_sb_current_election_timer: \"{{ (ovn_sb_cluster_status.stdout | regex_search(\u0027Election timer: ([0-9]+)\u0027, \u0027\\\\1\u0027))[0] }}\""},{"line_number":103,"context_line":"    ovn_nb_current_election_timer: \"{{ (ovn_nb_cluster_status.stdout | regex_search(\u0027Election timer: ([0-9]+)\u0027, \u0027\\\\1\u0027))[0] }}\""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"- name: Configure Southbound election-timer"},{"line_number":106,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"70ba34e6_f8751ef4","line":103,"range":{"start_line":102,"start_character":0,"end_line":103,"end_character":126},"in_reply_to":"13e74dde_c10bbda6","updated":"2025-05-08 18:34:18.000000000","message":"Done","commit_id":"4b3fed73603683cf3f01d1e34e7b5811a52ee4cf"},{"author":{"_account_id":36174,"name":"yosef","display_name":"yosal","email":"flaslnm@gmail.com","username":"theYosal"},"change_message_id":"6cb7c151afc19b5337a1cd54a380945a65860dc3","unresolved":true,"context_lines":[{"line_number":99,"context_line":"# Step 3: Set to 16 seconds"},{"line_number":100,"context_line":"- name: Get current election timer for sb and nb dbs"},{"line_number":101,"context_line":"  set_fact:"},{"line_number":102,"context_line":"    ovn_sb_current_election_timer: \"{{ (ovn_sb_cluster_status.stdout | regex_search(\u0027Election timer: ([0-9]+)\u0027, \u0027\\\\1\u0027))[0] }}\""},{"line_number":103,"context_line":"    ovn_nb_current_election_timer: \"{{ (ovn_nb_cluster_status.stdout | regex_search(\u0027Election timer: ([0-9]+)\u0027, \u0027\\\\1\u0027))[0] }}\""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"- name: Configure Southbound election-timer"},{"line_number":106,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"9ffe661f_ac40c265","line":103,"range":{"start_line":102,"start_character":0,"end_line":103,"end_character":126},"in_reply_to":"88285c29_b76ff6db","updated":"2025-05-05 18:39:42.000000000","message":"You mean it must fail if in future versions of OVN this section of the output changes? how we can do that?","commit_id":"4b3fed73603683cf3f01d1e34e7b5811a52ee4cf"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"098abaa9b563cb74aeccb26adc519f29b2f929be","unresolved":true,"context_lines":[{"line_number":99,"context_line":"# Step 3: Set to 16 seconds"},{"line_number":100,"context_line":"- name: Get current election timer for sb and nb dbs"},{"line_number":101,"context_line":"  set_fact:"},{"line_number":102,"context_line":"    ovn_sb_current_election_timer: \"{{ (ovn_sb_cluster_status.stdout | regex_search(\u0027Election timer: ([0-9]+)\u0027, \u0027\\\\1\u0027))[0] }}\""},{"line_number":103,"context_line":"    ovn_nb_current_election_timer: \"{{ (ovn_nb_cluster_status.stdout | regex_search(\u0027Election timer: ([0-9]+)\u0027, \u0027\\\\1\u0027))[0] }}\""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"- name: Configure Southbound election-timer"},{"line_number":106,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"13e74dde_c10bbda6","line":103,"range":{"start_line":102,"start_character":0,"end_line":103,"end_character":126},"in_reply_to":"8d1dd212_7b8df669","updated":"2025-05-05 18:56:25.000000000","message":"how: you mean that parsed data is a numbers - so you can check this and fail or skip tasks... whatever.","commit_id":"4b3fed73603683cf3f01d1e34e7b5811a52ee4cf"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"e374cab79719d3a07a68d6f6b28020f3541d7a21","unresolved":true,"context_lines":[{"line_number":99,"context_line":"# Step 3: Set to 16 seconds"},{"line_number":100,"context_line":"- name: Get current election timer for sb and nb dbs"},{"line_number":101,"context_line":"  set_fact:"},{"line_number":102,"context_line":"    ovn_sb_current_election_timer: \"{{ (ovn_sb_cluster_status.stdout | regex_search(\u0027Election timer: ([0-9]+)\u0027, \u0027\\\\1\u0027))[0] }}\""},{"line_number":103,"context_line":"    ovn_nb_current_election_timer: \"{{ (ovn_nb_cluster_status.stdout | regex_search(\u0027Election timer: ([0-9]+)\u0027, \u0027\\\\1\u0027))[0] }}\""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"- name: Configure Southbound election-timer"},{"line_number":106,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"8d1dd212_7b8df669","line":103,"range":{"start_line":102,"start_character":0,"end_line":103,"end_character":126},"in_reply_to":"9ffe661f_ac40c265","updated":"2025-05-05 18:54:32.000000000","message":"You parse a string generated after executing \u0027ovs-appctl\u0027 command, it can fail and/or produce output not containing \u0027Election timer...\u0027 line.\nEven if this happens - you always run tasks which rely only on \u0027is search(search_string)\u0027. This is not enough IMHO.","commit_id":"4b3fed73603683cf3f01d1e34e7b5811a52ee4cf"}]}
