Hi Bill,
we discussed your test scenario at the meeting and in general the
dynamic selection of the test machines should be possible in
coordination with Beaker. Unfortunately we don't have a working Beaker tasking
at the moment but I'm going to update it since many changes have been done in
the last year. Along with that I'll update the Beaker task howto that has been
also outdated for a few months.
Please stay tuned, I'd like to give you something useful before next
Wednesday.
-Jan
Wed, Mar 13, 2013 at 06:15:42PM CET, bpeck(a)redhat.com wrote:
Hello,
First, I think this is a great project and think it has a lot of
potential. Second, I'm wondering if someone might be able to help me
model my current test cases in lnst. I'll include the job xml that
I'm currently using in beaker and try and break it down here.
The physical setup is between two real systems, and on each real
system is 3 virtual systems:
SystemA
rhel6u4_1
rhel6u4_2
rhel6u4_3
SystemB
rhel6u4_4
rhel6u4_5
rhel6u4_6
SystemA and SystemB have multiple network interfaces.
We want to test OpenVSwitch with the bnx2x driver and vlans.
My test plan does the following:
- Provision SystemA with RHEL6U4
- Install three virt guests
- Install openVswitch
- Configure ovsbridge1 using p2p1 (we know this is the bnx2x card),
use a local private ip address, also configure which trunks will
support.
- Add the ovsbridge1 interface to rhel6u4_1,rhel6u4_2 with tag 100
- Add the ovsbridge1 interface to rhel6u4_3 with tag 200
- Start the virt guests with their new config. All guests will start
with eth0, and when running they will configure eth1
- From each guest ping the other guests, record pass/fail based on
whether you should have been able to or not.
- same test as previous but using netperf.
In parallel I do the same thing on SystemB.
SystemA interface p2p1 is connected through a private switch to
SystemB interface p2p1
This works but I am hard coded to using two hosts that I know are
configured the way I need. From looking at lnst it looks like this
could be done more dynamically. I did see some references to beaker
integration but I didn't see anything more.
Is this use case too complicated? Do you see subsets that could be
tackled now?
Any help would be appreciated. Thanks!
<job>
<whiteboard>
bnx2x openvswitch with vlans
</whiteboard>
<recipeSet>
<recipe kernel_options="" kernel_options_post=""
ks_meta="" role="None" whiteboard="rhel6u4_1 rhel6u4_2
rhel6u4_3">
<guestrecipe guestargs=" -s 10 --hvm --kvm --serial pty"
guestname="rhel6u4_1" whiteboard="rhel6u4_1">
<distroRequires>
<and>
<distro_family op="=" value="RedHatEnterpriseLinux6"/>
<distro_tag op="="
value="STABLE"/>
<distro_variant op="="
value="Server"/>
<distro_arch op="=" value="x86_64"/>
</and>
</distroRequires>
<hostRequires>
<system_type value="Virtual"/>
</hostRequires>
<task name="/distribution/install" role="STANDALONE">
<params/>
</task>
<task name="/distribution/command"
role="STANDALONE">
<params>
<param name="CMDS_TO_RUN" value="yum -y install
netperf"/>
</params>
</task>
<task name="/distribution/get_task"
role="STANDALONE">
<params>
<param name="GITURIS"
value="git://git.example.com/users/bpeck/tests.git?master#kernel/net...
<param name="INTERFACES" value="eth1"/>
<param name="eth1" value="DEVICE=eth1 TYPE=Ethernet ONBOOT=yes
IPADDR=192.168.1.1 NETMASK=255.255.255.0"/>
</params>
</task>
<task name="/distribution/reservesys">
<params>
<param name="RESERVE_IF_FAIL"
value="True"/>
</params>
</task>
</guestrecipe>
<guestrecipe guestargs=" -s 10 --hvm --kvm --serial pty"
guestname="rhel6u4_2" whiteboard="rhel6u4_u2">
<distroRequires>
<and>
<distro_family op="=" value="RedHatEnterpriseLinux6"/>
<distro_tag op="="
value="STABLE"/>
<distro_variant op="="
value="Server"/>
<distro_arch op="=" value="x86_64"/>
</and>
</distroRequires>
<hostRequires>
<system_type value="Virtual"/>
</hostRequires>
<task name="/distribution/install" role="STANDALONE">
<params/>
</task>
<task name="/distribution/command"
role="STANDALONE">
<params>
<param name="CMDS_TO_RUN" value="yum -y install
netperf"/>
</params>
</task>
<task name="/distribution/get_task"
role="STANDALONE">
<params>
<param name="GITURIS"
value="git://git.example.com/users/bpeck/tests.git?master#kernel/net...
<param name="INTERFACES" value="eth1"/>
<param name="eth1" value="DEVICE=eth1 TYPE=Ethernet ONBOOT=yes
IPADDR=192.168.1.2 NETMASK=255.255.255.0"/>
</params>
</task>
<task name="/distribution/reservesys">
<params>
<param name="RESERVE_IF_FAIL"
value="True"/>
</params>
</task>
</guestrecipe>
<guestrecipe guestargs=" -s 10 --hvm --kvm --serial pty"
guestname="rhel6u4_3" whiteboard="rhel6u4_3">
<repos>
<repo name="openvswitch"
url="http://file.bos.redhat.com/~bpeck/openvswitch/"/>
</repos>
<distroRequires>
<and>
<distro_family op="=" value="RedHatEnterpriseLinux6"/>
<distro_tag op="="
value="STABLE"/>
<distro_variant op="="
value="Server"/>
<distro_arch op="=" value="i386"/>
</and>
</distroRequires>
<hostRequires>
<system_type value="Virtual"/>
</hostRequires>
<task name="/distribution/install" role="STANDALONE">
<params/>
</task>
<task name="/distribution/command"
role="STANDALONE">
<params>
<param name="CMDS_TO_RUN" value="yum -y install
netperf"/>
</params>
</task>
<task name="/distribution/get_task"
role="STANDALONE">
<params>
<param name="GITURIS"
value="git://git.example.com/users/bpeck/tests.git?master#kernel/net...
<param name="INTERFACES" value="eth1"/>
<param name="eth1" value="DEVICE=eth1 TYPE=Ethernet ONBOOT=yes
IPADDR=192.168.1.3 NETMASK=255.255.255.0"/>
</params>
</task>
<task name="/distribution/reservesys">
<params>
<param name="RESERVE_IF_FAIL"
value="True"/>
</params>
</task>
</guestrecipe>
<distroRequires>
<and>
<distro_family op="=" value="RedHatEnterpriseLinux6"/>
<distro_tag op="="
value="STABLE"/>
<distro_variant op="="
value="Server"/>
<distro_arch op="=" value="x86_64"/>
</and>
</distroRequires>
<hostRequires>
<system>
<name op="="
value="SystemA.example.com"/>
</system>
</hostRequires>
<task name="/distribution/install" role="STANDALONE"/>
<task name="/distribution/virt/install" role="SERVERS">
<params>
<param name="KILLTIMEOVERRIDE" value="59280"/>
</params>
</task>
<task name="/distribution/command"
role="STANDALONE">
<params>
<param name="CMDS_TO_RUN" value="yum -y install openvswitch;
chkconfig --add openvswitch"/>
</params>
</task>
<task name="/distribution/get_task"
role="STANDALONE">
<params>
<param name="GITURIS"
value="git://git.example.com/users/bpeck/tests.git?master#kernel/net...
<param name="INTERFACES" value="ovsbridge1 p2p1"/>
<param name="ovsbridge1" value="DEVICE=ovsbridge1 ONBOOT=yes
DEVICETYPE=ovs TYPE=OVSBridge OVSBOOTPROTO=static IPADDR=192.168.1.21
NETMASK=255.255.255.0"/>
<param name="p2p1" value="DEVICE=p2p1 ONBOOT=yes BOOTPROTO=none
DEVICETYPE=ovs TYPE=OVSPort OVS_BRIDGE=ovsbridge1 OVS_OPTIONS=trunk=100,200"/>
</params>
</task>
<task name="/distribution/get_task"
role="STANDALONE">
<params>
<param name="GITURIS"
value="git://git.example.com/users/bpeck/tests.git?master#kernel/net...
<param name="GUESTS" value="rhel6u4_1 rhel6u4_2
rhel6u4_3"/>
<param name="rhel6u4_1"
value="switch=ovsbridge1;tag=100"/>
<param name="rhel6u4_2"
value="switch=ovsbridge1;tag=100"/>
<param name="rhel6u4_3"
value="switch=ovsbridge1;tag=200"/>
</params>
</task>
<task name="/distribution/virt/start" role="STANDALONE">
<params/>
</task>
<task name="/distribution/get_task"
role="STANDALONE">
<params>
<param name="GITURIS"
value="git://git.example.com/users/bpeck/tests.git?master#kernel/net...
git://git.example.com/users/bpeck/tests.git?master#kernel/networking/libv...
git://git.example.com/users/bpeck/tests.git?master#kernel/networking/libv...
<param name="WHITEBOARD" value="bnx2x"/>
<param name="GUESTS" value="rhel6u4_1 rhel6u4_2
rhel6u4_3"/>
<param name="rhel6u4_1"
value="valid_addrs=192.168.1.1;192.168.1.2;192.168.1.4;192.168.1.5
invalid_addrs=192.168.1.3;192.168.1.6"/>
<param name="rhel6u4_2"
value="valid_addrs=192.168.1.1;192.168.1.2;192.168.1.4;192.168.1.5
invalid_addrs=192.168.1.3;192.168.1.6"/>
<param name="rhel6u4_3"
value="invalid_addrs=192.168.1.1;192.168.1.2;192.168.1.4;192.168.1.5
valid_addrs=192.168.1.3;192.168.1.6"/>
</params>
</task>
<task name="/distribution/reservesys">
<params>
<param name="RESERVE_IF_FAIL"
value="True"/>
</params>
</task>
</recipe>
<recipe kernel_options="" kernel_options_post=""
ks_meta="" role="None" whiteboard="rhel6u4_4 rhel6u4_5
rhel6u4_6">
<guestrecipe guestargs=" -s 10 --hvm --kvm --serial pty"
guestname="rhel6u4_4" whiteboard="rhel6u4_4">
<distroRequires>
<and>
<distro_family op="=" value="RedHatEnterpriseLinux6"/>
<distro_tag op="="
value="STABLE"/>
<distro_variant op="="
value="Server"/>
<distro_arch op="=" value="x86_64"/>
</and>
</distroRequires>
<hostRequires>
<system_type value="Virtual"/>
</hostRequires>
<task name="/distribution/install" role="STANDALONE">
<params/>
</task>
<task name="/distribution/command"
role="STANDALONE">
<params>
<param name="CMDS_TO_RUN" value="yum -y install
netperf"/>
</params>
</task>
<task name="/distribution/get_task"
role="STANDALONE">
<params>
<param name="GITURIS"
value="git://git.example.com/users/bpeck/tests.git?master#kernel/net...
<param name="INTERFACES" value="eth1"/>
<param name="eth1" value="DEVICE=eth1 TYPE=Ethernet ONBOOT=yes
IPADDR=192.168.1.4 NETMASK=255.255.255.0"/>
</params>
</task>
<task name="/distribution/reservesys">
<params>
<param name="RESERVE_IF_FAIL"
value="True"/>
</params>
</task>
</guestrecipe>
<guestrecipe guestargs=" -s 10 --hvm --kvm --serial pty"
guestname="rhel6u4_5" whiteboard="rhel6u4_5">
<repos>
<repo name="openvswitch"
url="http://file.bos.redhat.com/~bpeck/openvswitch/"/>
</repos>
<distroRequires>
<and>
<distro_family op="=" value="RedHatEnterpriseLinux6"/>
<distro_tag op="="
value="STABLE"/>
<distro_variant op="="
value="Server"/>
<distro_arch op="=" value="x86_64"/>
</and>
</distroRequires>
<hostRequires>
<system_type value="Virtual"/>
</hostRequires>
<task name="/distribution/install" role="STANDALONE">
<params/>
</task>
<task name="/distribution/command"
role="STANDALONE">
<params>
<param name="CMDS_TO_RUN" value="yum -y install
netperf"/>
</params>
</task>
<task name="/distribution/get_task"
role="STANDALONE">
<params>
<param name="GITURIS"
value="git://git.example.com/users/bpeck/tests.git?master#kernel/net...
<param name="INTERFACES" value="eth1"/>
<param name="eth1" value="DEVICE=eth1 TYPE=Ethernet ONBOOT=yes
IPADDR=192.168.1.5 NETMASK=255.255.255.0"/>
</params>
</task>
<task name="/distribution/reservesys">
<params>
<param name="RESERVE_IF_FAIL"
value="True"/>
</params>
</task>
</guestrecipe>
<guestrecipe guestargs=" -s 10 --hvm --kvm --serial pty"
guestname="rhel6u4_6" whiteboard="rhel6u4_6">
<distroRequires>
<and>
<distro_family op="=" value="RedHatEnterpriseLinux6"/>
<distro_tag op="="
value="STABLE"/>
<distro_variant op="="
value="Server"/>
<distro_arch op="=" value="i386"/>
</and>
</distroRequires>
<hostRequires>
<system_type value="Virtual"/>
</hostRequires>
<task name="/distribution/install" role="STANDALONE">
<params/>
</task>
<task name="/distribution/command"
role="STANDALONE">
<params>
<param name="CMDS_TO_RUN" value="yum -y install
netperf"/>
</params>
</task>
<task name="/distribution/get_task"
role="STANDALONE">
<params>
<param name="GITURIS"
value="git://git.example.com/users/bpeck/tests.git?master#kernel/net...
<param name="INTERFACES" value="eth1"/>
<param name="eth1" value="DEVICE=eth1 TYPE=Ethernet ONBOOT=yes
IPADDR=192.168.1.6 NETMASK=255.255.255.0"/>
</params>
</task>
<task name="/distribution/reservesys">
<params>
<param name="RESERVE_IF_FAIL"
value="True"/>
</params>
</task>
</guestrecipe>
<distroRequires>
<and>
<distro_family op="=" value="RedHatEnterpriseLinux6"/>
<distro_tag op="="
value="STABLE"/>
<distro_variant op="="
value="Server"/>
<distro_arch op="=" value="x86_64"/>
</and>
</distroRequires>
<hostRequires>
<system>
<name op="="
value="SystemB.example.com"/>
</system>
</hostRequires>
<task name="/distribution/install" role="STANDALONE"/>
<task name="/distribution/virt/install" role="SERVERS">
<params>
<param name="KILLTIMEOVERRIDE" value="59280"/>
</params>
</task>
<task name="/distribution/command"
role="STANDALONE">
<params>
<param name="CMDS_TO_RUN" value="yum -y install openvswitch;
chkconfig --add openvswitch"/>
</params>
</task>
<task name="/distribution/get_task"
role="STANDALONE">
<params>
<param name="GITURIS"
value="git://git.example.com/users/bpeck/tests.git?master#kernel/net...
<param name="INTERFACES" value="ovsbridge1 p2p1"/>
<param name="ovsbridge1" value="DEVICE=ovsbridge1 ONBOOT=yes
DEVICETYPE=ovs TYPE=OVSBridge OVSBOOTPROTO=static IPADDR=192.168.1.41
NETMASK=255.255.255.0"/>
<param name="p2p1" value="DEVICE=p2p1 ONBOOT=yes BOOTPROTO=none
DEVICETYPE=ovs TYPE=OVSPort OVS_BRIDGE=ovsbridge1 OVS_OPTIONS=trunk=100,200"/>
</params>
</task>
<task name="/distribution/get_task"
role="STANDALONE">
<params>
<param name="GITURIS"
value="git://git.example.com/users/bpeck/tests.git?master#kernel/net...
<param name="GUESTS" value="rhel6u4_4 rhel6u4_5
rhel6u4_6"/>
<param name="rhel6u4_4"
value="switch=ovsbridge1;tag=100"/>
<param name="rhel6u4_5"
value="switch=ovsbridge1;tag=100"/>
<param name="rhel6u4_6"
value="switch=ovsbridge1;tag=200"/>
</params>
</task>
<task name="/distribution/virt/start" role="STANDALONE"/>
<task name="/distribution/get_task"
role="STANDALONE">
<params>
<param name="GITURIS"
value="git://git.example.com/users/bpeck/tests.git?master#kernel/net...
git://git.example.com/users/bpeck/tests.git?master#kernel/networking/libv...
git://git.example.com/users/bpeck/tests.git?master#kernel/networking/libv...
<param name="WHITEBOARD" value="bnx2x"/>
<param name="GUESTS" value="rhel6u4_4 rhel6u4_5
rhel6u4_6"/>
<param name="rhel6u4_4"
value="valid_addrs=192.168.1.1;192.168.1.2;192.168.1.4;192.168.1.5
invalid_addrs=192.168.1.3;192.168.1.6"/>
<param name="rhel6u4_5"
value="valid_addrs=192.168.1.1;192.168.1.2;192.168.1.4;192.168.1.5
invalid_addrs=192.168.1.3;192.168.1.6"/>
<param name="rhel6u4_6"
value="invalid_addrs=192.168.1.1;192.168.1.2;192.168.1.4;192.168.1.5
valid_addrs=192.168.1.3;192.168.1.6"/>
</params>
</task>
<task name="/distribution/reservesys">
<params>
<param name="RESERVE_IF_FAIL"
value="True"/>
</params>
</task>
</recipe>
</recipeSet>
</job>
_______________________________________________
LNST-developers mailing list
LNST-developers(a)lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/lnst-developers