From: Ondrej Lichtner olichtne@redhat.com
This adds hostname and interface hardware addres information to the dictionary describing the used mapping. This required a minor change to the interface mapping which is why there are changes in NetTestController and NetTestResultSerializer as well.
This information is going to be useful when looking at results later for example in PerfRepo.
Signed-off-by: Ondrej Lichtner olichtne@redhat.com --- lnst/Controller/NetTestController.py | 3 ++- lnst/Controller/NetTestResultSerializer.py | 3 ++- lnst/Controller/SlavePool.py | 17 +++++++++++++---- 3 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/lnst/Controller/NetTestController.py b/lnst/Controller/NetTestController.py index c5a9fc9..efeeb92 100644 --- a/lnst/Controller/NetTestController.py +++ b/lnst/Controller/NetTestController.py @@ -228,7 +228,8 @@ class NetTestController: logging.info(" Setup is using virtual machines.") for m_id, m in match["machines"].iteritems(): logging.info(" host "%s" uses "%s"" % (m_id, m["target"])) - for if_id, pool_id in m["interfaces"].iteritems(): + for if_id, match in m["interfaces"].iteritems(): + pool_id = match["target"] logging.info(" interface "%s" matched to "%s"" %\ (if_id, pool_id))
diff --git a/lnst/Controller/NetTestResultSerializer.py b/lnst/Controller/NetTestResultSerializer.py index 515ead7..9f8955a 100644 --- a/lnst/Controller/NetTestResultSerializer.py +++ b/lnst/Controller/NetTestResultSerializer.py @@ -98,7 +98,8 @@ class NetTestResultSerializer: for m_id, m in match["machines"].iteritems(): output_pairs.append((4*" " + "host "%s" uses "%s"" %\ (m_id, m["target"]), "")) - for if_id, pool_id in m["interfaces"].iteritems(): + for if_id, pool_if in m["interfaces"].iteritems(): + pool_id = pool_if["target"] output_pairs.append((6*" " + "interface "%s" "\ "matched to "%s"" %\ (if_id, pool_id), "")) diff --git a/lnst/Controller/SlavePool.py b/lnst/Controller/SlavePool.py index 2602f23..2fed8ad 100644 --- a/lnst/Controller/SlavePool.py +++ b/lnst/Controller/SlavePool.py @@ -313,14 +313,15 @@ class SlavePool: used = [] if_map = self._map["machines"][tm_id]["interfaces"] for t_if, p_if in if_map.iteritems(): - used.append(p_if) - if_data = pm["interfaces"][p_if] + pool_id = p_if["target"] + used.append(pool_id) + if_data = pm["interfaces"][pool_id]
iface = machine.new_static_interface(t_if, "eth") iface.set_hwaddr(if_data["params"]["hwaddr"])
for t_net, p_net in self._map["networks"].iteritems(): - if pm["interfaces"][p_if]["network"] == p_net: + if pm["interfaces"][pool_id]["network"] == p_net: iface.set_network(t_net) break
@@ -609,11 +610,19 @@ class SetupMapper(object):
for machine in self._machine_stack: m_map = mapping["machines"][machine["m_id"]] = {} + m_map["target"] = machine["current_match"] + + hostname = self._pool[m_map["target"]]["params"]["hostname"] + m_map["hostname"] = hostname + interfaces = m_map["interfaces"] = {} if_stack = machine["if_stack"] for interface in if_stack: - interfaces[interface["if_id"]] = interface["current_match"] + i = interfaces[interface["if_id"]] = {} + i["target"] = interface["current_match"] + pool_if = self._pool[m_map["target"]]["interfaces"][i["target"]] + i["hwaddr"] = pool_if["params"]["hwaddr"]
if self._virtual_matching: