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
# 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):
# 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)
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',
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',
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'])]