This patch fixes bug when more devices with mac address
00:00:00:00:00:00 is present when recipe starts (this might happen if a
user works with tunneling devices that usually have this mac address).
As result map_if_by_hwaddr returns more than one device and device
cannot be mapped. The solution is to map loopback interface based on
mac address and driver.
Fixes issue #133.
Signed-off-by: Jan Tluka <jtluka(a)redhat.com>
---
lnst/Controller/Machine.py | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/lnst/Controller/Machine.py b/lnst/Controller/Machine.py
index e60e1ea..610d6ab 100644
--- a/lnst/Controller/Machine.py
+++ b/lnst/Controller/Machine.py
@@ -803,12 +803,18 @@ class LoopbackInterface(Interface):
def configure(self):
self._hwaddr = '00:00:00:00:00:00'
+ self._driver = 'loopback'
+
if self._netns:
phys_devs = self._machine._rpc_call_to_netns(self._netns,
- "map_if_by_hwaddr", self._id,
self._hwaddr)
+ "map_if_by_params", self._id,
+ { 'hwaddr': self._hwaddr,
+ 'driver': self._driver })
else:
- phys_devs = self._machine._rpc_call("map_if_by_hwaddr",
- self._id, self._hwaddr)
+ phys_devs = self._machine._rpc_call("map_if_by_params",
+ self._id,
+ { 'hwaddr': self._hwaddr,
+ 'driver': self._driver })
if len(phys_devs) == 1:
self.set_devname(phys_devs[0]["name"])
--
2.1.0