)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2a5a24a79d1f39b21cccd22763de1b5cc916275c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d0517ac0_49a7c8e1","updated":"2023-09-26 18:44:21.000000000","message":"There should be a release note since on upgrade it will change that setting from True to False. Mostly nits otherwise.","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e7ec476d879f33bb30b226217609a4f0e8d0b733","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"03c1dfcf_d8888a2a","updated":"2023-10-11 00:18:34.000000000","message":"I actually just approved Terry\u0027s patch with the lock decorator, so you will probably have to rebase this to pick that up.\n\nhttps://review.opendev.org/c/openstack/neutron/+/896544","commit_id":"a169b6e1a3b9a4e7065a803ffbd4fd95a6644134"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"d36fc1ac22c3fe123d6c6673bae2108875444fe8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f48f8a50_bcb18e81","updated":"2023-10-10 20:35:05.000000000","message":"recheck\nunrelated failures","commit_id":"a169b6e1a3b9a4e7065a803ffbd4fd95a6644134"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19818901662f09479939f1144857a2ca48d482ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a6de29be_f8e9c1ff","updated":"2023-10-13 11:24:30.000000000","message":"1) Please, add a functional test for the maintenance method.\n2) What could happen when using OVN\u003cv21.12.0? What would this key do in NB_Global if written in an older version?","commit_id":"12578c5c91ce897cd69ab758a9ab3ea6040c8a4e"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"bafb70143224f4eed671be1a71d07596ddb26d83","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"62f9679b_5652e4de","in_reply_to":"a6de29be_f8e9c1ff","updated":"2023-10-13 13:03:13.000000000","message":"1) Will do, thanks!\n2) Nothing, the default in that OVN version was False and we set it explicitly to False, so there is no change when using that OVN version.","commit_id":"12578c5c91ce897cd69ab758a9ab3ea6040c8a4e"}],"neutron/conf/plugins/ml2/drivers/ovn/ovn_conf.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"71859742118b5af25c78cc6cbee32ba406484fcf","unresolved":true,"context_lines":[{"line_number":361,"context_line":"def is_learn_fdb_enabled():"},{"line_number":362,"context_line":"    return cfg.CONF.ovn.localnet_learn_fdb"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"def get_ignore_lsp_down():"},{"line_number":366,"context_line":"    return cfg.CONF.ovn_nb_global.ignore_lsp_down"}],"source_content_type":"text/x-python","patch_set":1,"id":"174a178d_e765afa8","line":366,"range":{"start_line":364,"start_character":0,"end_line":366,"end_character":49},"updated":"2023-09-26 14:27:56.000000000","message":"This is actually not used","commit_id":"730a9505f2b84d0a42b53df0237f558dac6c1575"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"43ff45a208e08852423d04bdc116618623b34eb8","unresolved":false,"context_lines":[{"line_number":361,"context_line":"def is_learn_fdb_enabled():"},{"line_number":362,"context_line":"    return cfg.CONF.ovn.localnet_learn_fdb"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"def get_ignore_lsp_down():"},{"line_number":366,"context_line":"    return cfg.CONF.ovn_nb_global.ignore_lsp_down"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f54105e_e46e6c7e","line":366,"range":{"start_line":364,"start_character":0,"end_line":366,"end_character":49},"in_reply_to":"174a178d_e765afa8","updated":"2023-09-26 14:31:28.000000000","message":"Done","commit_id":"730a9505f2b84d0a42b53df0237f558dac6c1575"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2a5a24a79d1f39b21cccd22763de1b5cc916275c","unresolved":true,"context_lines":[{"line_number":231,"context_line":"nb_global_opts \u003d ["},{"line_number":232,"context_line":"    cfg.BoolOpt(\u0027ignore_lsp_down\u0027,"},{"line_number":233,"context_line":"                default\u003dFalse,"},{"line_number":234,"context_line":"                help\u003d_(\u0027If set to false, ARP/ND reply flows for logical \u0027"},{"line_number":235,"context_line":"                       \u0027switch ports will be installed only if the port is \u0027"},{"line_number":236,"context_line":"                       \u0027up, i.e. claimed by a Chassis. If set to true, these \u0027"},{"line_number":237,"context_line":"                       \u0027flows are installed regardless of the status of the \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"32bb8a84_59359d3c","line":234,"range":{"start_line":234,"start_character":34,"end_line":234,"end_character":39},"updated":"2023-09-26 18:44:21.000000000","message":"s/False","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"62631424c1e62b7705cbe63573bea8431a98066f","unresolved":false,"context_lines":[{"line_number":231,"context_line":"nb_global_opts \u003d ["},{"line_number":232,"context_line":"    cfg.BoolOpt(\u0027ignore_lsp_down\u0027,"},{"line_number":233,"context_line":"                default\u003dFalse,"},{"line_number":234,"context_line":"                help\u003d_(\u0027If set to false, ARP/ND reply flows for logical \u0027"},{"line_number":235,"context_line":"                       \u0027switch ports will be installed only if the port is \u0027"},{"line_number":236,"context_line":"                       \u0027up, i.e. claimed by a Chassis. If set to true, these \u0027"},{"line_number":237,"context_line":"                       \u0027flows are installed regardless of the status of the \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"90c094d7_6473c92d","line":234,"range":{"start_line":234,"start_character":34,"end_line":234,"end_character":39},"in_reply_to":"32bb8a84_59359d3c","updated":"2023-09-26 19:30:33.000000000","message":"Done","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2a5a24a79d1f39b21cccd22763de1b5cc916275c","unresolved":true,"context_lines":[{"line_number":233,"context_line":"                default\u003dFalse,"},{"line_number":234,"context_line":"                help\u003d_(\u0027If set to false, ARP/ND reply flows for logical \u0027"},{"line_number":235,"context_line":"                       \u0027switch ports will be installed only if the port is \u0027"},{"line_number":236,"context_line":"                       \u0027up, i.e. claimed by a Chassis. If set to true, these \u0027"},{"line_number":237,"context_line":"                       \u0027flows are installed regardless of the status of the \u0027"},{"line_number":238,"context_line":"                       \u0027port, which can result in a situation that ARP \u0027"},{"line_number":239,"context_line":"                       \u0027request to an IP is resolved even before the relevant \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"ec7710ff_d5bce55f","line":236,"range":{"start_line":236,"start_character":65,"end_line":236,"end_character":69},"updated":"2023-09-26 18:44:21.000000000","message":"s/True","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"62631424c1e62b7705cbe63573bea8431a98066f","unresolved":false,"context_lines":[{"line_number":233,"context_line":"                default\u003dFalse,"},{"line_number":234,"context_line":"                help\u003d_(\u0027If set to false, ARP/ND reply flows for logical \u0027"},{"line_number":235,"context_line":"                       \u0027switch ports will be installed only if the port is \u0027"},{"line_number":236,"context_line":"                       \u0027up, i.e. claimed by a Chassis. If set to true, these \u0027"},{"line_number":237,"context_line":"                       \u0027flows are installed regardless of the status of the \u0027"},{"line_number":238,"context_line":"                       \u0027port, which can result in a situation that ARP \u0027"},{"line_number":239,"context_line":"                       \u0027request to an IP is resolved even before the relevant \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"def31dc5_a21dae35","line":236,"range":{"start_line":236,"start_character":65,"end_line":236,"end_character":69},"in_reply_to":"ec7710ff_d5bce55f","updated":"2023-09-26 19:30:33.000000000","message":"Done","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2a5a24a79d1f39b21cccd22763de1b5cc916275c","unresolved":true,"context_lines":[{"line_number":235,"context_line":"                       \u0027switch ports will be installed only if the port is \u0027"},{"line_number":236,"context_line":"                       \u0027up, i.e. claimed by a Chassis. If set to true, these \u0027"},{"line_number":237,"context_line":"                       \u0027flows are installed regardless of the status of the \u0027"},{"line_number":238,"context_line":"                       \u0027port, which can result in a situation that ARP \u0027"},{"line_number":239,"context_line":"                       \u0027request to an IP is resolved even before the relevant \u0027"},{"line_number":240,"context_line":"                       \u0027VM/container is running. For environments where this \u0027"},{"line_number":241,"context_line":"                       \u0027is not an issue, setting it to ``true`` can reduce \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"64b83df9_4c119d9c","line":238,"range":{"start_line":238,"start_character":62,"end_line":238,"end_character":70},"updated":"2023-09-26 18:44:21.000000000","message":"s/that an ARP","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"62631424c1e62b7705cbe63573bea8431a98066f","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                       \u0027switch ports will be installed only if the port is \u0027"},{"line_number":236,"context_line":"                       \u0027up, i.e. claimed by a Chassis. If set to true, these \u0027"},{"line_number":237,"context_line":"                       \u0027flows are installed regardless of the status of the \u0027"},{"line_number":238,"context_line":"                       \u0027port, which can result in a situation that ARP \u0027"},{"line_number":239,"context_line":"                       \u0027request to an IP is resolved even before the relevant \u0027"},{"line_number":240,"context_line":"                       \u0027VM/container is running. For environments where this \u0027"},{"line_number":241,"context_line":"                       \u0027is not an issue, setting it to ``true`` can reduce \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a6ecf79_9e9aa535","line":238,"range":{"start_line":238,"start_character":62,"end_line":238,"end_character":70},"in_reply_to":"64b83df9_4c119d9c","updated":"2023-09-26 19:30:33.000000000","message":"Done","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2a5a24a79d1f39b21cccd22763de1b5cc916275c","unresolved":true,"context_lines":[{"line_number":238,"context_line":"                       \u0027port, which can result in a situation that ARP \u0027"},{"line_number":239,"context_line":"                       \u0027request to an IP is resolved even before the relevant \u0027"},{"line_number":240,"context_line":"                       \u0027VM/container is running. For environments where this \u0027"},{"line_number":241,"context_line":"                       \u0027is not an issue, setting it to ``true`` can reduce \u0027"},{"line_number":242,"context_line":"                       \u0027the load and latency of the control plane. \u0027"},{"line_number":243,"context_line":"                       \u0027The default value is ``false``.\u0027)),"},{"line_number":244,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"704684c5_b1c82f29","line":241,"range":{"start_line":241,"start_character":55,"end_line":241,"end_character":63},"updated":"2023-09-26 18:44:21.000000000","message":"Think this should be True as well, since the ``thing`` is to make things bold in release notes.","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"62631424c1e62b7705cbe63573bea8431a98066f","unresolved":false,"context_lines":[{"line_number":238,"context_line":"                       \u0027port, which can result in a situation that ARP \u0027"},{"line_number":239,"context_line":"                       \u0027request to an IP is resolved even before the relevant \u0027"},{"line_number":240,"context_line":"                       \u0027VM/container is running. For environments where this \u0027"},{"line_number":241,"context_line":"                       \u0027is not an issue, setting it to ``true`` can reduce \u0027"},{"line_number":242,"context_line":"                       \u0027the load and latency of the control plane. \u0027"},{"line_number":243,"context_line":"                       \u0027The default value is ``false``.\u0027)),"},{"line_number":244,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"e9b91e50_2af4f1b4","line":241,"range":{"start_line":241,"start_character":55,"end_line":241,"end_character":63},"in_reply_to":"704684c5_b1c82f29","updated":"2023-09-26 19:30:33.000000000","message":"Done","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2a5a24a79d1f39b21cccd22763de1b5cc916275c","unresolved":true,"context_lines":[{"line_number":240,"context_line":"                       \u0027VM/container is running. For environments where this \u0027"},{"line_number":241,"context_line":"                       \u0027is not an issue, setting it to ``true`` can reduce \u0027"},{"line_number":242,"context_line":"                       \u0027the load and latency of the control plane. \u0027"},{"line_number":243,"context_line":"                       \u0027The default value is ``false``.\u0027)),"},{"line_number":244,"context_line":"]"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dab6aa70_e26c304f","line":243,"range":{"start_line":243,"start_character":45,"end_line":243,"end_character":54},"updated":"2023-09-26 18:44:21.000000000","message":"s/False","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"62631424c1e62b7705cbe63573bea8431a98066f","unresolved":false,"context_lines":[{"line_number":240,"context_line":"                       \u0027VM/container is running. For environments where this \u0027"},{"line_number":241,"context_line":"                       \u0027is not an issue, setting it to ``true`` can reduce \u0027"},{"line_number":242,"context_line":"                       \u0027the load and latency of the control plane. \u0027"},{"line_number":243,"context_line":"                       \u0027The default value is ``false``.\u0027)),"},{"line_number":244,"context_line":"]"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ea3dbf54_bebc1798","line":243,"range":{"start_line":243,"start_character":45,"end_line":243,"end_character":54},"in_reply_to":"dab6aa70_e26c304f","updated":"2023-09-26 19:30:33.000000000","message":"Done","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2a5a24a79d1f39b21cccd22763de1b5cc916275c","unresolved":true,"context_lines":[{"line_number":247,"context_line":"def register_opts():"},{"line_number":248,"context_line":"    cfg.CONF.register_opts(ovn_opts, group\u003d\u0027ovn\u0027)"},{"line_number":249,"context_line":"    ovs_conf.register_ovs_agent_opts()"},{"line_number":250,"context_line":"    cfg.CONF.register_opts(nb_global_opts, OVN_NB_GLOBAL)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"def list_opts():"}],"source_content_type":"text/x-python","patch_set":3,"id":"b1b302a5_6438c54e","line":250,"range":{"start_line":250,"start_character":43,"end_line":250,"end_character":56},"updated":"2023-09-26 18:44:21.000000000","message":"nit: group\u003dOVN_NB_GLOBAL","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"62631424c1e62b7705cbe63573bea8431a98066f","unresolved":false,"context_lines":[{"line_number":247,"context_line":"def register_opts():"},{"line_number":248,"context_line":"    cfg.CONF.register_opts(ovn_opts, group\u003d\u0027ovn\u0027)"},{"line_number":249,"context_line":"    ovs_conf.register_ovs_agent_opts()"},{"line_number":250,"context_line":"    cfg.CONF.register_opts(nb_global_opts, OVN_NB_GLOBAL)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"def list_opts():"}],"source_content_type":"text/x-python","patch_set":3,"id":"055ac472_61a320b5","line":250,"range":{"start_line":250,"start_character":43,"end_line":250,"end_character":56},"in_reply_to":"b1b302a5_6438c54e","updated":"2023-09-26 19:30:33.000000000","message":"Done","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e7ec476d879f33bb30b226217609a4f0e8d0b733","unresolved":true,"context_lines":[{"line_number":233,"context_line":"                default\u003dFalse,"},{"line_number":234,"context_line":"                help\u003d_(\u0027If set to False, ARP/ND reply flows for logical \u0027"},{"line_number":235,"context_line":"                       \u0027switch ports will be installed only if the port is \u0027"},{"line_number":236,"context_line":"                       \u0027up, i.e. claimed by a Chassis. If set to True, these \u0027"},{"line_number":237,"context_line":"                       \u0027flows are installed regardless of the status of the \u0027"},{"line_number":238,"context_line":"                       \u0027port, which can result in a situation that an ARP \u0027"},{"line_number":239,"context_line":"                       \u0027request to an IP is resolved even before the relevant \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"b310462b_863033b5","line":236,"range":{"start_line":236,"start_character":24,"end_line":236,"end_character":26},"updated":"2023-10-11 00:18:34.000000000","message":"nit: UP if you have to respin","commit_id":"a169b6e1a3b9a4e7065a803ffbd4fd95a6644134"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"268294b74d4bd62a10864b74f6a32a2e8c691d16","unresolved":false,"context_lines":[{"line_number":233,"context_line":"                default\u003dFalse,"},{"line_number":234,"context_line":"                help\u003d_(\u0027If set to False, ARP/ND reply flows for logical \u0027"},{"line_number":235,"context_line":"                       \u0027switch ports will be installed only if the port is \u0027"},{"line_number":236,"context_line":"                       \u0027up, i.e. claimed by a Chassis. If set to True, these \u0027"},{"line_number":237,"context_line":"                       \u0027flows are installed regardless of the status of the \u0027"},{"line_number":238,"context_line":"                       \u0027port, which can result in a situation that an ARP \u0027"},{"line_number":239,"context_line":"                       \u0027request to an IP is resolved even before the relevant \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"10396673_c381b80d","line":236,"range":{"start_line":236,"start_character":24,"end_line":236,"end_character":26},"in_reply_to":"b310462b_863033b5","updated":"2023-10-12 20:24:46.000000000","message":"Done","commit_id":"a169b6e1a3b9a4e7065a803ffbd4fd95a6644134"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"5a9e5b0b71ffea76f6caa19030eac848669506cd","unresolved":true,"context_lines":[{"line_number":848,"context_line":"    def update_lb_external_ids(self, lb_name, values, if_exists\u003dTrue):"},{"line_number":849,"context_line":"        return cmd.UpdateLbExternalIds(self, lb_name, values, if_exists)"},{"line_number":850,"context_line":""},{"line_number":851,"context_line":"    def set_nb_global_options(self, key, value):"},{"line_number":852,"context_line":"        LOG.debug(\"Setting NB_Global options:%s to %s\", key, value)"},{"line_number":853,"context_line":"        return self.db_set(\"NB_Global\", \".\", options\u003d{key: str(value).lower()})"},{"line_number":854,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"6fbfeeb4_6deb330a","line":851,"updated":"2023-09-26 14:55:16.000000000","message":"(nit) Since the method name is `set_nb_global_options`, I\u0027d expect it to take multiple options, e.g. `set_nb_global_options(self, **kwargs):` or be renamed to `set_nb_global_option`. If we left it plural, we could set all of the options at once with a single `db_set()`.","commit_id":"730a9505f2b84d0a42b53df0237f558dac6c1575"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"7c1a8d55ab1eeccc46198dd537c90fe03bc3a7e8","unresolved":false,"context_lines":[{"line_number":848,"context_line":"    def update_lb_external_ids(self, lb_name, values, if_exists\u003dTrue):"},{"line_number":849,"context_line":"        return cmd.UpdateLbExternalIds(self, lb_name, values, if_exists)"},{"line_number":850,"context_line":""},{"line_number":851,"context_line":"    def set_nb_global_options(self, key, value):"},{"line_number":852,"context_line":"        LOG.debug(\"Setting NB_Global options:%s to %s\", key, value)"},{"line_number":853,"context_line":"        return self.db_set(\"NB_Global\", \".\", options\u003d{key: str(value).lower()})"},{"line_number":854,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bbc9af48_65753340","line":851,"in_reply_to":"6fbfeeb4_6deb330a","updated":"2023-09-26 15:02:02.000000000","message":"Awesome idea","commit_id":"730a9505f2b84d0a42b53df0237f558dac6c1575"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2a5a24a79d1f39b21cccd22763de1b5cc916275c","unresolved":true,"context_lines":[{"line_number":849,"context_line":"        return cmd.UpdateLbExternalIds(self, lb_name, values, if_exists)"},{"line_number":850,"context_line":""},{"line_number":851,"context_line":"    def set_nb_global_options(self, **options):"},{"line_number":852,"context_line":"        LOG.debug(\"Setting NB_Global options: %s\", options)"},{"line_number":853,"context_line":"        return self.db_set(\"NB_Global\", \".\", options\u003doptions)"},{"line_number":854,"context_line":""},{"line_number":855,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"8d600013_ea9f8232","line":852,"updated":"2023-09-26 18:44:21.000000000","message":"nit: probably not that useful, and nothing else here does it","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"268294b74d4bd62a10864b74f6a32a2e8c691d16","unresolved":false,"context_lines":[{"line_number":849,"context_line":"        return cmd.UpdateLbExternalIds(self, lb_name, values, if_exists)"},{"line_number":850,"context_line":""},{"line_number":851,"context_line":"    def set_nb_global_options(self, **options):"},{"line_number":852,"context_line":"        LOG.debug(\"Setting NB_Global options: %s\", options)"},{"line_number":853,"context_line":"        return self.db_set(\"NB_Global\", \".\", options\u003doptions)"},{"line_number":854,"context_line":""},{"line_number":855,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"781e4527_38a53a3f","line":852,"in_reply_to":"37ce0f3c_67b9813c","updated":"2023-10-12 20:24:46.000000000","message":"Done","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"62631424c1e62b7705cbe63573bea8431a98066f","unresolved":true,"context_lines":[{"line_number":849,"context_line":"        return cmd.UpdateLbExternalIds(self, lb_name, values, if_exists)"},{"line_number":850,"context_line":""},{"line_number":851,"context_line":"    def set_nb_global_options(self, **options):"},{"line_number":852,"context_line":"        LOG.debug(\"Setting NB_Global options: %s\", options)"},{"line_number":853,"context_line":"        return self.db_set(\"NB_Global\", \".\", options\u003doptions)"},{"line_number":854,"context_line":""},{"line_number":855,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"8e73009c_e11de6e5","line":852,"in_reply_to":"8d600013_ea9f8232","updated":"2023-09-26 19:30:33.000000000","message":"I\u0027d keep it as nothing else configures an external service. I thought this in particular can be useful if someone configures OVN manually or some external tooling and then we overwrite the settings. It logs once per service start.","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e7ec476d879f33bb30b226217609a4f0e8d0b733","unresolved":true,"context_lines":[{"line_number":849,"context_line":"        return cmd.UpdateLbExternalIds(self, lb_name, values, if_exists)"},{"line_number":850,"context_line":""},{"line_number":851,"context_line":"    def set_nb_global_options(self, **options):"},{"line_number":852,"context_line":"        LOG.debug(\"Setting NB_Global options: %s\", options)"},{"line_number":853,"context_line":"        return self.db_set(\"NB_Global\", \".\", options\u003doptions)"},{"line_number":854,"context_line":""},{"line_number":855,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"37ce0f3c_67b9813c","line":852,"in_reply_to":"8e73009c_e11de6e5","updated":"2023-10-11 00:18:34.000000000","message":"Ack.","commit_id":"bbc9739c04626a70dc1c1e3c5be56122daafc5bd"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e7ec476d879f33bb30b226217609a4f0e8d0b733","unresolved":true,"context_lines":[{"line_number":1126,"context_line":"        column."},{"line_number":1127,"context_line":"        \"\"\""},{"line_number":1128,"context_line":"        if not self.has_lock:"},{"line_number":1129,"context_line":"            return"},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"        options \u003d {opt.name: str(cfg.CONF.ovn_nb_global.get(opt.name)).lower()"},{"line_number":1132,"context_line":"                   for opt in ovn_conf.nb_global_opts}"}],"source_content_type":"text/x-python","patch_set":5,"id":"2b0c33cf_44bb914d","line":1129,"updated":"2023-10-11 00:18:34.000000000","message":"Can be removed if rebased on Terry\u0027s patch.","commit_id":"a169b6e1a3b9a4e7065a803ffbd4fd95a6644134"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"268294b74d4bd62a10864b74f6a32a2e8c691d16","unresolved":false,"context_lines":[{"line_number":1126,"context_line":"        column."},{"line_number":1127,"context_line":"        \"\"\""},{"line_number":1128,"context_line":"        if not self.has_lock:"},{"line_number":1129,"context_line":"            return"},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"        options \u003d {opt.name: str(cfg.CONF.ovn_nb_global.get(opt.name)).lower()"},{"line_number":1132,"context_line":"                   for opt in ovn_conf.nb_global_opts}"}],"source_content_type":"text/x-python","patch_set":5,"id":"c7015de8_43fd52d7","line":1129,"in_reply_to":"2b0c33cf_44bb914d","updated":"2023-10-12 20:24:46.000000000","message":"Done","commit_id":"a169b6e1a3b9a4e7065a803ffbd4fd95a6644134"}],"releasenotes/notes/OVN-not-responding-to-ARP-for-DOWN-ports-3620173f00089539.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e7ec476d879f33bb30b226217609a4f0e8d0b733","unresolved":true,"context_lines":[{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Starting with OVN version v21.12.0, OVN replies to ARP requests for ports"},{"line_number":5,"context_line":"    that are in a down status. It does not reply in versions older than v21.12.0."},{"line_number":6,"context_line":"    In order to keep the same behavior in Neutron, the default OVN behavior is"},{"line_number":7,"context_line":"    overridden by Neutron and Neutron ports will no longer reply to ARP packets"},{"line_number":8,"context_line":"    if the ports are in a DOWN state. If it is required to reply to ARP for such"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"31c314c7_4b9c61ce","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":22},"updated":"2023-10-11 00:18:34.000000000","message":"nit: DOWN, since you used that below, but only if you respin","commit_id":"a169b6e1a3b9a4e7065a803ffbd4fd95a6644134"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"268294b74d4bd62a10864b74f6a32a2e8c691d16","unresolved":false,"context_lines":[{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Starting with OVN version v21.12.0, OVN replies to ARP requests for ports"},{"line_number":5,"context_line":"    that are in a down status. It does not reply in versions older than v21.12.0."},{"line_number":6,"context_line":"    In order to keep the same behavior in Neutron, the default OVN behavior is"},{"line_number":7,"context_line":"    overridden by Neutron and Neutron ports will no longer reply to ARP packets"},{"line_number":8,"context_line":"    if the ports are in a DOWN state. If it is required to reply to ARP for such"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bcda66c0_2b3bed89","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":22},"in_reply_to":"31c314c7_4b9c61ce","updated":"2023-10-12 20:24:46.000000000","message":"Done","commit_id":"a169b6e1a3b9a4e7065a803ffbd4fd95a6644134"}]}
