)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"6e656fc23081152deabb77770fbfab02404d8956","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"eabb1998_04a1a611","updated":"2026-06-23 13:36:38.000000000","message":"keeping this as it\u0027s easier to change from scratch instead of updating https://review.opendev.org/c/openstack/networking-generic-switch/+/963302","commit_id":"bc7bafd2e227c02b0b4a4aabd096be9d99126c81"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"b2444d9d2050432099d65f7320e1fd1a76a61d4c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6c0ca7ed_4201c439","updated":"2026-06-23 13:35:55.000000000","message":"we have another older patch that partially does this","commit_id":"bc7bafd2e227c02b0b4a4aabd096be9d99126c81"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"c870e619805935ce89f8d350520a5f6b01d71288","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"47bd18af_4fd2294e","updated":"2026-06-23 20:53:51.000000000","message":"I think avoiding neutron-lib and copying the things over for that isn\u0027t a good use of dependency avoidance. But neutron makes sense.","commit_id":"743812666a5371a7582337c4a8088513a150c28b"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"370b70fb087a035775d8efcbe2c5fd9b8cd2c1fc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0cd8f35a_651209d6","in_reply_to":"2069e219_7a4a666a","updated":"2026-06-25 15:22:55.000000000","message":"Done","commit_id":"743812666a5371a7582337c4a8088513a150c28b"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"3dfbf8e9b7bf3c2146389a0ca4e4fbb336951041","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2069e219_7a4a666a","in_reply_to":"47bd18af_4fd2294e","updated":"2026-06-24 07:46:42.000000000","message":"we import neutron-lib basically just for constants (and one utility function), neutron-lib isn\u0027t actually that light, it pulls in: oslo.db, oslo.messaging, oslo.policy, oslo.versionedobjects, pecan, keystoneauth1, os-ken, os-traits, osprofiler, SQLAlchemy, WebOb, setproctitle, and all their transitive deps.\nIt\u0027s true that if neutron-lib changes constants or parse_mappings behavior, the shim could silently diverge, and we need to maintain it to stay in sync.\nI\u0027m open to remove the neutron-lib change and just keep neutron removal, but please think fast :)","commit_id":"743812666a5371a7582337c4a8088513a150c28b"}],"networking_generic_switch/_compat.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"40ddc06cf457cd396825fcdfeea90b67f906a823","unresolved":false,"context_lines":[{"line_number":27,"context_line":"try:"},{"line_number":28,"context_line":"    from neutron_lib import constants as _nl_const"},{"line_number":29,"context_line":"    from neutron_lib import exceptions as _nl_exc"},{"line_number":30,"context_line":"    from neutron_lib.api.definitions import portbindings as _nl_pb"},{"line_number":31,"context_line":"    from neutron_lib.utils.helpers import ("},{"line_number":32,"context_line":"        parse_mappings as _nl_parse_mappings,"},{"line_number":33,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":3,"id":"6d10d088_c21f8f48","line":30,"updated":"2026-06-23 14:53:21.000000000","message":"pep8: H306: imports not in alphabetical order (neutron_lib.exceptions, neutron_lib.api.definitions.portbindings)","commit_id":"bc7bafd2e227c02b0b4a4aabd096be9d99126c81"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"40ddc06cf457cd396825fcdfeea90b67f906a823","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    from neutron_lib import exceptions as _nl_exc"},{"line_number":30,"context_line":"    from neutron_lib.api.definitions import portbindings as _nl_pb"},{"line_number":31,"context_line":"    from neutron_lib.utils.helpers import ("},{"line_number":32,"context_line":"        parse_mappings as _nl_parse_mappings,"},{"line_number":33,"context_line":"    )"},{"line_number":34,"context_line":"    _HAS_NEUTRON_LIB \u003d True"},{"line_number":35,"context_line":"except ImportError:"}],"source_content_type":"text/x-python","patch_set":3,"id":"e13149b3_6133c915","line":32,"updated":"2026-06-23 14:53:21.000000000","message":"pep8: H301: one import per line","commit_id":"bc7bafd2e227c02b0b4a4aabd096be9d99126c81"}]}
