commit 1b8d665ccdf67e9d3be510ce3c818e4c4acc38e8 Author: Ondrej Lichtner olichtne@redhat.com Date: Fri Apr 17 14:56:15 2015 +0200
SlavePool: add hostname and hwaddr to match info
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 Signed-off-by: Jiri Pirko jiri@resnulli.us
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:
lnst-developers@lists.fedorahosted.org