)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"f3fa33e527dbe40513567c3e1f6020b4014fadfd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"909e0c9b_382dbdf8","updated":"2025-08-14 20:02:04.000000000","message":"Only voting +1 due to my general lack of familiarity with security groups. If it becomes absolutely necessary ping me and I can upgrade this.","commit_id":"23a2ff3d2d1914faf78cbd1938c1042fcc785053"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7749548f981b04f86fbe87b126cc933b2de59a58","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d0e71123_5d971e2d","updated":"2025-09-03 17:59:42.000000000","message":"recheck","commit_id":"61ea1f503be5f47508c06b16258844b4485276d8"}],"networking_generic_switch/devices/netmiko_devices/sonic.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a6f4b416b63549400f75502c33f10f318917a499","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    TABLE_REMOVE_COMMAND \u003d \"config acl remove table\""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    WRITE_ACL \u003d ("},{"line_number":85,"context_line":"        \u0027echo -n \"{acl}\" | base64 -d | gunzip \u0027"},{"line_number":86,"context_line":"        \u0027\u003e /etc/sonic/acl-{security_group}.json\u0027,"},{"line_number":87,"context_line":"    )"},{"line_number":88,"context_line":"    LOAD_ACL \u003d ("},{"line_number":89,"context_line":"        \"acl-loader update full --table_name {security_group_egress} \""},{"line_number":90,"context_line":"        \"/etc/sonic/acl-{security_group}.json\","}],"source_content_type":"text/x-python","patch_set":3,"id":"422a4f5c_d29237e6","line":87,"range":{"start_line":84,"start_character":0,"end_line":87,"end_character":5},"updated":"2025-08-14 14:12:31.000000000","message":"eek...","commit_id":"23a2ff3d2d1914faf78cbd1938c1042fcc785053"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"f3fa33e527dbe40513567c3e1f6020b4014fadfd","unresolved":true,"context_lines":[{"line_number":213,"context_line":"        separate ingress and egress ACL tables."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        :param sg: The security group object to convert."},{"line_number":216,"context_line":"        :returns: A dictionary representing the ACL structure."},{"line_number":217,"context_line":"        \"\"\""},{"line_number":218,"context_line":"        names \u003d self._get_acl_names(sg.id)"},{"line_number":219,"context_line":"        egress_sequence_id \u003d 1"}],"source_content_type":"text/x-python","patch_set":3,"id":"a57d1839_69371b45","line":216,"updated":"2025-08-14 20:02:04.000000000","message":"I\u0027m confused a little, this is not really feedback so much as a question: it looks like with this switch, we create  a full ACL and inject it, but I don\u0027t see anything where we\u0027d read out existing ACLs on the switch/port.\n\nI\u0027m assuming we assemble the JSON file, and the acl_loader stuff applies it like a patch?\n\nIt\u0027d be nice to have this in a comment.","commit_id":"23a2ff3d2d1914faf78cbd1938c1042fcc785053"}]}
