On Tue, Sep 18, 2018 at 10:48:12AM +0200, Ondrej Lichtner wrote:
On Wed, Sep 12, 2018 at 05:50:11PM +0200, csfakian@redhat.com wrote:
From: Christos Sfakianakis csfakian@redhat.com
Add ported recipe VirtualOvsBridgeVlanInGuestRecipe, implementing old regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.xml. Base it on previously ported SimplePerfRecipe.
Signed-off-by: Christos Sfakianakis csfakian@redhat.com
.../ENRT/VirtualOvsBridgeVlanInGuestRecipe.py | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 lnst/Recipes/ENRT/VirtualOvsBridgeVlanInGuestRecipe.py
diff --git a/lnst/Recipes/ENRT/VirtualOvsBridgeVlanInGuestRecipe.py b/lnst/Recipes/ENRT/VirtualOvsBridgeVlanInGuestRecipe.py new file mode 100644 index 0000000..ed5c19e --- /dev/null +++ b/lnst/Recipes/ENRT/VirtualOvsBridgeVlanInGuestRecipe.py @@ -0,0 +1,97 @@ +""" +Implements scenario similar to regression_tests/phase2/ +(virtual_ovs_bridge_vlan_in_guest.xml + virtual_ovs_bridge_vlan_in_guest.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 VlanDevice +from lnst.Devices import OvsBridgeDevice
+class VirtualOvsBridgeVlanInGuestRecipe(BaseEnrtRecipe):
- host1 = HostReq()
- host1.eth0 = DeviceReq(label="to_switch")
- host1.eth1 = DeviceReq(label="to_guest")
- host2 = HostReq()
- host2.eth0 = DeviceReq(label="to_switch")
- guest1 = HostReq()
- guest1.eth0 = DeviceReq(label="to_guest")
- offload_combinations = Param(default=(
dict(gro="on", gso="on", tso="on", tx="on", rx="on"),dict(gro="off", gso="on", tso="on", tx="on", rx="on"),dict(gro="on", gso="off", tso="off", tx="on", rx="on"),dict(gro="on", gso="on", tso="off", tx="off", rx="on"),dict(gro="on", gso="on", tso="on", tx="on", rx="off")))- def test_wide_configuration(self):
host1, host2, guest1 = self.matched.host1, self.matched.host2, self.matched.guest1host1.eth0.down()host1.eth1.down()host1.br0 = OvsBridgeDevice()#Add this check to avoid non-zero return code of ovs-vsctl 'add-port'#command in case the interface has already been enslaved in the bridge#by either NetworkManager or OpenVSwitch behavior.#E.g https://github.com/ansible/ansible-modules-extras/issues/3410for m, d in [(host1, host1.eth0), (host1, host1.eth1)]:if d.master != None:if "ovs" not in d.master.name:m.br0.port_add(d)else:m.br0.port_add(d)I really don't think this should be here... The OvS bridge is freshly created, it shouldn't have any ports. If it does it's a bug we need to fix elsewhere...
Same thing applies to all the following OvS related tests that also have this bit of code...
host2.eth0.down()host2.vlan1 = VlanDevice(realdev=host2.eth0, vlan_id=10)guest1.eth0.down()guest1.vlan1 = VlanDevice(realdev=guest1.eth0, vlan_id=10)#Due to limitations in the current EnrtConfiguration#class, a single vlan test pair is chosenconfiguration = EnrtConfiguration()configuration.endpoint1 = guest1.vlan1configuration.endpoint2 = host2.vlan1if "mtu" in self.params:host1.br0.mtu = self.params.mtuhost2.vlan1.mtu = self.params.mtuguest1.vlan1.mtu = self.params.mtunet_addr_1 = "192.168.10"net_addr6_1 = "fc00:0:0:1"host2.vlan1.ip_add(ipaddress(net_addr_1 + ".2/24"))host2.vlan1.ip_add(ipaddress(net_addr6_1 + "::2/64"))guest1.vlan1.ip_add(ipaddress(net_addr_1 + ".3/24"))guest1.vlan1.ip_add(ipaddress(net_addr6_1 + "::3/64"))host1.eth0.up()host1.eth1.up()host1.br0.up()host2.eth0.up()host2.vlan1.up()guest1.eth0.up()guest1.vlan1.up()#TODO better service handling through HostAPIhost1.run("service irqbalance stop")host2.run("service irqbalance stop")guest1.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):
host1, host2, guest1 = self.matched.host1, self.matched.host2, self.matched.guest1#TODO better service handling through HostAPIhost1.run("service irqbalance start")host2.run("service irqbalance start")guest1.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.fedorahosted.org/archives/list/lnst-developers@lists.fedorahos...
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.fedorahosted.org/archives/list/lnst-developers@lists.fedorahos...