)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"21c72eb074028b9859339036233bc64d9cd9f9f3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d797260c_63cda471","updated":"2023-01-20 17:03:49.000000000","message":"Please open a launchpad bug to document this feature.\n\nYou need also to add this as a new feature in a release note. Make sure you highlight the OVN version needed to have this feature.","commit_id":"8665f83c41f86ec45fab473d85e84da959f374cd"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"7e17c0b1beab5f883af9e24152159e81b9654c62","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"2f5b0fa5_864ec483","in_reply_to":"d797260c_63cda471","updated":"2023-01-23 13:36:34.000000000","message":"Thanks lot for your review! I added both","commit_id":"8665f83c41f86ec45fab473d85e84da959f374cd"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"258e16daff38f5eaa4f5d0925dd0a9745a53c072","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4822b7ec_c93b8e50","updated":"2023-01-26 17:14:47.000000000","message":"Looks good to me. One nitty suggestion/optimization that I could honestly go either way on, but submitting it for your consideration.","commit_id":"9d52cf85cb3e915adb43d6a01d4d1b1d7f086ab1"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"1ff9cd2bd8763ee3b497cc0f7e3571c87402288f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"20f37ef1_6a4d0b7c","updated":"2023-01-27 18:05:55.000000000","message":"Looks good!","commit_id":"3e9ab5022b004f51f3ba93726fbce9a30e821ff8"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"703ea55846faa3e205bc700ef27015bdfc2e464a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"b386eec2_46954172","updated":"2023-01-27 19:59:23.000000000","message":"recheck\n\nlooks like a server timeout that isn\u0027t related.","commit_id":"3e9ab5022b004f51f3ba93726fbce9a30e821ff8"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9b266b3546e42efbe7c39977537a66bfddb06325","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"2ee2de7d_0da8bd73","updated":"2023-01-30 11:58:40.000000000","message":"Just some nits but I\u0027m givine -1 because I think that imports sections should be fixed before we will merge it. Other than that LGTM for me.","commit_id":"fb18a804b674bd0ba23d8da9e6b66020983e799a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"e0c0e819a4948e172dbb4342c2c01b7fd8938a13","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"dd16121a_f1ed1acf","updated":"2023-01-30 08:34:49.000000000","message":"Looks, ok, thanks for amending the commit msg","commit_id":"fb18a804b674bd0ba23d8da9e6b66020983e799a"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"e8d2fb6822cc03ffe57565be3c52b72f9a7d392a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"43896bed_a0471f93","in_reply_to":"2ee2de7d_0da8bd73","updated":"2023-01-30 12:15:58.000000000","message":"Thanks for the review! It should be ok now","commit_id":"fb18a804b674bd0ba23d8da9e6b66020983e799a"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"d01695d533fba2bf63132b1746f94d71356ed760","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"0cf2a4e4_43ba68d5","updated":"2023-02-01 08:30:36.000000000","message":"recheck unrelated failure on test_agent_metadata_port_ip_update_event","commit_id":"12dc4dc963aacd271b9455b748c07a85f17b443f"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"7645e8d2f85d0dab3489397a9287019bdeb5f46c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"8ec6e905_45cbfeaa","updated":"2023-02-01 10:56:30.000000000","message":"recheck neutron-ovn-rally-task timed out","commit_id":"f7e31b4c0533687622f8f2644c802574e31536f7"}],"neutron/services/logapi/drivers/ovn/driver.py":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"258e16daff38f5eaa4f5d0925dd0a9745a53c072","unresolved":true,"context_lines":[{"line_number":178,"context_line":"                    (\"name\", []),"},{"line_number":179,"context_line":"                    (\"severity\", [])"},{"line_number":180,"context_line":"                ))"},{"line_number":181,"context_line":"                # TODO(egarciar): There wont be a need to check if label exists"},{"line_number":182,"context_line":"                # once minimum version for OVN is \u003e\u003d 22.03"},{"line_number":183,"context_line":"                if hasattr(acl, \"label\"):"},{"line_number":184,"context_line":"                    ovn_txn.add(self.ovn_nb.db_set("}],"source_content_type":"text/x-python","patch_set":8,"id":"3fdaf0a1_809151ef","line":181,"updated":"2023-01-26 17:14:47.000000000","message":"(nit) I think we could do something here/below like:\n\n columns \u003d {\u0027log\u0027: False, \u0027meter\u0027: [], \u0027name\u0027: [], \u0027severity\u0027: []}\n if hasattr(acl, \u0027label\u0027):\n     columns[\u0027label\u0027] \u003d 0\n ovn_txn.add(self.ovn_nb.db_set(\u0027ACL\u0027, acl_uuid, *columns.items()))\n \nif we wanted to do one less ACL txn op/lookup. Though it\u0027s a lookup by uuid, so maybe it\u0027s not worth the code being less clear--and I can\u0027t think of a good way to get rid of the db_remove().","commit_id":"9d52cf85cb3e915adb43d6a01d4d1b1d7f086ab1"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"b842ab9659ae217a76436abae92a247bc228b23d","unresolved":false,"context_lines":[{"line_number":178,"context_line":"                    (\"name\", []),"},{"line_number":179,"context_line":"                    (\"severity\", [])"},{"line_number":180,"context_line":"                ))"},{"line_number":181,"context_line":"                # TODO(egarciar): There wont be a need to check if label exists"},{"line_number":182,"context_line":"                # once minimum version for OVN is \u003e\u003d 22.03"},{"line_number":183,"context_line":"                if hasattr(acl, \"label\"):"},{"line_number":184,"context_line":"                    ovn_txn.add(self.ovn_nb.db_set("}],"source_content_type":"text/x-python","patch_set":8,"id":"94d6508e_fe0cc62f","line":181,"in_reply_to":"3fdaf0a1_809151ef","updated":"2023-01-26 18:58:14.000000000","message":"Thanks for the suggestion, I liked your way better :)","commit_id":"9d52cf85cb3e915adb43d6a01d4d1b1d7f086ab1"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9b266b3546e42efbe7c39977537a66bfddb06325","unresolved":true,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import random"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from collections import namedtuple"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron_lib.api.definitions import portbindings"}],"source_content_type":"text/x-python","patch_set":11,"id":"3986db43_e373146d","line":14,"updated":"2023-01-30 11:58:40.000000000","message":"sorry for nitpicking but this empty line is not needed. It should be in the same section as import of collections.namedtuple","commit_id":"fb18a804b674bd0ba23d8da9e6b66020983e799a"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"e8d2fb6822cc03ffe57565be3c52b72f9a7d392a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import random"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from collections import namedtuple"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron_lib.api.definitions import portbindings"}],"source_content_type":"text/x-python","patch_set":11,"id":"9c0c6d90_fd0df1ea","line":14,"in_reply_to":"3986db43_e373146d","updated":"2023-01-30 12:15:58.000000000","message":"Done","commit_id":"fb18a804b674bd0ba23d8da9e6b66020983e799a"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"8e01da5698df58482ffe06311a52116a27768099","unresolved":true,"context_lines":[{"line_number":209,"context_line":"                # once minimum version for OVN is \u003e\u003d 22.03"},{"line_number":210,"context_line":"                if hasattr(acl, \"label\"):"},{"line_number":211,"context_line":"                    # Label needs to be an unsigned 32 bit number and not 0."},{"line_number":212,"context_line":"                    columns[\"label\"] \u003d random.getrandbits(32)"},{"line_number":213,"context_line":"                    while columns[\"label\"] \u003d\u003d 0:"},{"line_number":214,"context_line":"                        columns[\"label\"] \u003d random.getrandbits(32)"},{"line_number":215,"context_line":"                    columns[\"options\"] \u003d {\u0027log-related\u0027: \"true\"}"},{"line_number":216,"context_line":"                ovn_txn.add(self.ovn_nb.db_set("},{"line_number":217,"context_line":"                    \"ACL\", acl_uuid, *columns.items()))"}],"source_content_type":"text/x-python","patch_set":13,"id":"8d2e04c7_bbc16e54","line":214,"range":{"start_line":212,"start_character":0,"end_line":214,"end_character":65},"updated":"2023-01-31 17:32:39.000000000","message":"Would \n columns[\"label\"] \u003d random.randrange(1, 2**32)\n \nbe the same and avoid the while loop?","commit_id":"0079bff867192aacc569bd22e2db8078ee0c0b7d"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"db6ba40059e5f680bdc2b930c81f7e12cd12ca61","unresolved":true,"context_lines":[{"line_number":209,"context_line":"                # once minimum version for OVN is \u003e\u003d 22.03"},{"line_number":210,"context_line":"                if hasattr(acl, \"label\"):"},{"line_number":211,"context_line":"                    # Label needs to be an unsigned 32 bit number and not 0."},{"line_number":212,"context_line":"                    columns[\"label\"] \u003d random.getrandbits(32)"},{"line_number":213,"context_line":"                    while columns[\"label\"] \u003d\u003d 0:"},{"line_number":214,"context_line":"                        columns[\"label\"] \u003d random.getrandbits(32)"},{"line_number":215,"context_line":"                    columns[\"options\"] \u003d {\u0027log-related\u0027: \"true\"}"},{"line_number":216,"context_line":"                ovn_txn.add(self.ovn_nb.db_set("},{"line_number":217,"context_line":"                    \"ACL\", acl_uuid, *columns.items()))"}],"source_content_type":"text/x-python","patch_set":13,"id":"8e827142_d429651e","line":214,"range":{"start_line":212,"start_character":0,"end_line":214,"end_character":65},"in_reply_to":"8d2e04c7_bbc16e54","updated":"2023-01-31 17:35:07.000000000","message":"In case it would, the \"2**32\" part should be a module level constant calculated just once on module import :)","commit_id":"0079bff867192aacc569bd22e2db8078ee0c0b7d"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"5b7fa6ad81bdfd58fdee0d97b9aa6a7d8ca1842b","unresolved":false,"context_lines":[{"line_number":209,"context_line":"                # once minimum version for OVN is \u003e\u003d 22.03"},{"line_number":210,"context_line":"                if hasattr(acl, \"label\"):"},{"line_number":211,"context_line":"                    # Label needs to be an unsigned 32 bit number and not 0."},{"line_number":212,"context_line":"                    columns[\"label\"] \u003d random.getrandbits(32)"},{"line_number":213,"context_line":"                    while columns[\"label\"] \u003d\u003d 0:"},{"line_number":214,"context_line":"                        columns[\"label\"] \u003d random.getrandbits(32)"},{"line_number":215,"context_line":"                    columns[\"options\"] \u003d {\u0027log-related\u0027: \"true\"}"},{"line_number":216,"context_line":"                ovn_txn.add(self.ovn_nb.db_set("},{"line_number":217,"context_line":"                    \"ACL\", acl_uuid, *columns.items()))"}],"source_content_type":"text/x-python","patch_set":13,"id":"67ee7646_8936e0f3","line":214,"range":{"start_line":212,"start_character":0,"end_line":214,"end_character":65},"in_reply_to":"8e827142_d429651e","updated":"2023-01-31 17:59:47.000000000","message":"Done! I used 2**32 - 1 as MAX_INT_LABEL since the interval starts at 0","commit_id":"0079bff867192aacc569bd22e2db8078ee0c0b7d"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"07b74d3cbad3f4d31a5e1047ed82cd0ea03c4e33","unresolved":true,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"log_cfg.register_log_driver_opts()"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"MAX_INT_LABEL \u003d 2**32 - 1"},{"line_number":43,"context_line":"SUPPORTED_LOGGING_TYPES \u003d [log_const.SECURITY_GROUP]"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"b87673c2_7b021336","line":42,"range":{"start_line":42,"start_character":16,"end_line":42,"end_character":25},"updated":"2023-01-31 18:32:41.000000000","message":"I think it should be just 2**32 as the stop value is excluded from the range:\n\nhttps://docs.python.org/3/library/random.html#random.randrange\nhttps://docs.python.org/3/library/stdtypes.html#range\n\n\"For a positive step, the contents of a range r are determined by the formula r[i] \u003d start + step*i where i \u003e\u003d 0 and r[i] \u003c stop.\"","commit_id":"12dc4dc963aacd271b9455b748c07a85f17b443f"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"7a1b015419b0ff5cafec3f7ce6ce7165e2d1c394","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"log_cfg.register_log_driver_opts()"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"MAX_INT_LABEL \u003d 2**32 - 1"},{"line_number":43,"context_line":"SUPPORTED_LOGGING_TYPES \u003d [log_const.SECURITY_GROUP]"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"4b93197d_19fdcace","line":42,"range":{"start_line":42,"start_character":16,"end_line":42,"end_character":25},"in_reply_to":"b87673c2_7b021336","updated":"2023-02-01 08:33:54.000000000","message":"Done","commit_id":"12dc4dc963aacd271b9455b748c07a85f17b443f"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"48a5ff6ee9047d709b71673a0f3fd2f4f99bab25","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                # once minimum version for OVN is \u003e\u003d 22.03"},{"line_number":182,"context_line":"                if hasattr(acl, \u0027label\u0027):"},{"line_number":183,"context_line":"                    columns[\u0027label\u0027] \u003d 0"},{"line_number":184,"context_line":"                    ovn_txn.add(self.ovn_nb.db_remove("},{"line_number":185,"context_line":"                        \"ACL\", acl_uuid, \u0027options\u0027, \u0027log-related\u0027))"},{"line_number":186,"context_line":"                ovn_txn.add(self.ovn_nb.db_set("},{"line_number":187,"context_line":"                    \"ACL\", acl_uuid, *columns.items()))"},{"line_number":188,"context_line":"                acl_changes +\u003d 1"}],"source_content_type":"text/x-python","patch_set":15,"id":"2e904797_808e1f1c","line":185,"range":{"start_line":184,"start_character":20,"end_line":185,"end_character":67},"updated":"2023-02-01 09:01:00.000000000","message":"I was wondering what could happen if \"log-related\" is not in \"options\", but the \"DbRemoveCommand\" first checks if this value is in the column (for records created before this patch).","commit_id":"f7e31b4c0533687622f8f2644c802574e31536f7"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"837a5e7f0a6cbee752329031646b78f9337cedd2","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                # once minimum version for OVN is \u003e\u003d 22.03"},{"line_number":182,"context_line":"                if hasattr(acl, \u0027label\u0027):"},{"line_number":183,"context_line":"                    columns[\u0027label\u0027] \u003d 0"},{"line_number":184,"context_line":"                    ovn_txn.add(self.ovn_nb.db_remove("},{"line_number":185,"context_line":"                        \"ACL\", acl_uuid, \u0027options\u0027, \u0027log-related\u0027))"},{"line_number":186,"context_line":"                ovn_txn.add(self.ovn_nb.db_set("},{"line_number":187,"context_line":"                    \"ACL\", acl_uuid, *columns.items()))"},{"line_number":188,"context_line":"                acl_changes +\u003d 1"}],"source_content_type":"text/x-python","patch_set":15,"id":"1d4d22d0_a07fb860","line":185,"range":{"start_line":184,"start_character":20,"end_line":185,"end_character":67},"in_reply_to":"20be5d28_cdf508f4","updated":"2023-02-01 20:14:57.000000000","message":"When I\u0027m thinking about it, perhaps we need to run the db-sync script whenever OVN schema is updated. Which brings me to another thought which is if the db sync actually fixes it.","commit_id":"f7e31b4c0533687622f8f2644c802574e31536f7"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f37f69f5d6c06ba8fdac4bb5d81bed6561757828","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                # once minimum version for OVN is \u003e\u003d 22.03"},{"line_number":182,"context_line":"                if hasattr(acl, \u0027label\u0027):"},{"line_number":183,"context_line":"                    columns[\u0027label\u0027] \u003d 0"},{"line_number":184,"context_line":"                    ovn_txn.add(self.ovn_nb.db_remove("},{"line_number":185,"context_line":"                        \"ACL\", acl_uuid, \u0027options\u0027, \u0027log-related\u0027))"},{"line_number":186,"context_line":"                ovn_txn.add(self.ovn_nb.db_set("},{"line_number":187,"context_line":"                    \"ACL\", acl_uuid, *columns.items()))"},{"line_number":188,"context_line":"                acl_changes +\u003d 1"}],"source_content_type":"text/x-python","patch_set":15,"id":"20be5d28_cdf508f4","line":185,"range":{"start_line":184,"start_character":20,"end_line":185,"end_character":67},"in_reply_to":"2e904797_808e1f1c","updated":"2023-02-01 20:12:48.000000000","message":"That\u0027s a great point. I think we need to cover this scenario in the functional tests too.","commit_id":"f7e31b4c0533687622f8f2644c802574e31536f7"}],"releasenotes/notes/sgl-log-related-traffic-ovn-96b304ab744de13e.yaml":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9b266b3546e42efbe7c39977537a66bfddb06325","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Before, it was not possible to log the full connection between server and"},{"line_number":5,"context_line":"    client, but from OVN version 22.03 onwards the log-related feature allows"},{"line_number":6,"context_line":"    us to record the full connection (this was also backported to OVN 21.12)."},{"line_number":7,"context_line":"    For more info see `bug LP#\u003chttps://bugs.launchpad.net/neutron/+bug/2003706\u003e`"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"3ec021ff_cec173e4","line":7,"updated":"2023-01-30 11:58:40.000000000","message":"IMO it is more like \"core OVN\" release note instead of Neutron. How about something like:\n\"Neutron can record full connection using log-related feature introduced in OVN 21.12\"\nor something like that?","commit_id":"fb18a804b674bd0ba23d8da9e6b66020983e799a"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"e8d2fb6822cc03ffe57565be3c52b72f9a7d392a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Before, it was not possible to log the full connection between server and"},{"line_number":5,"context_line":"    client, but from OVN version 22.03 onwards the log-related feature allows"},{"line_number":6,"context_line":"    us to record the full connection (this was also backported to OVN 21.12)."},{"line_number":7,"context_line":"    For more info see `bug LP#\u003chttps://bugs.launchpad.net/neutron/+bug/2003706\u003e`"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"13dfe436_9b18d776","line":7,"in_reply_to":"3ec021ff_cec173e4","updated":"2023-01-30 12:15:58.000000000","message":"You are right we didn\u0027t need that many details, I changed it, thanks 😊","commit_id":"fb18a804b674bd0ba23d8da9e6b66020983e799a"}]}
