)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"04b9d685476aafa3bbba5882f4800b89c9f12de1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"11b27603_c6c6e347","updated":"2026-06-12 18:05:09.000000000","message":"Is there any way for us to verify this does indeed work as expected.","commit_id":"4885b1d809b33682b48a591c24d3376b65eb8b1e"}],"networking_baremetal/agent/ovn_client.py":[{"author":{"_account_id":37517,"name":"Mithun Krishnan Umesan","display_name":"mumesan","email":"mumesan@redhat.com","username":"mumesan"},"change_message_id":"35427b2eceaabc87a230bda13b7a30d87cd21020","unresolved":true,"context_lines":[{"line_number":109,"context_line":"            stream.Stream.ssl_set_protocols(\u0027TLSv1.3\u0027)"},{"line_number":110,"context_line":"            LOG.debug(\"Configured OVN SSL minimum protocol: TLSv1.3\")"},{"line_number":111,"context_line":"        else:"},{"line_number":112,"context_line":"            LOG.warning(\"OVS library does not support TLS 1.3, \""},{"line_number":113,"context_line":"                        \"falling back to existing settings\")"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        # Enable X25519MLKEM768 hybrid PQC key exchange if supported"}],"source_content_type":"text/x-python","patch_set":1,"id":"a14593d1_58e443a7","line":112,"updated":"2026-06-09 17:23:36.000000000","message":"Went with warning instead of debug because it\u0027s something that\u0027d be good to know. Is that okay or should I change it to debug instead? Same for line 121.","commit_id":"ea26689eaa5da57965617a981c0b1f8474ab8c10"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4156adeb5f873234755206e3b08ef10aec96702c","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            LOG.debug(\"Configured OVN SSL hybrid PQC key exchange: \""},{"line_number":119,"context_line":"                      \"X25519MLKEM768:X25519\")"},{"line_number":120,"context_line":"        else:"},{"line_number":121,"context_line":"            LOG.warning(\"OVS library does not support hybrid PQC key exchange, \""},{"line_number":122,"context_line":"                        \"falling back to existing settings\")"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    except (cfg.NoSuchOptError, AttributeError) as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"35de408c_2c401b41","line":121,"updated":"2026-06-09 18:34:55.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"ea26689eaa5da57965617a981c0b1f8474ab8c10"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"04b9d685476aafa3bbba5882f4800b89c9f12de1","unresolved":true,"context_lines":[{"line_number":113,"context_line":"                        \"falling back to existing settings\")"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        # Enable X25519MLKEM768 hybrid PQC key exchange if supported"},{"line_number":116,"context_line":"        if hasattr(stream.Stream, \u0027ssl_set_ciphers\u0027):"},{"line_number":117,"context_line":"            stream.Stream.ssl_set_ciphers(\u0027X25519MLKEM768:X25519\u0027)"},{"line_number":118,"context_line":"            LOG.debug(\"Configured OVN SSL hybrid PQC key exchange: \""},{"line_number":119,"context_line":"                      \"X25519MLKEM768:X25519\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"31e24ab6_e5219280","line":116,"updated":"2026-06-12 18:05:09.000000000","message":"Could you check the versions of the OVS helper library we use and just see if the library has the option. I guess what I\u0027m wondering is how along the library is and if it supports the needful or not.\n\nA desirable outocme is to not have the pattern of \"if hasattr(\".","commit_id":"4885b1d809b33682b48a591c24d3376b65eb8b1e"}],"networking_baremetal/tests/unit/agent/test_ovn_client.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4156adeb5f873234755206e3b08ef10aec96702c","unresolved":false,"context_lines":[{"line_number":348,"context_line":"            mock_set_ca,"},{"line_number":349,"context_line":"            mock_set_ciphers,"},{"line_number":350,"context_line":"            mock_set_protocols):"},{"line_number":351,"context_line":"        \"\"\"Test SSL configuration with all certificates also applies TLS 1.3 and PQC.\"\"\""},{"line_number":352,"context_line":"        cfg.CONF.set_override(\u0027ovn_sb_ca_cert\u0027, \u0027/path/to/ca.pem\u0027,"},{"line_number":353,"context_line":"                              group\u003d\u0027ovn\u0027)"},{"line_number":354,"context_line":"        cfg.CONF.set_override(\u0027ovn_sb_certificate\u0027, \u0027/path/to/cert.pem\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"433cd5a5_a8a6e24e","line":351,"updated":"2026-06-09 18:34:55.000000000","message":"pep8: E501 line too long (88 \u003e 79 characters)","commit_id":"ea26689eaa5da57965617a981c0b1f8474ab8c10"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4156adeb5f873234755206e3b08ef10aec96702c","unresolved":false,"context_lines":[{"line_number":403,"context_line":""},{"line_number":404,"context_line":"    def test_configure_ovn_ssl_handles_missing_ssl_set_protocols(self):"},{"line_number":405,"context_line":"        \"\"\"Test graceful fallback when ssl_set_protocols is not available.\"\"\""},{"line_number":406,"context_line":"        with mock.patch.object(ovn_client.stream, \u0027Stream\u0027) as mock_stream:"},{"line_number":407,"context_line":"            del mock_stream.ssl_set_protocols"},{"line_number":408,"context_line":"            # Should not raise even if ssl_set_protocols is absent"},{"line_number":409,"context_line":"            ovn_client._configure_ovn_ssl()"}],"source_content_type":"text/x-python","patch_set":1,"id":"d8e217f1_dd15a011","line":406,"updated":"2026-06-09 18:34:55.000000000","message":"pep8: H210 Missing \u0027autospec\u0027 or \u0027spec_set\u0027 keyword in mock.patch/mock.patch.object","commit_id":"ea26689eaa5da57965617a981c0b1f8474ab8c10"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4156adeb5f873234755206e3b08ef10aec96702c","unresolved":false,"context_lines":[{"line_number":410,"context_line":""},{"line_number":411,"context_line":"    def test_configure_ovn_ssl_handles_missing_ssl_set_ciphers(self):"},{"line_number":412,"context_line":"        \"\"\"Test graceful fallback when ssl_set_ciphers is not available.\"\"\""},{"line_number":413,"context_line":"        with mock.patch.object(ovn_client.stream, \u0027Stream\u0027) as mock_stream:"},{"line_number":414,"context_line":"            del mock_stream.ssl_set_ciphers"},{"line_number":415,"context_line":"            # Should not raise even if ssl_set_ciphers is absent"},{"line_number":416,"context_line":"            ovn_client._configure_ovn_ssl()"}],"source_content_type":"text/x-python","patch_set":1,"id":"8e2a15ca_05cafd67","line":413,"updated":"2026-06-09 18:34:55.000000000","message":"pep8: H210 Missing \u0027autospec\u0027 or \u0027spec_set\u0027 keyword in mock.patch/mock.patch.object","commit_id":"ea26689eaa5da57965617a981c0b1f8474ab8c10"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e17cc95a1a98fe6533bbabfdf4b23cfc3467e509","unresolved":false,"context_lines":[{"line_number":404,"context_line":"        \"\"\"Test graceful fallback when ssl_set_protocols is not available.\"\"\""},{"line_number":405,"context_line":"        with mock.patch.object(ovn_client.stream, \u0027Stream\u0027,"},{"line_number":406,"context_line":"                               spec_set\u003d[\u0027ssl_set_ciphers\u0027]):"},{"line_number":407,"context_line":"            with mock.patch.object(ovn_client.LOG, \u0027warning\u0027) as mock_warn:"},{"line_number":408,"context_line":"                ovn_client._configure_ovn_ssl()"},{"line_number":409,"context_line":"                mock_warn.assert_called_once_with("},{"line_number":410,"context_line":"                    \"OVS library does not support TLS 1.3, \""}],"source_content_type":"text/x-python","patch_set":2,"id":"fafdbaa5_c9e05183","line":407,"updated":"2026-06-10 17:02:10.000000000","message":"pep8: H210 Missing \u0027autospec\u0027 or \u0027spec_set\u0027 keyword in mock.patch/mock.patch.object","commit_id":"f72614628587c9b88d8dc8384760c6112cc77ea3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e17cc95a1a98fe6533bbabfdf4b23cfc3467e509","unresolved":false,"context_lines":[{"line_number":414,"context_line":"        \"\"\"Test graceful fallback when ssl_set_ciphers is not available.\"\"\""},{"line_number":415,"context_line":"        with mock.patch.object(ovn_client.stream, \u0027Stream\u0027,"},{"line_number":416,"context_line":"                               spec_set\u003d[\u0027ssl_set_protocols\u0027]):"},{"line_number":417,"context_line":"            with mock.patch.object(ovn_client.LOG, \u0027warning\u0027) as mock_warn:"},{"line_number":418,"context_line":"                ovn_client._configure_ovn_ssl()"},{"line_number":419,"context_line":"                mock_warn.assert_called_once_with("},{"line_number":420,"context_line":"                    \"OVS library does not support hybrid PQC key exchange, \""}],"source_content_type":"text/x-python","patch_set":2,"id":"4768b49e_8550c71e","line":417,"updated":"2026-06-10 17:02:10.000000000","message":"pep8: H210 Missing \u0027autospec\u0027 or \u0027spec_set\u0027 keyword in mock.patch/mock.patch.object","commit_id":"f72614628587c9b88d8dc8384760c6112cc77ea3"}]}
