diff --git a/neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py b/neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py index fca0a532dd0..70345931f17 100644 --- a/neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py +++ b/neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py @@ -951,7 +951,9 @@ class OVNMechanismDriver(api.MechanismDriver): # OVN chassis information is needed to ensure a valid port bind. # Collect port binding data and refuse binding if the OVN chassis # cannot be found or is dead. - agents = n_agent.AgentCache().get_agents({'host': context.host}) + agents = n_agent.AgentCache().get_agents( + {'host': context.host, + 'agent_type': ovn_const.OVN_CONTROLLER_TYPES}) if not agents: LOG.warning('Refusing to bind port %(port_id)s due to ' 'no OVN chassis for host: %(host)s', diff --git a/neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/test_mech_driver.py b/neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/test_mech_driver.py index c409dac33fa..6d04ce5453d 100644 --- a/neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/test_mech_driver.py +++ b/neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/test_mech_driver.py @@ -1194,7 +1194,8 @@ class TestOVNMechanismDriver(TestOVNMechanismDriverBase): fake_port, fake_host, fake_segments) self.mech_driver.bind_port(fake_port_context) neutron_agent.AgentCache().get_agents.assert_called_once_with( - {'host': fake_host}) + {'host': fake_host, + 'agent_type': ovn_const.OVN_CONTROLLER_TYPES}) fake_port_context.set_binding.assert_not_called() def test_bind_port_host_not_found(self): @@ -1224,7 +1225,8 @@ class TestOVNMechanismDriver(TestOVNMechanismDriverBase): fake_port, fake_host, fake_segments) self.mech_driver.bind_port(fake_port_context) neutron_agent.AgentCache().get_agents.assert_called_once_with( - {'host': fake_host}) + {'host': fake_host, + 'agent_type': ovn_const.OVN_CONTROLLER_TYPES}) fake_port_context.set_binding.assert_called_once_with( fake_segments[0]['id'], portbindings.VIF_TYPE_OVS, @@ -1239,7 +1241,8 @@ class TestOVNMechanismDriver(TestOVNMechanismDriverBase): fake_port, fake_host, fake_segments) self.mech_driver.bind_port(fake_port_context) neutron_agent.AgentCache().get_agents.assert_called_once_with( - {'host': fake_host}) + {'host': fake_host, + 'agent_type': ovn_const.OVN_CONTROLLER_TYPES}) fake_port_context.set_binding.assert_called_once_with( fake_segments[0]['id'], portbindings.VIF_TYPE_OVS, @@ -1260,7 +1263,8 @@ class TestOVNMechanismDriver(TestOVNMechanismDriverBase): fake_port, fake_host, fake_segments) self.mech_driver.bind_port(fake_port_context) neutron_agent.AgentCache().get_agents.assert_called_once_with( - {'host': fake_host}) + {'host': fake_host, + 'agent_type': ovn_const.OVN_CONTROLLER_TYPES}) fake_port_context.set_binding.assert_called_once_with( fake_segments[0]['id'], portbindings.VIF_TYPE_OVS,