Tue, Aug 21, 2018 at 02:11:06PM CEST, csfakian@redhat.com wrote:
From: Christos Sfakianakis csfakian@redhat.com
Adding ported recipe ActiveBackupBondRecipe, implementing old regression_tests/phase1/active_backup_bond.xml.Its structure is based on previously ported SimplePerfRecipe.
Signed-off-by: Christos Sfakianakis csfakian@redhat.com
lnst/Recipes/ENRT/ActiveBackupBondRecipe.py | 68 +++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 lnst/Recipes/ENRT/ActiveBackupBondRecipe.py
diff --git a/lnst/Recipes/ENRT/ActiveBackupBondRecipe.py b/lnst/Recipes/ENRT/ActiveBackupBondRecipe.py new file mode 100644 index 0000000..62556b4 --- /dev/null +++ b/lnst/Recipes/ENRT/ActiveBackupBondRecipe.py @@ -0,0 +1,68 @@ +""" +Implements scenario similar to regression_tests/phase1/ +(active_backup_bond.xml + bonding_test.py) +""" +from lnst.Common.Parameters import Param +from lnst.Common.IpAddress import ipaddress +from lnst.Controller import HostReq, DeviceReq +from lnst.Recipes.ENRT.BaseEnrtRecipe import BaseEnrtRecipe, EnrtConfiguration +from lnst.Devices import BondDevice
+class ActiveBackupBondRecipe(BaseEnrtRecipe):
- m1 = HostReq()
- m1.eth0 = DeviceReq(label="net1")
- m1.eth1 = DeviceReq(label="net1")
- m2 = HostReq()
- m2.eth0 = DeviceReq(label="net1")
- offload_combinations = Param(default=(
dict(gro="on", gso="on", tso="on", tx="on"),dict(gro="off", gso="on", tso="on", tx="on"),dict(gro="on", gso="off", tso="off", tx="on"),dict(gro="on", gso="on", tso="off", tx="off")))- def test_wide_configuration(self):
m1, m2 = self.matched.m1, self.matched.m2m1.bond0 = BondDevice(mode="active-backup", name="my_bond0")m1.eth0.down()m1.eth1.down()m1.bond0.slave_add(m1.eth0)m1.bond0.slave_add(m1.eth1)
Could we enhance the abstraction here? Probably we could completely remove: m1.eth0.down() m1.eth1.down()
and move it into BondDevice class when calling m1.bond0.slave_add(m1.eth0)
configuration = EnrtConfiguration()configuration.endpoint1 = m1.bond0configuration.endpoint2 = m2.eth0if "mtu" in self.params:m1.bond0.mtu = self.params.mtum2.eth0.mtu = self.params.mtunet_addr = "192.168.101"net_addr6 = "fc00:0:0:0"m1.bond0.ip_add(ipaddress(net_addr + ".1/24"))m1.bond0.ip_add(ipaddress(net_addr6 + "::1/64"))m1.eth0.up()m1.eth1.up()
And same for the above? The line below can abstract this?
m1.bond0.up()m2.eth0.ip_add(ipaddress(net_addr + ".2/24"))m2.eth0.ip_add(ipaddress(net_addr6 + "::2/64"))m2.eth0.up()#TODO better service handling through HostAPIm1.run("service irqbalance stop")m2.run("service irqbalance stop")for m in self.matched:for dev in m.devices:self._pin_dev_interrupts(dev, self.params.dev_intr_cpu)return configuration- def test_wide_deconfiguration(self, config):
m1, m2 = self.matched.m1, self.matched.m2#TODO better service handling through HostAPIm1.run("service irqbalance start")m2.run("service irqbalance start")-- 2.17.1 _______________________________________________ LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org To unsubscribe send an email to lnst-developers-leave@lists.fedorahosted.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/lnst-developers@lists.fedoraho...