X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Finterface-reconfigure.at;h=26a77eb9c8c0209e0a1b124392c32a9909a0b454;hb=28c5588e8e1a8d091c5d2275232c35f2968a97fa;hp=7cf6d9ec8495f03ac1c851eab17e3b801f9410e1;hpb=a4e47607974ee30782d7d8085a2c12a91971177e;p=sliver-openvswitch.git diff --git a/tests/interface-reconfigure.at b/tests/interface-reconfigure.at index 7cf6d9ec8..26a77eb9c 100644 --- a/tests/interface-reconfigure.at +++ b/tests/interface-reconfigure.at @@ -1,18 +1,18 @@ -dnl IFR_SETUP -dnl -dnl Creates a directory tree for use with "interface-reconfigure --root-dir". -m4_define([IFR_SETUP], - [[for script in \ - interface-reconfigure \ - InterfaceReconfigure.py \ - InterfaceReconfigureBridge.py \ - InterfaceReconfigureVswitch.py - do - cp $top_srcdir/xenserver/opt_xensource_libexec_$script $script - done - - mkdir -p etc - cat > etc/xensource-inventory < etc/xensource-inventory < etc/xensource/network.conf - - for utility in \ - sbin/ethtool \ - sbin/ifconfig \ - sbin/ifdown \ - sbin/ifup \ - sbin/ip \ - sbin/update-issue \ - sbin/vconfig \ - usr/bin/ovs-vsctl \ - usr/sbin/brctl - do - mkdir -p `dirname $utility` - cat > $utility <<'EOF' + mkdir -p etc/xensource + echo vswitch > etc/xensource/network.conf + + for utility in \ + sbin/ethtool \ + sbin/ifconfig \ + sbin/ifdown \ + sbin/ifup \ + sbin/ip \ + sbin/update-issue \ + sbin/vconfig \ + usr/sbin/brctl \ + usr/sbin/ovs-vlan-bug-workaround + do + mkdir -p `dirname $utility` + cat > $utility <<'EOF' +#! /bin/sh +echo ${0} ${*} >&2 +EOF + chmod +x $utility + done + + mkdir -p usr/bin + cat > usr/bin/ovs-vsctl <<'EOF' +#! /bin/sh +echo ${0} ${*} >&2 + +while test ${#} -ge 4; do + if test X"${1}" = Xget && \ + test X"${2}" = Xinterface && \ + test X"${4}" = Xofport; then + if test X"${3}" = Xeth2; then + echo 5 + else + echo -1 + fi + fi + + shift +done +EOF + chmod +x usr/bin/ovs-vsctl + + cat > usr/bin/ovs-ofctl <<'EOF' #! /bin/sh echo ${0} ${*} >&2 + +# Check that the flow is properly formed. +ovs-ofctl parse-flow "${3}" >/dev/null EOF - chmod +x $utility - done - - mkdir -p etc/sysconfig/network-scripts - configure_netdev () { - mkdir -p sys/class/net/${1} - echo ${2} > sys/class/net/${1}/address - echo ${3} > sys/class/net/${1}/tx_queue_len - - : >> etc/sysconfig/network-scripts/ifcfg-${1} - } - - configure_netdev lo 00:00:00:00:00:00 0 - configure_netdev eth0 00:22:19:22:4b:af 1000 - configure_netdev eth1 00:22:19:22:4b:b1 1000 - configure_netdev eth2 00:15:17:a0:29:80 1000 - configure_netdev eth3 00:15:17:a0:29:81 1000 - configure_netdev eth4 00:1b:21:29:ce:51 1000 - - mkdir -p var/xapi - cat > var/xapi/network.dbcache <<'EOF' + chmod +x usr/bin/ovs-ofctl + + mkdir -p etc/sysconfig/network-scripts + configure_netdev () { + mkdir -p sys/class/net/${1} + echo ${2} > sys/class/net/${1}/address + echo ${3} > sys/class/net/${1}/tx_queue_len + if test ${1} = eth1; then + # No VLAN acceleration. + echo 0x829 > sys/class/net/${1}/features + else + # Supports VLAN acceleration. + echo 0x10b89 > sys/class/net/${1}/features + fi + mkdir sys/class/net/${1}/device + ln -s ../../../bus/pci/drivers/e1000 sys/class/net/${1}/device/driver + + : >> etc/sysconfig/network-scripts/ifcfg-${1} + } + + configure_netdev lo 00:00:00:00:00:00 0 + configure_netdev eth0 00:22:19:22:4b:af 1000 + configure_netdev eth1 00:22:19:22:4b:b1 1000 + configure_netdev eth2 00:15:17:a0:29:80 1000 + configure_netdev eth3 00:15:17:a0:29:81 1000 + configure_netdev eth4 00:1b:21:29:ce:51 1000 + + mkdir -p var/xapi + cat > var/xapi/network.dbcache <<'EOF' + False @@ -120,6 +160,7 @@ EOF + False @@ -167,6 +208,7 @@ EOF + False @@ -214,6 +256,7 @@ EOF + False @@ -265,6 +308,7 @@ EOF OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297 + False @@ -312,6 +356,7 @@ EOF + True @@ -359,6 +404,7 @@ EOF + False @@ -410,6 +456,7 @@ EOF OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c + False @@ -576,7 +623,11 @@ EOF xenbr0 - + + + true + + c9eecb03-560d-61de-b6a8-56dfc766f67e @@ -619,23 +670,37 @@ EOF db7bdc03-074d-42ae-fc73-9b06de1d57f6 + + + + secure + + + EOF -]]) +} + +ifr_run () { + ./interface-reconfigure --root-prefix="`pwd`" --no-syslog "$@" +} -m4_define([IFR_RUN], [./interface-reconfigure --root-prefix=$PWD --no-syslog]) +ifr_filter () { + sed -n -e "s,`pwd`,,g" -e 's/ -- /\ + /g' -e '/^Running command:/!p' stderr +}] +m4_divert_pop([PREPARE_TESTS]) -m4_define([IFR_FILTER], [sed -n -e "s,$PWD,,g" -e 's/ -- /\ - /g' -e '/^Running command:/!p' stderr]) AT_BANNER([interface-reconfigure]) AT_SETUP([non-VLAN, non-bond]) AT_KEYWORDS([interface-reconfigure]) -IFR_SETUP +AT_SKIP_IF([$non_ascii_cwd]) +ifr_setup -AT_CHECK([IFR_RUN --force xenbr2 up], [0], [], [stderr]) -AT_CHECK([IFR_FILTER], [0], [[Force interface xenbr2 up +AT_CHECK([ifr_run --force xenbr2 up], [0], [], [stderr]) +AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 up Loading xapi database cache from /var/xapi/network.dbcache Configured for Vswitch datapath action_up: xenbr2 @@ -645,16 +710,26 @@ configure_datapath: bridge - xenbr2 configure_datapath: physical - [u'eth2'] configure_datapath: extra ports - [] configure_datapath: extra bonds - [] +/usr/bin/ovs-vsctl -vconsole:off get-fail-mode xenbr2 Applying changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration Applying changes to /etc/sysconfig/network configuration Applying changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration /sbin/ifconfig eth2 up mtu 1500 +/sbin/ethtool -K eth2 gro off lro off +/usr/sbin/ovs-vlan-bug-workaround eth2 on /usr/bin/ovs-vsctl --timeout=20 --with-iface --if-exists del-port eth2 --may-exist add-br xenbr2 --may-exist add-port xenbr2 eth2 set Bridge xenbr2 other-config:hwaddr="00:15:17:a0:29:80" + set Bridge xenbr2 fail_mode=secure + remove Bridge xenbr2 other_config disable-in-band br-set-external-id xenbr2 xs-network-uuids d08c8749-0c8f-9e8d-ce25-fd364661ee99 +/usr/bin/ovs-vsctl -vconsole:off get interface eth2 ofport +/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=5,arp,nw_proto=1,actions=local +/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=local,arp,dl_src=00:15:17:a0:29:80,actions=5 +/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=5,dl_dst=00:15:17:a0:29:80,actions=local +/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=local,dl_src=00:15:17:a0:29:80,actions=5 /sbin/ifup xenbr2 /sbin/update-issue Committing changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration @@ -667,6 +742,7 @@ AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xenbr2], [0], XEMANAGED=yes DEVICE=xenbr2 ONBOOT=no +NOZEROCONF=yes TYPE=Ethernet BOOTPROTO=dhcp PERSISTENT_DHCLIENT=yes @@ -677,8 +753,8 @@ MTU=1500 # interface-reconfigure to take it back down. AT_CHECK([configure_netdev xenbr2 00:15:17:a0:29:80 0]) -AT_CHECK([IFR_RUN --force xenbr2 down], [0], [], [stderr]) -AT_CHECK([IFR_FILTER], [0], [[Force interface xenbr2 down +AT_CHECK([ifr_run --force xenbr2 down], [0], [], [stderr]) +AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 down Loading xapi database cache from /var/xapi/network.dbcache Configured for Vswitch datapath action_down: xenbr2 @@ -696,10 +772,11 @@ AT_CLEANUP AT_SETUP([VLAN, non-bond]) AT_KEYWORDS([interface-reconfigure]) -IFR_SETUP +AT_SKIP_IF([$non_ascii_cwd]) +ifr_setup -AT_CHECK([IFR_RUN --force xapi3 up], [0], [], [stderr]) -AT_CHECK([IFR_FILTER], [0], [[Force interface xapi3 up +AT_CHECK([ifr_run --force xapi3 up], [0], [], [stderr]) +AT_CHECK([ifr_filter], [0], [[Force interface xapi3 up Loading xapi database cache from /var/xapi/network.dbcache Configured for Vswitch datapath action_up: xapi3 @@ -712,11 +789,15 @@ configure_datapath: extra bonds - [] Applying changes to /etc/sysconfig/network-scripts/route-xapi3 configuration Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration /sbin/ifconfig eth3 up mtu 1500 +/sbin/ethtool -K eth3 gro off lro off +/usr/sbin/ovs-vlan-bug-workaround eth3 on /usr/bin/ovs-vsctl --timeout=20 --with-iface --if-exists del-port eth3 --may-exist add-br xenbr3 --may-exist add-port xenbr3 eth3 set Bridge xenbr3 other-config:hwaddr="00:15:17:a0:29:81" + set Bridge xenbr3 fail_mode=secure + remove Bridge xenbr3 other_config disable-in-band br-set-external-id xenbr3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6 --if-exists del-br xapi3 --may-exist add-br xapi3 xenbr3 123 @@ -733,6 +814,7 @@ AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi3], [0], XEMANAGED=yes DEVICE=xapi3 ONBOOT=no +NOZEROCONF=yes TYPE=Ethernet BOOTPROTO=none MTU=1500 @@ -742,8 +824,8 @@ MTU=1500 # interface-reconfigure to take it back down. AT_CHECK([configure_netdev xapi3 00:23:20:AC:AF:02 0]) -AT_CHECK([IFR_RUN --force xapi3 down], [0], [], [stderr]) -AT_CHECK([IFR_FILTER], [0], [[Force interface xapi3 down +AT_CHECK([ifr_run --force xapi3 down], [0], [], [stderr]) +AT_CHECK([ifr_filter], [0], [[Force interface xapi3 down Loading xapi database cache from /var/xapi/network.dbcache Configured for Vswitch datapath action_down: xapi3 @@ -764,7 +846,8 @@ AT_CLEANUP AT_SETUP([Bond, non-VLAN]) AT_KEYWORDS([interface-reconfigure]) -IFR_SETUP +AT_SKIP_IF([$non_ascii_cwd]) +ifr_setup # Pretend that bond0 exists, even though it would really be created by # a "create-bond" call in an ovs-vsctl invocation within @@ -773,8 +856,8 @@ IFR_SETUP # exist" after it thinks it created bond0. AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0]) -AT_CHECK([IFR_RUN --force xapi1 up], [0], [], [stderr]) -AT_CHECK([IFR_FILTER], [0], [[Force interface xapi1 up +AT_CHECK([ifr_run --force xapi1 up], [0], [], [stderr]) +AT_CHECK([ifr_filter], [0], [[Force interface xapi1 up Loading xapi database cache from /var/xapi/network.dbcache Configured for Vswitch datapath action_up: xapi1 @@ -791,7 +874,11 @@ netdev: down: device xenbr1 does not exist, ignoring Applying changes to /etc/sysconfig/network-scripts/route-xapi1 configuration Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration /sbin/ifconfig eth0 up mtu 1500 +/sbin/ethtool -K eth0 gro off lro off +/usr/sbin/ovs-vlan-bug-workaround eth0 on /sbin/ifconfig eth1 up mtu 1500 +/sbin/ethtool -K eth1 gro off lro off +/usr/sbin/ovs-vlan-bug-workaround eth1 off /usr/bin/ovs-vsctl --timeout=20 --if-exists del-br xenbr0 --if-exists del-br xenbr1 @@ -800,8 +887,10 @@ Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration --may-exist add-br xapi1 --with-iface --if-exists del-port bond0 --fake-iface add-bond xapi1 bond0 eth0 eth1 - set Port bond0 MAC="00:22:19:22:4b:af" bond_downdelay=200 other-config:"bond-miimon"=100 other-config:"bond-use_carrier"=1 bond_mode=balance-slb bond_updelay=31000 + set Port bond0 MAC="00:22:19:22:4b:af" other-config:bond-miimon-interval=100 bond_downdelay=200 bond_updelay=31000 other-config:bond-detect-mode=carrier lacp=off bond_mode=balance-slb set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af" + set Bridge xapi1 fail_mode=secure + remove Bridge xapi1 other_config disable-in-band br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85 /sbin/ifup xapi1 action_up: bring up bond0 @@ -816,6 +905,7 @@ AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi1], [0], XEMANAGED=yes DEVICE=xapi1 ONBOOT=no +NOZEROCONF=yes TYPE=Ethernet BOOTPROTO=none MTU=1500 @@ -825,8 +915,8 @@ MTU=1500 # interface-reconfigure to take it back down. AT_CHECK([configure_netdev xapi1 00:22:19:22:4B:AF 0]) -AT_CHECK([IFR_RUN --force xapi1 down], [0], [], [stderr]) -AT_CHECK([IFR_FILTER], [0], [[Force interface xapi1 down +AT_CHECK([ifr_run --force xapi1 down], [0], [], [stderr]) +AT_CHECK([ifr_filter], [0], [[Force interface xapi1 down Loading xapi database cache from /var/xapi/network.dbcache Configured for Vswitch datapath action_down: xapi1 @@ -845,7 +935,8 @@ AT_CLEANUP AT_SETUP([VLAN on bond]) AT_KEYWORDS([interface-reconfigure]) -IFR_SETUP +AT_SKIP_IF([$non_ascii_cwd]) +ifr_setup # Pretend that bond0 exists, even though it would really be created by # a "create-bond" call in an ovs-vsctl invocation within @@ -854,8 +945,8 @@ IFR_SETUP # exist" after it thinks it created bond0. AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0]) -AT_CHECK([IFR_RUN --force xapi2 up], [0], [], [stderr]) -AT_CHECK([IFR_FILTER], [0], [[Force interface xapi2 up +AT_CHECK([ifr_run --force xapi2 up], [0], [], [stderr]) +AT_CHECK([ifr_filter], [0], [[Force interface xapi2 up Loading xapi database cache from /var/xapi/network.dbcache Configured for Vswitch datapath action_up: xapi2 @@ -872,7 +963,11 @@ netdev: down: device xenbr1 does not exist, ignoring Applying changes to /etc/sysconfig/network-scripts/route-xapi2 configuration Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration /sbin/ifconfig eth0 up mtu 1500 +/sbin/ethtool -K eth0 gro off lro off +/usr/sbin/ovs-vlan-bug-workaround eth0 on /sbin/ifconfig eth1 up mtu 1500 +/sbin/ethtool -K eth1 gro off lro off +/usr/sbin/ovs-vlan-bug-workaround eth1 off /usr/bin/ovs-vsctl --timeout=20 --if-exists del-br xenbr0 --if-exists del-br xenbr1 @@ -881,8 +976,10 @@ Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration --may-exist add-br xapi1 --with-iface --if-exists del-port bond0 --fake-iface add-bond xapi1 bond0 eth0 eth1 - set Port bond0 MAC="00:22:19:22:4b:af" bond_downdelay=200 other-config:"bond-miimon"=100 other-config:"bond-use_carrier"=1 bond_mode=balance-slb bond_updelay=31000 + set Port bond0 MAC="00:22:19:22:4b:af" other-config:bond-miimon-interval=100 bond_downdelay=200 bond_updelay=31000 other-config:bond-detect-mode=carrier lacp=off bond_mode=balance-slb set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af" + set Bridge xapi1 fail_mode=secure + remove Bridge xapi1 other_config disable-in-band br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85 --if-exists del-br xapi2 --may-exist add-br xapi2 xapi1 4 @@ -901,6 +998,7 @@ AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi2], [0], XEMANAGED=yes DEVICE=xapi2 ONBOOT=no +NOZEROCONF=yes TYPE=Ethernet BOOTPROTO=none MTU=1500 @@ -910,8 +1008,8 @@ MTU=1500 # interface-reconfigure to take it back down. AT_CHECK([configure_netdev xapi2 00:23:20:A4:71:C2 0]) -AT_CHECK([IFR_RUN --force xapi2 down], [0], [], [stderr]) -AT_CHECK([IFR_FILTER], [0], [[Force interface xapi2 down +AT_CHECK([ifr_run --force xapi2 down], [0], [], [stderr]) +AT_CHECK([ifr_filter], [0], [[Force interface xapi2 down Loading xapi database cache from /var/xapi/network.dbcache Configured for Vswitch datapath action_down: xapi2