)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"d7194cf01da08626cbfb46189b00ba311871949e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"57af600c_63db54ee","updated":"2026-04-06 14:37:33.000000000","message":"recheck pep8 failure doesn\u0027t occur locally","commit_id":"4459f46e93b8eabe9f0dccb81bd95726408b5e18"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"12c6940c30b0e0a98347f50b3e56c67fe3455488","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"766544d3_c7404ac8","updated":"2026-06-29 23:37:54.000000000","message":"Thanks Slawek for the review. Please see my responses in line","commit_id":"0fcb370d8920500225325dcfa075a933e6711f0f"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"859df544fd0bdd0f7e455a0fe6d83ebab16a0819","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"6bc73f5d_bd7c0063","updated":"2026-06-25 13:10:41.000000000","message":"recheck ML2/OVS driver job failure unrelated to change","commit_id":"0fcb370d8920500225325dcfa075a933e6711f0f"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"7bd296b8ac2917739f1f2f7fc06e6aa0987c6a8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"1bcab342_ff329d5a","updated":"2026-07-08 14:42:49.000000000","message":"recheck. Failures not related to change","commit_id":"639305281e564f427b2c3c6b0913d6d07a916a75"}],"neutron/common/ovn/utils.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6d6aa6bc8c7bdc2bb61821eb93df44d1a036c0a0","unresolved":true,"context_lines":[{"line_number":300,"context_line":"        non_vlan \u003d ["},{"line_number":301,"context_line":"            s for s in net_segments"},{"line_number":302,"context_line":"            if (s.get(provider_net.NETWORK_TYPE) !\u003d"},{"line_number":303,"context_line":"                const.TYPE_VLAN)]"},{"line_number":304,"context_line":"        return len(non_vlan) \u003e 0"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"    # Single-segment: flat provider-prefixed keys"}],"source_content_type":"text/x-python","patch_set":30,"id":"ac532940_5d7f03bb","line":303,"updated":"2026-06-26 09:04:43.000000000","message":"why you don\u0027t use here `is_vlan_segment()` function which you defined above?","commit_id":"0fcb370d8920500225325dcfa075a933e6711f0f"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"12c6940c30b0e0a98347f50b3e56c67fe3455488","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        non_vlan \u003d ["},{"line_number":301,"context_line":"            s for s in net_segments"},{"line_number":302,"context_line":"            if (s.get(provider_net.NETWORK_TYPE) !\u003d"},{"line_number":303,"context_line":"                const.TYPE_VLAN)]"},{"line_number":304,"context_line":"        return len(non_vlan) \u003e 0"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"    # Single-segment: flat provider-prefixed keys"}],"source_content_type":"text/x-python","patch_set":30,"id":"a06008ee_df03db60","line":303,"in_reply_to":"ac532940_5d7f03bb","updated":"2026-06-29 23:37:54.000000000","message":"Because it is two different things. The function is_vlan_segment receives as input a segment as returned by the segments plugin. It uses a definition like this (from https://github.com/openstack/neutron-lib/blob/master/neutron_lib/api/definitions/segment.py):\n\nNETWORK_TYPE \u003d \u0027network_type\u0027\n\nI use is_vlan_segment in the mechanism driver and the ovn client to process segments of this style.\n\nIn this function I am reading the segments off of a network\u0027s \u0027segments\u0027 attribute, which is a list. These segments are built using a definition like this (from https://github.com/openstack/neutron-lib/blob/master/neutron_lib/api/definitions/provider_net.py):\n\nNETWORK_TYPE \u003d \u0027provider:network_type\u0027\n\nThis function receives a network or reads a network, off of which it processes the segments","commit_id":"0fcb370d8920500225325dcfa075a933e6711f0f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6d6aa6bc8c7bdc2bb61821eb93df44d1a036c0a0","unresolved":true,"context_lines":[{"line_number":307,"context_line":"    net_type \u003d network.get(provider_net.NETWORK_TYPE)"},{"line_number":308,"context_line":"    if net_type is None:"},{"line_number":309,"context_line":"        return True"},{"line_number":310,"context_line":"    return net_type !\u003d const.TYPE_VLAN"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"def ovn_vhu_sockpath(sock_dir, port_id):"}],"source_content_type":"text/x-python","patch_set":30,"id":"20a23fe9_068e6a54","line":310,"updated":"2026-06-26 09:04:43.000000000","message":"ditto","commit_id":"0fcb370d8920500225325dcfa075a933e6711f0f"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"12c6940c30b0e0a98347f50b3e56c67fe3455488","unresolved":false,"context_lines":[{"line_number":307,"context_line":"    net_type \u003d network.get(provider_net.NETWORK_TYPE)"},{"line_number":308,"context_line":"    if net_type is None:"},{"line_number":309,"context_line":"        return True"},{"line_number":310,"context_line":"    return net_type !\u003d const.TYPE_VLAN"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"def ovn_vhu_sockpath(sock_dir, port_id):"}],"source_content_type":"text/x-python","patch_set":30,"id":"e624d683_dd0684b9","line":310,"in_reply_to":"20a23fe9_068e6a54","updated":"2026-06-29 23:37:54.000000000","message":"Same explanation as above","commit_id":"0fcb370d8920500225325dcfa075a933e6711f0f"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"aa294a7c03f0ee0e2e7558dd5e2ad3b082085594","unresolved":true,"context_lines":[{"line_number":304,"context_line":"    :param network: Network dict (avoids DB lookup)"},{"line_number":305,"context_line":"    :return: True if network needs its own logical switch"},{"line_number":306,"context_line":"    \"\"\""},{"line_number":307,"context_line":"    if not ovn_conf.is_logical_switch_per_vlan_segment_enabled():"},{"line_number":308,"context_line":"        return True"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"    if not network:"}],"source_content_type":"text/x-python","patch_set":32,"id":"c8767c66_2d8c9844","line":307,"range":{"start_line":307,"start_character":4,"end_line":307,"end_character":65},"updated":"2026-07-20 10:15:43.000000000","message":"Why don\u0027t we detect the segments per host? Just checking `SegmentHostMapping`?","commit_id":"639305281e564f427b2c3c6b0913d6d07a916a75"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"aa294a7c03f0ee0e2e7558dd5e2ad3b082085594","unresolved":true,"context_lines":[{"line_number":324,"context_line":"        return len(non_vlan) \u003e 0"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    # Single-segment: flat provider-prefixed keys"},{"line_number":327,"context_line":"    net_type \u003d network.get(provider_net.NETWORK_TYPE)"},{"line_number":328,"context_line":"    if net_type is None:"},{"line_number":329,"context_line":"        return True"},{"line_number":330,"context_line":"    return net_type !\u003d const.TYPE_VLAN"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"def ovn_vhu_sockpath(sock_dir, port_id):"}],"source_content_type":"text/x-python","patch_set":32,"id":"edff79fa_590b9186","line":330,"range":{"start_line":327,"start_character":4,"end_line":330,"end_character":38},"updated":"2026-07-20 10:15:43.000000000","message":"Couldn\u0027t this be just:\n`  return not is_vlan_segment(segment)`","commit_id":"639305281e564f427b2c3c6b0913d6d07a916a75"}],"neutron/db/ovn_revision_numbers_db.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6d6aa6bc8c7bdc2bb61821eb93df44d1a036c0a0","unresolved":true,"context_lines":[{"line_number":217,"context_line":"    LOG.info(\u0027Successfully bumped revision number for resource \u0027"},{"line_number":218,"context_line":"             \u0027%(res_uuid)s (type: %(res_type)s) to %(rev_num)d\u0027,"},{"line_number":219,"context_line":"             {\u0027res_uuid\u0027: target_resource[\u0027id\u0027],"},{"line_number":220,"context_line":"              \u0027res_type\u0027: target_resource_type,"},{"line_number":221,"context_line":"              \u0027rev_num\u0027: revision_number})"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"358d9484_16745513","line":220,"updated":"2026-06-26 09:04:43.000000000","message":"nitty nit: maybe you can split this big patch in couple smaller ones, like for example this change IMHO may deserve own commit message with short explanation why it is needed. Wdyt?","commit_id":"0fcb370d8920500225325dcfa075a933e6711f0f"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"12c6940c30b0e0a98347f50b3e56c67fe3455488","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    LOG.info(\u0027Successfully bumped revision number for resource \u0027"},{"line_number":218,"context_line":"             \u0027%(res_uuid)s (type: %(res_type)s) to %(rev_num)d\u0027,"},{"line_number":219,"context_line":"             {\u0027res_uuid\u0027: target_resource[\u0027id\u0027],"},{"line_number":220,"context_line":"              \u0027res_type\u0027: target_resource_type,"},{"line_number":221,"context_line":"              \u0027rev_num\u0027: revision_number})"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"486e6c82_6553ccda","line":220,"in_reply_to":"358d9484_16745513","updated":"2026-06-29 23:37:54.000000000","message":"You make a great point:\n\n- This change deserves its owns commit and explanation\n- Gives me a clean opportunity to split this big patch in two\n\nI\u0027ll implement your suggestion","commit_id":"0fcb370d8920500225325dcfa075a933e6711f0f"}],"neutron/objects/subnet.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"aa294a7c03f0ee0e2e7558dd5e2ad3b082085594","unresolved":true,"context_lines":[{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        if len(segment_ids) \u003e 1:"},{"line_number":387,"context_line":"            LOG.info(\"The network \u0027%s\u0027 has multiple segments, \""},{"line_number":388,"context_line":"                     \"this is currently supported by the OVS agent and the \""},{"line_number":389,"context_line":"                     \"ML2/OVN driver only.\","},{"line_number":390,"context_line":"                     network_id)"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"        return [subnet for subnet, _mapping in results]"}],"source_content_type":"text/x-python","patch_set":32,"id":"011b06c5_a40c0421","line":389,"range":{"start_line":388,"start_character":67,"end_line":389,"end_character":42},"updated":"2026-07-20 10:15:43.000000000","message":"But only if the config option is enabled","commit_id":"639305281e564f427b2c3c6b0913d6d07a916a75"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"aa294a7c03f0ee0e2e7558dd5e2ad3b082085594","unresolved":true,"context_lines":[{"line_number":1039,"context_line":"            self._ovn_client.create_port(context.plugin_context, port)"},{"line_number":1040,"context_line":"            self._notify_dhcp_updated(context.plugin_context, port[\u0027id\u0027])"},{"line_number":1041,"context_line":"        else:"},{"line_number":1042,"context_line":"            ovn_revision_numbers_db.bump_revision(context.plugin_context, port,"},{"line_number":1043,"context_line":"                                                  ovn_const.TYPE_PORTS)"},{"line_number":1044,"context_line":""},{"line_number":1045,"context_line":"    def update_port_precommit(self, context):"},{"line_number":1046,"context_line":"        \"\"\"Update resources of a port."}],"source_content_type":"text/x-python","patch_set":32,"id":"56021b7c_d5afb6e1","line":1043,"range":{"start_line":1042,"start_character":12,"end_line":1043,"end_character":71},"updated":"2026-07-20 10:15:43.000000000","message":"Why do we need to bump the port that is not even created?","commit_id":"639305281e564f427b2c3c6b0913d6d07a916a75"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"aa294a7c03f0ee0e2e7558dd5e2ad3b082085594","unresolved":true,"context_lines":[{"line_number":911,"context_line":"        network_id \u003d utils.get_neutron_name(ovn_network_name)"},{"line_number":912,"context_line":""},{"line_number":913,"context_line":"        # For routed networks, use segment logical switch name"},{"line_number":914,"context_line":"        network_needs_lswitch_flag \u003d utils.network_needs_lswitch("},{"line_number":915,"context_line":"            context, network_id\u003dnetwork_id)"},{"line_number":916,"context_line":"        if not network_needs_lswitch_flag:"},{"line_number":917,"context_line":"            port_segment_id \u003d ovn_port.external_ids.get("},{"line_number":918,"context_line":"                ovn_const.OVN_PORT_SEGMENT_EXT_ID_KEY)"}],"source_content_type":"text/x-python","patch_set":32,"id":"f3946a23_bc15baea","line":915,"range":{"start_line":914,"start_character":8,"end_line":915,"end_character":43},"updated":"2026-07-20 10:15:43.000000000","message":"Found by Claude: when a network is deleted, this method can be called too. But at this point, the network can be already gone in the Neutron DB. That would trigger `NetworkNotFound`","commit_id":"639305281e564f427b2c3c6b0913d6d07a916a75"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"aa294a7c03f0ee0e2e7558dd5e2ad3b082085594","unresolved":true,"context_lines":[{"line_number":2292,"context_line":"            addresses\u003d[ovn_const.UNKNOWN_ADDR],"},{"line_number":2293,"context_line":"            external_ids\u003d{ovn_const.OVN_PHYSNET_EXT_ID_KEY: physnet},"},{"line_number":2294,"context_line":"            type\u003dovn_const.LSP_TYPE_LOCALNET,"},{"line_number":2295,"context_line":"            tag_request\u003dtag if network_needs_lswitch_flag else [],"},{"line_number":2296,"context_line":"            options\u003doptions))"},{"line_number":2297,"context_line":"        self._transaction(cmds, txn\u003dtxn)"},{"line_number":2298,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"561ffe84_a26067e2","line":2295,"range":{"start_line":2295,"start_character":30,"end_line":2295,"end_character":65},"updated":"2026-07-20 10:15:43.000000000","message":"Without the tag, this localnet port won\u0027t tag/untag the VLAN traffic. Am I missing something?","commit_id":"639305281e564f427b2c3c6b0913d6d07a916a75"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"aa294a7c03f0ee0e2e7558dd5e2ad3b082085594","unresolved":true,"context_lines":[{"line_number":2302,"context_line":"            # network creation (txn\u003dNone means called from"},{"line_number":2303,"context_line":"            # create_segment_provnet_port)"},{"line_number":2304,"context_line":"            if txn is None:"},{"line_number":2305,"context_line":"                db_rev.bump_revision("},{"line_number":2306,"context_line":"                    context, network, ovn_const.TYPE_NETWORKS,"},{"line_number":2307,"context_line":"                    dependent_resource\u003dsegment,"},{"line_number":2308,"context_line":"                    dependent_resource_type\u003dovn_const.TYPE_SEGMENTS)"},{"line_number":2309,"context_line":"            self.create_metadata_port(context, network, segment[\u0027id\u0027])"},{"line_number":2310,"context_line":""},{"line_number":2311,"context_line":"    def delete_provnet_port(self, network_id, segment, for_net_delete\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":32,"id":"af011c36_2138c049","line":2308,"range":{"start_line":2305,"start_character":16,"end_line":2308,"end_character":68},"updated":"2026-07-20 10:15:43.000000000","message":"I already mentioned this in the previous patch. IMO, this approach is more complicated than just updating the segments revision number when the network is updated. That would keep the segments resource at the same level as the others, instead of introducing a complex mechanism to deal with only one resource.","commit_id":"639305281e564f427b2c3c6b0913d6d07a916a75"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"aa294a7c03f0ee0e2e7558dd5e2ad3b082085594","unresolved":true,"context_lines":[{"line_number":2318,"context_line":"        if is_vlan_segment_deletion:"},{"line_number":2319,"context_line":"            # VLAN segments: Delete segment logical switch"},{"line_number":2320,"context_line":"            if not for_net_delete:"},{"line_number":2321,"context_line":"                metadata_port \u003d self._find_metadata_port(context, network_id,"},{"line_number":2322,"context_line":"                                                         segment[\u0027id\u0027])"},{"line_number":2323,"context_line":"                self._plugin.delete_port(context, metadata_port[\u0027id\u0027])"},{"line_number":2324,"context_line":"            segment_lswitch_name \u003d utils.ovn_name(segment[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":32,"id":"52fa2911_14dc9db1","line":2321,"range":{"start_line":2321,"start_character":16,"end_line":2321,"end_character":29},"updated":"2026-07-20 10:15:43.000000000","message":"This could be `None`","commit_id":"639305281e564f427b2c3c6b0913d6d07a916a75"}],"neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/ovsdb/test_ovn_client.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9f77ff956d3c2313447444a1096f084b13c7ac03","unresolved":false,"context_lines":[{"line_number":757,"context_line":"        self._setup_delete_port_mocks(ovn_port, ls)"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"        ctx \u003d ncontext.Context()"},{"line_number":760,"context_line":"        self.ovn_client._delete_port(ctx, port_id)"},{"line_number":761,"context_line":""},{"line_number":762,"context_line":"        self.nb_idl.unset_lswitch_port_to_virtual_type.assert_called_once_with("},{"line_number":763,"context_line":"            \u0027virtual-port\u0027, port_id, if_exists\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":29,"id":"8c53f22a_f9de921d","line":760,"updated":"2026-06-16 01:35:52.000000000","message":"pep8: E1120: No value for argument \u0027check_rev_cmd\u0027 in method call (no-value-for-parameter)","commit_id":"9960188061901088660e0667806d88ca6d860554"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9f77ff956d3c2313447444a1096f084b13c7ac03","unresolved":false,"context_lines":[{"line_number":779,"context_line":"        self._setup_delete_port_mocks(ovn_port, ls)"},{"line_number":780,"context_line":""},{"line_number":781,"context_line":"        ctx \u003d ncontext.Context()"},{"line_number":782,"context_line":"        self.ovn_client._delete_port(ctx, port_id)"},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        self.nb_idl.unset_lswitch_port_to_virtual_type.assert_not_called()"},{"line_number":785,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"f868553c_168cfb5a","line":782,"updated":"2026-06-16 01:35:52.000000000","message":"pep8: E1120: No value for argument \u0027check_rev_cmd\u0027 in method call (no-value-for-parameter)","commit_id":"9960188061901088660e0667806d88ca6d860554"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9f77ff956d3c2313447444a1096f084b13c7ac03","unresolved":false,"context_lines":[{"line_number":796,"context_line":"        self._setup_delete_port_mocks(ovn_port, ls\u003dNone)"},{"line_number":797,"context_line":""},{"line_number":798,"context_line":"        ctx \u003d ncontext.Context()"},{"line_number":799,"context_line":"        self.ovn_client._delete_port(ctx, port_id)"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":"        calls \u003d [c for c in self.nb_idl.lookup.call_args_list"},{"line_number":802,"context_line":"                 if c[0][0] \u003d\u003d \u0027Logical_Switch\u0027]"}],"source_content_type":"text/x-python","patch_set":29,"id":"4169c7b1_435b9208","line":799,"updated":"2026-06-16 01:35:52.000000000","message":"pep8: E1120: No value for argument \u0027check_rev_cmd\u0027 in method call (no-value-for-parameter)","commit_id":"9960188061901088660e0667806d88ca6d860554"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9f77ff956d3c2313447444a1096f084b13c7ac03","unresolved":false,"context_lines":[{"line_number":821,"context_line":"        self._setup_delete_port_mocks(ovn_port, ls)"},{"line_number":822,"context_line":""},{"line_number":823,"context_line":"        ctx \u003d ncontext.Context()"},{"line_number":824,"context_line":"        self.ovn_client._delete_port(ctx, port_id)"},{"line_number":825,"context_line":""},{"line_number":826,"context_line":"        self.nb_idl.unset_lswitch_port_to_virtual_type.assert_not_called()"},{"line_number":827,"context_line":"    # --- Multiple-segments-per-host tests ---"}],"source_content_type":"text/x-python","patch_set":29,"id":"08d47617_e6b5e15e","line":824,"updated":"2026-06-16 01:35:52.000000000","message":"pep8: E1120: No value for argument \u0027check_rev_cmd\u0027 in method call (no-value-for-parameter)","commit_id":"9960188061901088660e0667806d88ca6d860554"}]}
