Commit a7a6ba8e authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

experiments: add and use experiment helper function to create hosts

parent c84f12b0
...@@ -164,3 +164,24 @@ class SwitchNet(NetSim): ...@@ -164,3 +164,24 @@ class SwitchNet(NetSim):
for n in self.nics: for n in self.nics:
cmd += ' -s ' + env.nic_eth_path(n) cmd += ' -s ' + env.nic_eth_path(n)
return cmd return cmd
def create_basic_hosts(e, num, name_prefix, net, nic_class, host_class,
nc_class, app_class, ip_start=1):
hosts = []
for i in range(0, num):
nic = nic_class()
nic.set_network(net)
host = host_class()
host.name = '%s.%d' % (name_prefix, i)
host.node_config = nc_class()
host.node_config.ip = '10.0.0.%d' % (ip_start + i)
host.node_config.app = app_class()
host.add_nic(nic)
e.add_nic(nic)
e.add_host(host)
hosts.append(host)
return hosts
...@@ -2,35 +2,20 @@ import modes.experiments as exp ...@@ -2,35 +2,20 @@ import modes.experiments as exp
import modes.simulators as sim import modes.simulators as sim
import modes.nodeconfig as node import modes.nodeconfig as node
e = exp.Experiment('qemu-i40e-pair') e = exp.Experiment('qemu-i40e-pair')
net = sim.SwitchNet() net = sim.SwitchNet()
e.add_network(net) e.add_network(net)
nic_a = sim.I40eNIC() servers = sim.create_basic_hosts(e, 1, 'server', net, sim.I40eNIC, sim.QemuHost,
nic_a.set_network(net) node.I40eLinuxNode, node.IperfTCPServer)
e.add_nic(nic_a)
host_a = sim.QemuHost()
host_a.name = 'server'
host_a.node_config = node.I40eLinuxNode()
host_a.node_config.ip = '10.0.0.1'
host_a.node_config.app = node.IperfTCPServer()
host_a.add_nic(nic_a)
e.add_host(host_a)
for i in range (0, 2): clients = sim.create_basic_hosts(e, 2, 'client', net, sim.I40eNIC, sim.QemuHost,
nic_b = sim.I40eNIC() node.I40eLinuxNode, node.IperfTCPClient, ip_start = 2)
nic_b.set_network(net)
e.add_nic(nic_b)
host_b = sim.QemuHost() for c in clients:
host_b.name = 'client.%d' % i c.wait = True
host_b.wait = True c.node_config.app.server_ip = servers[0].node_config.ip
host_b.node_config = node.I40eLinuxNode()
host_b.node_config.ip = '10.0.0.%d' % (2 + i)
host_b.node_config.app = node.IperfTCPClient()
host_b.add_nic(nic_b)
e.add_host(host_b)
experiments = [e] experiments = [e]
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment