)]}'
{"/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":"1e15d843302d2a4f2ce0f3d2a163ddb875e11aa8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"7a5bae81_5fc36005","updated":"2026-06-05 14:31:45.000000000","message":"Recheck looks like a transient timeout or overlapping timeout issue on one of the job runs. The last agent boot appeared to sort of get started but not get started all the way as in checking in with ironic before it was really running. :\\","commit_id":"c7e79822565741f3886be5be242383d666445a55"}],"networking_generic_switch/devices/netmiko_devices/sonic.py":[{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"99b7668ed50d15c889497b67733d0e1289cdd80c","unresolved":true,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        super(Sonic, self).__init__(device_cfg, *args, **kwargs)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def _get_multicast_group(self, vni: int) -\u003e str:"},{"line_number":118,"context_line":"        \"\"\"Calculate multicast group address for a given VNI."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        Delegates to shared utility function for consistent multicast"},{"line_number":121,"context_line":"        group derivation logic across all vendors."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        :param vni: VXLAN Network Identifier"},{"line_number":124,"context_line":"        :returns: Multicast group IP address (e.g., \u0027239.1.1.100\u0027)"},{"line_number":125,"context_line":"        :raises: GenericSwitchNetmikoConfigError if no mapping or base"},{"line_number":126,"context_line":"        \"\"\""},{"line_number":127,"context_line":"        return device_utils.get_vxlan_multicast_group("},{"line_number":128,"context_line":"            vni, self.mcast_group_map, self.mcast_group_base,"},{"line_number":129,"context_line":"            self.device_name)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    ADD_NETWORK \u003d ("},{"line_number":132,"context_line":"        \u0027config vlan add {segmentation_id}\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bc7fabfe_fc6461ae","line":129,"range":{"start_line":117,"start_character":0,"end_line":129,"end_character":29},"updated":"2026-04-17 11:15:03.000000000","message":"Unused, if we do not support multicast we don\u0027t need this function?","commit_id":"ff9563982fb681f22c8658c5f469f02b3d17637e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1e15d843302d2a4f2ce0f3d2a163ddb875e11aa8","unresolved":true,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        super(Sonic, self).__init__(device_cfg, *args, **kwargs)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def _get_multicast_group(self, vni: int) -\u003e str:"},{"line_number":118,"context_line":"        \"\"\"Calculate multicast group address for a given VNI."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        Delegates to shared utility function for consistent multicast"},{"line_number":121,"context_line":"        group derivation logic across all vendors."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        :param vni: VXLAN Network Identifier"},{"line_number":124,"context_line":"        :returns: Multicast group IP address (e.g., \u0027239.1.1.100\u0027)"},{"line_number":125,"context_line":"        :raises: GenericSwitchNetmikoConfigError if no mapping or base"},{"line_number":126,"context_line":"        \"\"\""},{"line_number":127,"context_line":"        return device_utils.get_vxlan_multicast_group("},{"line_number":128,"context_line":"            vni, self.mcast_group_map, self.mcast_group_base,"},{"line_number":129,"context_line":"            self.device_name)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    ADD_NETWORK \u003d ("},{"line_number":132,"context_line":"        \u0027config vlan add {segmentation_id}\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"4d34e118_cc9e2397","line":129,"range":{"start_line":117,"start_character":0,"end_line":129,"end_character":29},"in_reply_to":"bc7fabfe_fc6461ae","updated":"2026-06-05 14:31:45.000000000","message":"Good catch, removing.","commit_id":"ff9563982fb681f22c8658c5f469f02b3d17637e"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"99b7668ed50d15c889497b67733d0e1289cdd80c","unresolved":true,"context_lines":[{"line_number":573,"context_line":"                error\u003d\u0027ngs_bgp_asn configuration parameter is required \u0027"},{"line_number":574,"context_line":"                      \u0027for L2VNI support on SONiC switches\u0027)"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        if self.bum_replication_mode \u003d\u003d \u0027multicast\u0027:"},{"line_number":577,"context_line":"            raise exc.GenericSwitchNetmikoConfigError("},{"line_number":578,"context_line":"                switch\u003dself.device_name,"},{"line_number":579,"context_line":"                error\u003d\u0027Multicast BUM replication mode is not supported \u0027"},{"line_number":580,"context_line":"                      \u0027by SONiC. SONiC only supports ingress-replication \u0027"},{"line_number":581,"context_line":"                      \u0027mode with BGP EVPN. Please set \u0027"},{"line_number":582,"context_line":"                      \u0027ngs_bum_replication_mode\u003dingress-replication or \u0027"},{"line_number":583,"context_line":"                      \u0027remove this parameter to use the default.\u0027)"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"        cmds \u003d []"},{"line_number":586,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7e5b5d57_c3738793","line":583,"range":{"start_line":576,"start_character":0,"end_line":583,"end_character":66},"updated":"2026-04-17 11:15:03.000000000","message":"Would it make sense to raise the config error in init instead?","commit_id":"ff9563982fb681f22c8658c5f469f02b3d17637e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1e15d843302d2a4f2ce0f3d2a163ddb875e11aa8","unresolved":true,"context_lines":[{"line_number":573,"context_line":"                error\u003d\u0027ngs_bgp_asn configuration parameter is required \u0027"},{"line_number":574,"context_line":"                      \u0027for L2VNI support on SONiC switches\u0027)"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        if self.bum_replication_mode \u003d\u003d \u0027multicast\u0027:"},{"line_number":577,"context_line":"            raise exc.GenericSwitchNetmikoConfigError("},{"line_number":578,"context_line":"                switch\u003dself.device_name,"},{"line_number":579,"context_line":"                error\u003d\u0027Multicast BUM replication mode is not supported \u0027"},{"line_number":580,"context_line":"                      \u0027by SONiC. SONiC only supports ingress-replication \u0027"},{"line_number":581,"context_line":"                      \u0027mode with BGP EVPN. Please set \u0027"},{"line_number":582,"context_line":"                      \u0027ngs_bum_replication_mode\u003dingress-replication or \u0027"},{"line_number":583,"context_line":"                      \u0027remove this parameter to use the default.\u0027)"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"        cmds \u003d []"},{"line_number":586,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"06114266_e948b3f9","line":583,"range":{"start_line":576,"start_character":0,"end_line":583,"end_character":66},"in_reply_to":"7e5b5d57_c3738793","updated":"2026-06-05 14:31:45.000000000","message":"Yes, moving.","commit_id":"ff9563982fb681f22c8658c5f469f02b3d17637e"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"8e38475111ff43705c23ec42aee084241ed0fee7","unresolved":true,"context_lines":[{"line_number":593,"context_line":"            f\u0027-c \"rd auto\" \u0027"},{"line_number":594,"context_line":"            f\u0027-c \"route-target import auto\" \u0027"},{"line_number":595,"context_line":"            f\u0027-c \"route-target export auto\"\u0027)"},{"line_number":596,"context_line":"        cmds.append(evpn_cmd)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        # Step 2: Map VLAN to VNI"},{"line_number":599,"context_line":"        vxlan_cmds \u003d self._format_commands("}],"source_content_type":"text/x-python","patch_set":1,"id":"81d15d4c_662a0e24","line":596,"updated":"2026-04-14 23:48:24.000000000","message":"According to my comment in the previous change, this string could be moved to BUM_REPLICATION_INGRESS","commit_id":"ff9563982fb681f22c8658c5f469f02b3d17637e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1e15d843302d2a4f2ce0f3d2a163ddb875e11aa8","unresolved":true,"context_lines":[{"line_number":593,"context_line":"            f\u0027-c \"rd auto\" \u0027"},{"line_number":594,"context_line":"            f\u0027-c \"route-target import auto\" \u0027"},{"line_number":595,"context_line":"            f\u0027-c \"route-target export auto\"\u0027)"},{"line_number":596,"context_line":"        cmds.append(evpn_cmd)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        # Step 2: Map VLAN to VNI"},{"line_number":599,"context_line":"        vxlan_cmds \u003d self._format_commands("}],"source_content_type":"text/x-python","patch_set":1,"id":"4398e1d0_bd55ac30","line":596,"in_reply_to":"81d15d4c_662a0e24","updated":"2026-06-05 14:31:45.000000000","message":"Handled in another change.","commit_id":"ff9563982fb681f22c8658c5f469f02b3d17637e"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"caf530713628dd1fe1735e55363c4fbdefa88539","unresolved":true,"context_lines":[{"line_number":121,"context_line":"            device_cfg)"},{"line_number":122,"context_line":"        self.bum_replication_mode \u003d mcast_config.bum_replication_mode"},{"line_number":123,"context_line":"        if self.bum_replication_mode \u003d\u003d \u0027multicast\u0027:"},{"line_number":124,"context_line":"            raise exc.GenericSwitchNetmikoConfigError("},{"line_number":125,"context_line":"                switch\u003ddevice_cfg.get(\u0027ip\u0027, \u0027unknown\u0027),"},{"line_number":126,"context_line":"                error\u003d\u0027Multicast BUM replication mode is not \u0027"},{"line_number":127,"context_line":"                      \u0027supported by SONiC. SONiC only supports \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"6dbb6300_95b6a3f6","line":124,"range":{"start_line":124,"start_character":22,"end_line":124,"end_character":53},"updated":"2026-05-20 19:18:50.000000000","message":"This exception does not take any arguments.\nhttps://opendev.org/openstack/networking-generic-switch/src/branch/master/networking_generic_switch/exceptions.py#L51\n\nIt was changed because of https://bugs.launchpad.net/networking-generic-switch/+bug/2100566\n\nSo pattern elsewhere is to log the details first, then raise the error.","commit_id":"bcb33af14ca75eaaf200a25f491b9356a6916bc0"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"84acb33c84a55861ead7329b6d554b82f5290b57","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            device_cfg)"},{"line_number":122,"context_line":"        self.bum_replication_mode \u003d mcast_config.bum_replication_mode"},{"line_number":123,"context_line":"        if self.bum_replication_mode \u003d\u003d \u0027multicast\u0027:"},{"line_number":124,"context_line":"            raise exc.GenericSwitchNetmikoConfigError("},{"line_number":125,"context_line":"                switch\u003ddevice_cfg.get(\u0027ip\u0027, \u0027unknown\u0027),"},{"line_number":126,"context_line":"                error\u003d\u0027Multicast BUM replication mode is not \u0027"},{"line_number":127,"context_line":"                      \u0027supported by SONiC. SONiC only supports \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"095ff843_f758acb1","line":124,"range":{"start_line":124,"start_character":22,"end_line":124,"end_character":53},"in_reply_to":"59de0867_3a572e55","updated":"2026-06-02 21:09:37.000000000","message":"Done","commit_id":"bcb33af14ca75eaaf200a25f491b9356a6916bc0"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"18bb7f0fbe0a40d350286b1f66f5db513c7813e0","unresolved":true,"context_lines":[{"line_number":121,"context_line":"            device_cfg)"},{"line_number":122,"context_line":"        self.bum_replication_mode \u003d mcast_config.bum_replication_mode"},{"line_number":123,"context_line":"        if self.bum_replication_mode \u003d\u003d \u0027multicast\u0027:"},{"line_number":124,"context_line":"            raise exc.GenericSwitchNetmikoConfigError("},{"line_number":125,"context_line":"                switch\u003ddevice_cfg.get(\u0027ip\u0027, \u0027unknown\u0027),"},{"line_number":126,"context_line":"                error\u003d\u0027Multicast BUM replication mode is not \u0027"},{"line_number":127,"context_line":"                      \u0027supported by SONiC. SONiC only supports \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"59de0867_3a572e55","line":124,"range":{"start_line":124,"start_character":22,"end_line":124,"end_character":53},"in_reply_to":"6dbb6300_95b6a3f6","updated":"2026-05-26 21:00:56.000000000","message":"It looks like this needs to be changed","commit_id":"bcb33af14ca75eaaf200a25f491b9356a6916bc0"}]}
