From: Carol Bouchard Date: Fri, 10 Oct 2014 21:06:04 +0000 (-0400) Subject: Execute udevadm on other linux installs X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=6eaed7f7244bde260fc21c1d29b2e7da74c9c67b;p=openstack-build%2Fneutron-build.git Execute udevadm on other linux installs When ofa and ovs neutron agents start, they use the linux utility 'udevadm'. It is passed as an argument with an absolute directory path which can vary on each linux install. By removing the directory path, it will find this utility by way of the user's environment path since linux executables are configured in each user's path upon user creation. Change-Id: I2344290d38c7889b8f32d8fb9c5161b09826e037 Closes-bug: #1367697 --- diff --git a/neutron/plugins/ofagent/agent/ofa_neutron_agent.py b/neutron/plugins/ofagent/agent/ofa_neutron_agent.py index 8c4b98a3e..b3c9d254a 100644 --- a/neutron/plugins/ofagent/agent/ofa_neutron_agent.py +++ b/neutron/plugins/ofagent/agent/ofa_neutron_agent.py @@ -604,7 +604,7 @@ class OFANeutronAgent(n_rpc.RpcCallback, # Give udev a chance to process its rules here, to avoid # race conditions between commands launched by udev rules # and the subsequent call to ip_wrapper.add_veth - utils.execute(['/sbin/udevadm', 'settle', '--timeout=10']) + utils.execute(['udevadm', 'settle', '--timeout=10']) def _phys_br_create_veth(self, br, int_veth_name, phys_veth_name, physical_network, ip_wrapper): diff --git a/neutron/plugins/openvswitch/agent/ovs_neutron_agent.py b/neutron/plugins/openvswitch/agent/ovs_neutron_agent.py index 8901cdeb9..18a3e54bb 100644 --- a/neutron/plugins/openvswitch/agent/ovs_neutron_agent.py +++ b/neutron/plugins/openvswitch/agent/ovs_neutron_agent.py @@ -895,7 +895,7 @@ class OVSNeutronAgent(n_rpc.RpcCallback, # Give udev a chance to process its rules here, to avoid # race conditions between commands launched by udev rules # and the subsequent call to ip_wrapper.add_veth - utils.execute(['/sbin/udevadm', 'settle', '--timeout=10']) + utils.execute(['udevadm', 'settle', '--timeout=10']) int_veth, phys_veth = ip_wrapper.add_veth(int_if_name, phys_if_name) int_ofport = self.int_br.add_port(int_veth) diff --git a/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py b/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py index 638b40120..1a6b8af97 100644 --- a/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py +++ b/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py @@ -482,7 +482,7 @@ class TestOFANeutronAgent(ofa_test_base.OFAAgentTestBase): br_addport_fn.return_value = "11" self.agent.setup_physical_bridges({"physnet1": "br-eth"}) expected_calls = [mock.call.link_delete(), - mock.call.utils_execute(['/sbin/udevadm', + mock.call.utils_execute(['udevadm', 'settle', '--timeout=10']), mock.call.add_veth('int-br-eth', diff --git a/neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py b/neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py index 64ba72a90..65a612e23 100644 --- a/neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py +++ b/neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py @@ -918,7 +918,7 @@ class TestOvsNeutronAgent(base.BaseTestCase): get_br_fn.return_value = ["br-eth"] self.agent.setup_physical_bridges({"physnet1": "br-eth"}) expected_calls = [mock.call.link_delete(), - mock.call.utils_execute(['/sbin/udevadm', + mock.call.utils_execute(['udevadm', 'settle', '--timeout=10']), mock.call.add_veth('int-br-eth', diff --git a/neutron/tests/unit/openvswitch/test_ovs_tunnel.py b/neutron/tests/unit/openvswitch/test_ovs_tunnel.py index 8da894ee0..ca3645058 100644 --- a/neutron/tests/unit/openvswitch/test_ovs_tunnel.py +++ b/neutron/tests/unit/openvswitch/test_ovs_tunnel.py @@ -670,7 +670,7 @@ class TunnelTestUseVethInterco(TunnelTest): self.inta_expected = [mock.call.link.set_up()] self.intb_expected = [mock.call.link.set_up()] - self.execute_expected = [mock.call(['/sbin/udevadm', 'settle', + self.execute_expected = [mock.call(['udevadm', 'settle', '--timeout=10'])]