commit 3bd29d836e8f1b2d0bf2f709ede7a42af6527652
Author: Ondrej Lichtner <olichtne(a)redhat.com>
Date: Fri Feb 14 11:34:53 2014 +0100
Machine: fix static interface mapping
When reimplementing the slave configuration I changed the way how static
interfaces are initialized on the controller. This would work fine, but
I also removed a helpful error report. This commit fixes that.
Signed-off-by: Ondrej Lichtner <olichtne(a)redhat.com>
Signed-off-by: Jiri Pirko <jiri(a)resnulli.us>
lnst/Controller/Machine.py | 14 +++++++++-----
lnst/Slave/NetTestSlave.py | 13 +++++--------
2 files changed, 14 insertions(+), 13 deletions(-)
---
diff --git a/lnst/Controller/Machine.py b/lnst/Controller/Machine.py
index 193f611..75c0d8a 100644
--- a/lnst/Controller/Machine.py
+++ b/lnst/Controller/Machine.py
@@ -474,15 +474,19 @@ class Interface(object):
self._machine._rpc_call("set_device_down", self._id)
def initialize(self):
- phys_dev = self._machine._rpc_call("map_if_by_hwaddr",
- self._id, self._hwaddr)
+ phys_devs = self._machine._rpc_call("map_if_by_hwaddr",
+ self._id, self._hwaddr)
- if phys_dev != None:
- self.set_devname(phys_dev["name"])
- else:
+ if len(phys_devs) == 1:
+ self.set_devname(phys_devs[0]["name"])
+ elif len(phys_devs) < 1:
msg = "Device %s not found on machine %s" \
% (self.get_id(), self._machine.get_id())
raise MachineError(msg)
+ elif len(phys_devs) > 1:
+ msg = "More than one device with hwaddr %s found on machine %s" \
+ % (self._hwaddr, self._machine.get_id())
+ raise MachineError(msg)
self.down()
diff --git a/lnst/Slave/NetTestSlave.py b/lnst/Slave/NetTestSlave.py
index f81a23a..a436f9f 100644
--- a/lnst/Slave/NetTestSlave.py
+++ b/lnst/Slave/NetTestSlave.py
@@ -104,16 +104,13 @@ class SlaveMethods:
return "Commands killed"
def map_if_by_hwaddr(self, if_id, hwaddr):
- devices = self._if_manager.get_devices()
+ devices = self.get_devices_by_hwaddr(hwaddr)
- entry = None
- for dev in devices:
- if dev.get_hwaddr() == hwaddr:
- entry = {"name": dev.get_name(),
- "hwaddr": dev.get_hwaddr()}
- self._if_manager.map_if(if_id, dev.get_if_index())
+ if len(devices) == 1:
+ dev = self._if_manager.get_device_by_hwaddr(hwaddr)
+ self._if_manager.map_if(if_id, dev.get_if_index())
- return entry
+ return devices
def get_devices_by_devname(self, devname):
name_scan = self._if_manager.get_devices()
Show replies by date