)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"4f06216e8248f11cf4538640fb0029c726d6d108","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"24ff5e6c_4e1d13a2","updated":"2025-01-16 17:00:27.000000000","message":"recheck unrelated (ha router)","commit_id":"25cf07b38bbbc4a83d05ee6d10e47aae64b2b52c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a14747e11e9cf7ca420e543486de28ad4762c944","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a3e08733_abb8e106","updated":"2025-01-17 11:17:05.000000000","message":"Why do we need this patch? The OVS agent has its own signal handler because is being spawn using oslo_services.services.launch()","commit_id":"3d4c84b9ab7449e23f0610f5e95746387d912d56"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"87e09ab440d220d53a49f793f8d75f92bcc94d5e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1019866f_9055c22b","in_reply_to":"a3e08733_abb8e106","updated":"2025-01-17 12:55:03.000000000","message":"The ovs agent is not spawn by oslo_services. It\u0027s osken which is launching its entry point point.\nIn python signals are not pass to threads, only the main thread receive them.","commit_id":"3d4c84b9ab7449e23f0610f5e95746387d912d56"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"54f87df1f6386d5ba20e704681520317ab3f78aa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"bbd9a92e_37df3f70","updated":"2025-01-27 09:06:53.000000000","message":"Testing is very poor","commit_id":"3d59699b189a27aa21d620578d473887f8a191c0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a957d379aa03c8f3ee8ab1431bd8d3f4e40ebb01","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"ce43d9a5_4154ab56","updated":"2025-01-27 09:06:45.000000000","message":"Why don\u0027t you just register the signals before calling the hub? These signals will be received only in the main thread.","commit_id":"3d59699b189a27aa21d620578d473887f8a191c0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"1cbf713050b24535a49e323d5cd1374e32aa2205","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"b9b1e099_1dcb1eb6","in_reply_to":"bbd9a92e_37df3f70","updated":"2025-01-27 09:21:36.000000000","message":"Interesting i forgot to add file with the new tests I have added :-)","commit_id":"3d59699b189a27aa21d620578d473887f8a191c0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0c84a71cb9051d40605276059dfe39bc74f9f2f0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":17,"id":"d625c93c_2857fff3","in_reply_to":"ce43d9a5_4154ab56","updated":"2025-01-27 09:29:58.000000000","message":"I imagine I don\u0027t understand your point as it is what I\u0027m currently doing, no? Can you share with me a bit more detail of your thinking?","commit_id":"3d59699b189a27aa21d620578d473887f8a191c0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8ced21b67d5b2a70e1ddd2e5b17153517cb2246c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"076b416b_a569be0c","in_reply_to":"d625c93c_2857fff3","updated":"2025-06-27 09:22:39.000000000","message":"Done","commit_id":"3d59699b189a27aa21d620578d473887f8a191c0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"c2f2c191c26b909ed6e90b883ccf9157e3a9474c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"c1278de5_91ecaf31","updated":"2025-01-30 07:54:05.000000000","message":"recheck strange result, I\u0027ve tested py3 locally and that work well","commit_id":"236c75bd0a78313d99469764e6f7497f80867d53"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"f81e571a344598d1b0e35e0cd986a44d141896e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"189b5164_6749d751","updated":"2025-02-09 14:49:19.000000000","message":"recheck rally","commit_id":"f4559a7220402e4b23cc87c3ad51c47f888def79"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"2901597a21757ae778852d3320fb464846768baa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"efe49635_15c007a6","updated":"2025-02-21 13:50:30.000000000","message":"recheck","commit_id":"604df340b9bf1904e2d98b79972e1bb19369f1e4"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b1311e76948b9164e71b7081abaa273efb58e718","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"3d647f52_6959873b","updated":"2025-03-11 15:02:28.000000000","message":"recheck","commit_id":"c3fd51b64ea663545defcf2ba4440781e62d9dff"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"24d141ad0ee665ac7ba672ca1efdde150abc59c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"58d60370_61c7c62b","updated":"2025-03-12 13:39:34.000000000","message":"recheck test_verify_created_server_ephemeral_disk","commit_id":"c3fd51b64ea663545defcf2ba4440781e62d9dff"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4e9bd7d41547df544baa20ce1e1431d54f616f53","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":43,"id":"0e7b8a65_0fb8748f","updated":"2025-06-29 20:26:13.000000000","message":"recheck neutron-tempest-plugin-openvswitch","commit_id":"de72132d5112fcdb113b0ce7c7208fc8bd2a1810"}],"neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ovs_oskenapp.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a957d379aa03c8f3ee8ab1431bd8d3f4e40ebb01","unresolved":true,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"def register_signal(sig, handler):"},{"line_number":51,"context_line":"    signal_handlers[sig] \u003d handler"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def listen_queue():"},{"line_number":54,"context_line":"        while True:"}],"source_content_type":"text/x-python","patch_set":17,"id":"863c90cd_023b7d93","line":51,"range":{"start_line":51,"start_character":4,"end_line":51,"end_character":34},"updated":"2025-01-27 09:06:45.000000000","message":"Is this a global variable? Please declare it","commit_id":"3d59699b189a27aa21d620578d473887f8a191c0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"d37302ecedba49b67c47a28e4dfe2fc438bdbcdb","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"def register_signal(sig, handler):"},{"line_number":51,"context_line":"    signal_handlers[sig] \u003d handler"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def listen_queue():"},{"line_number":54,"context_line":"        while True:"}],"source_content_type":"text/x-python","patch_set":17,"id":"8b92f7ef_42550570","line":51,"range":{"start_line":51,"start_character":4,"end_line":51,"end_character":34},"in_reply_to":"863c90cd_023b7d93","updated":"2025-01-27 09:24:00.000000000","message":"Done","commit_id":"3d59699b189a27aa21d620578d473887f8a191c0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"f91b951aa5ff695ab5f1b95081b522d4b65ed439","unresolved":true,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"def register_signal(sig, handler):"},{"line_number":51,"context_line":"    signal_handlers[sig] \u003d handler"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def listen_queue():"},{"line_number":54,"context_line":"        while True:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9b1f0eb7_a85aa5c0","line":51,"range":{"start_line":51,"start_character":4,"end_line":51,"end_character":34},"in_reply_to":"8b92f7ef_42550570","updated":"2025-01-28 09:20:55.000000000","message":"pep8: W0602: Using global for \u0027signal_handlers\u0027 but no assignment is done (global-variable-not-assigned)\n\nLooks like based on pep8 we don\u0027t want to declare it since we don\u0027t touch its value; the address of the dict object referenced.\n\nIt\u0027s my understanding....","commit_id":"3d59699b189a27aa21d620578d473887f8a191c0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"be1721dc17fcfd8b7661e559a1d4e105ad59b4e2","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"def register_signal(sig, handler):"},{"line_number":51,"context_line":"    signal_handlers[sig] \u003d handler"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def listen_queue():"},{"line_number":54,"context_line":"        while True:"}],"source_content_type":"text/x-python","patch_set":17,"id":"fe683898_4af6b22e","line":51,"range":{"start_line":51,"start_character":4,"end_line":51,"end_character":34},"in_reply_to":"9b1f0eb7_a85aa5c0","updated":"2025-06-27 09:22:34.000000000","message":"Done","commit_id":"3d59699b189a27aa21d620578d473887f8a191c0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a957d379aa03c8f3ee8ab1431bd8d3f4e40ebb01","unresolved":true,"context_lines":[{"line_number":84,"context_line":"        # Initializes signals that can be registered"},{"line_number":85,"context_line":"        signal.signal(signal.SIGTERM, signal_handler)"},{"line_number":86,"context_line":"        signal.signal(signal.SIGINT, signal_handler)"},{"line_number":87,"context_line":"        if hasattr(signal, \u0027SIGHUP\u0027):"},{"line_number":88,"context_line":"            signal.signal(signal.SIGHUP, signal_handler)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        def _make_br_cls(br_cls):"}],"source_content_type":"text/x-python","patch_set":17,"id":"460c718e_7628ea7a","line":87,"range":{"start_line":87,"start_character":8,"end_line":87,"end_character":37},"updated":"2025-01-27 09:06:45.000000000","message":"Why this check?","commit_id":"3d59699b189a27aa21d620578d473887f8a191c0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"d37302ecedba49b67c47a28e4dfe2fc438bdbcdb","unresolved":true,"context_lines":[{"line_number":84,"context_line":"        # Initializes signals that can be registered"},{"line_number":85,"context_line":"        signal.signal(signal.SIGTERM, signal_handler)"},{"line_number":86,"context_line":"        signal.signal(signal.SIGINT, signal_handler)"},{"line_number":87,"context_line":"        if hasattr(signal, \u0027SIGHUP\u0027):"},{"line_number":88,"context_line":"            signal.signal(signal.SIGHUP, signal_handler)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        def _make_br_cls(br_cls):"}],"source_content_type":"text/x-python","patch_set":17,"id":"a95a3115_9adac61b","line":87,"range":{"start_line":87,"start_character":8,"end_line":87,"end_character":37},"in_reply_to":"460c718e_7628ea7a","updated":"2025-01-27 09:24:00.000000000","message":"It is the one that we have in the agent. I prefered to stay aligned but we can clean that part up","commit_id":"3d59699b189a27aa21d620578d473887f8a191c0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"be1721dc17fcfd8b7661e559a1d4e105ad59b4e2","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        # Initializes signals that can be registered"},{"line_number":85,"context_line":"        signal.signal(signal.SIGTERM, signal_handler)"},{"line_number":86,"context_line":"        signal.signal(signal.SIGINT, signal_handler)"},{"line_number":87,"context_line":"        if hasattr(signal, \u0027SIGHUP\u0027):"},{"line_number":88,"context_line":"            signal.signal(signal.SIGHUP, signal_handler)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        def _make_br_cls(br_cls):"}],"source_content_type":"text/x-python","patch_set":17,"id":"c33680ee_b528f67b","line":87,"range":{"start_line":87,"start_character":8,"end_line":87,"end_character":37},"in_reply_to":"a95a3115_9adac61b","updated":"2025-06-27 09:22:34.000000000","message":"The library `signal` always have SIGHUP.","commit_id":"3d59699b189a27aa21d620578d473887f8a191c0"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"da1bd4d87b298b93add8d3c14350fe94a2cbf15e","unresolved":true,"context_lines":[{"line_number":2940,"context_line":""},{"line_number":2941,"context_line":"    def _check_and_handle_signal(self):"},{"line_number":2942,"context_line":"        if self.catch_sigterm:"},{"line_number":2943,"context_line":"            LOG.info(\"Agent caught SIGTERM, quitting daemon loop.\")"},{"line_number":2944,"context_line":"            self.run_daemon_loop \u003d False"},{"line_number":2945,"context_line":"            self.catch_sigterm \u003d False"},{"line_number":2946,"context_line":"        if self.catch_sighup:"}],"source_content_type":"text/x-python","patch_set":29,"id":"821c6d3e_9293364d","line":2943,"updated":"2025-02-06 14:37:52.000000000","message":"Executing a systemctl restart well trigger:\n\n```\nFeb 06 15:35:21 devstack01 neutron-openvswitch-agent[859005]: INFO neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [None req-e8d258fb-a799-4b50-8c1e-b22b2e413f2d None None] Agent caught SIGTERM, quitting daemon loop.\n```","commit_id":"6e03adfe5458583ea78a0613169d9a1b80f15cc8"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"be1721dc17fcfd8b7661e559a1d4e105ad59b4e2","unresolved":false,"context_lines":[{"line_number":2940,"context_line":""},{"line_number":2941,"context_line":"    def _check_and_handle_signal(self):"},{"line_number":2942,"context_line":"        if self.catch_sigterm:"},{"line_number":2943,"context_line":"            LOG.info(\"Agent caught SIGTERM, quitting daemon loop.\")"},{"line_number":2944,"context_line":"            self.run_daemon_loop \u003d False"},{"line_number":2945,"context_line":"            self.catch_sigterm \u003d False"},{"line_number":2946,"context_line":"        if self.catch_sighup:"}],"source_content_type":"text/x-python","patch_set":29,"id":"edb1f747_af1885f1","line":2943,"in_reply_to":"821c6d3e_9293364d","updated":"2025-06-27 09:22:34.000000000","message":"Done","commit_id":"6e03adfe5458583ea78a0613169d9a1b80f15cc8"}]}
