)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"9b7c2e71507aaa4fef7d2eb7d974bc5b79726333","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"27c1e0d2_d28184d0","updated":"2022-06-03 04:18:10.000000000","message":"recheck","commit_id":"69d724a6f32e4f6a68521a5ae699bcc1e3797971"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"df2586aea917be863e1885f9dc74cc79cd22aa77","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b3b4414d_5d2beab5","updated":"2022-06-02 16:49:48.000000000","message":"recheck the fix for the test jobs has landed","commit_id":"69d724a6f32e4f6a68521a5ae699bcc1e3797971"}],"glean/cmd.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"211adb98d3548041e4283e1acadcdcd11674bee9","unresolved":true,"context_lines":[{"line_number":376,"context_line":"            elif interface[\u0027type\u0027] \u003d\u003d \u0027ipv4_dhcp\u0027:"},{"line_number":377,"context_line":"                files \u003d _write_rh_dhcp(_name, interface, args)"},{"line_number":378,"context_line":"            elif interface[\u0027type\u0027] \u003d\u003d \u0027manual\u0027:"},{"line_number":379,"context_line":"                files \u003d _write_rh_manual(_name, interface, args)"},{"line_number":380,"context_line":"            elif interface[\u0027type\u0027] in (\u0027ipv6\u0027, \u0027ipv6_slaac\u0027):"},{"line_number":381,"context_line":"                files \u003d _write_rh_v6_interface(_name, interface, args, files)"},{"line_number":382,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bc8bd509_aa584d24","line":379,"updated":"2022-06-02 01:41:47.000000000","message":"The three _write_rh_* calls above all modify a new dict instead of updating the passed dict like _write_rh_v6_interface does. The old code used dict.update() to add in the configs. The new code uses assignment which will override the data instead.\n\nI\u0027m concerned that we are changing behavior but this may be correct because we are trying to treat ipv4, ipv4_dhcp, and manual as exclusive situations? At the very least maybe we need to log that situation?","commit_id":"17090a9e29295313ac0e92dbd8a8d529a2e87740"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"df7cb6bb186cf162e7285167c3fbacec53f957c9","unresolved":false,"context_lines":[{"line_number":376,"context_line":"            elif interface[\u0027type\u0027] \u003d\u003d \u0027ipv4_dhcp\u0027:"},{"line_number":377,"context_line":"                files \u003d _write_rh_dhcp(_name, interface, args)"},{"line_number":378,"context_line":"            elif interface[\u0027type\u0027] \u003d\u003d \u0027manual\u0027:"},{"line_number":379,"context_line":"                files \u003d _write_rh_manual(_name, interface, args)"},{"line_number":380,"context_line":"            elif interface[\u0027type\u0027] in (\u0027ipv6\u0027, \u0027ipv6_slaac\u0027):"},{"line_number":381,"context_line":"                files \u003d _write_rh_v6_interface(_name, interface, args, files)"},{"line_number":382,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"155ca516_23263ef7","line":379,"in_reply_to":"bc8bd509_aa584d24","updated":"2022-06-02 06:59:09.000000000","message":"Thanks, good catch.\n\nI *think* this is safe, because the only combo it makes sense to have both of is ipv4+ipv6 (i.e. doesn\u0027t make sense to have ipv4 and ipv4_dhcp).  So these other ones won\u0027t overwrite each other.\n\nHowever, moving this back to directly update the files_to_write dict should make this clearer.  I\u0027ve done that in the new revision, and also added an else clause to log if we\u0027re falling out of this and not handling something we don\u0027t know about.","commit_id":"17090a9e29295313ac0e92dbd8a8d529a2e87740"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"81f1a77e90e49f297c2ef53641ad9f8b02a58c01","unresolved":true,"context_lines":[{"line_number":383,"context_line":"            elif interface[\u0027type\u0027] in (\u0027ipv6\u0027, \u0027ipv6_slaac\u0027):"},{"line_number":384,"context_line":"                files_to_write.update("},{"line_number":385,"context_line":"                    _write_rh_v6_interface(_name,"},{"line_number":386,"context_line":"                                           interface, args, files_to_write))"},{"line_number":387,"context_line":"            else:"},{"line_number":388,"context_line":"                logging.error("},{"line_number":389,"context_line":"                    \"Unhandled interface %s/%s\" % (_name, interface[\u0027type\u0027]))"}],"source_content_type":"text/x-python","patch_set":2,"id":"c2e5d12d_95dd761e","line":386,"updated":"2022-06-02 15:26:05.000000000","message":"This appears to work in local repl testing but calling out that this is roughly equivalent to:\n\n  d \u003d { \u0027foo\u0027: \u0027bar\u0027}\n  d.update(d)\n\nYou can probably drop the d.update() call on this case or keep it for consistency since repl testing shows it is probably fine.","commit_id":"69d724a6f32e4f6a68521a5ae699bcc1e3797971"}]}
