From 83c9518e7c67fb73ab17f6db50f398dc78403814 Mon Sep 17 00:00:00 2001 From: Greg Rose Date: Mon, 8 Aug 2022 13:36:02 -0700 Subject: xenserver: Remove xenserver. Remove the current xenserver implementation - it is obsolete and since 3.0 we do not support kernel module builds [1]. 1. https://mail.openvswitch.org/pipermail/ovs-dev/2022-July/395789.html [i.maximets] Can be added back if people willing to maintain it will be found. Signed-off-by: Greg Rose Signed-off-by: Ilya Maximets --- tests/MockXenAPI.py | 117 ----- tests/automake.mk | 3 - tests/interface-reconfigure.at | 1045 ---------------------------------------- tests/ovs-xapi-sync.at | 74 --- tests/testsuite.at | 2 - tests/tunnel.at | 18 + 6 files changed, 18 insertions(+), 1241 deletions(-) delete mode 100644 tests/MockXenAPI.py delete mode 100644 tests/interface-reconfigure.at delete mode 100644 tests/ovs-xapi-sync.at (limited to 'tests') diff --git a/tests/MockXenAPI.py b/tests/MockXenAPI.py deleted file mode 100644 index b8de4ee71..000000000 --- a/tests/MockXenAPI.py +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright (c) 2011, 2012 Nicira, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import re - - -def xapi_local(): - return Session() - - -class Session(object): - def __init__(self): - self.xenapi = XenAPI() - - -class Failure(Exception): - pass - - -class XenAPI(object): - def __init__(self): - self.network = Network() - self.pool = Pool() - self.VIF = VIF() - self.VM = VM() - - def login_with_password(self, unused_username, unused_password): - pass - - -class RecordRef(object): - def __init__(self, attrs): - self.attrs = attrs - - -class Table(object): - def __init__(self, records): - self.records = records - - def get_all(self): - return [RecordRef(rec) for rec in self.records] - - def get_all_records_where(self, condition): - k, v = re.match(r'field "([^"]*)"="([^"]*)"$', condition).groups() - d = {} - - # I'm sure that the keys used in the dictionary below are wrong - # but I can't find any documentation on get_all_records_where - # and this satisfies the current test case. - i = 0 - for rec in self.records: - if rec[k] == v: - d[i] = rec - i += 1 - return d - - def get_by_uuid(self, uuid): - recs = [rec for rec in self.records if rec["uuid"] == uuid] - if len(recs) != 1: - raise Failure("No record with UUID %s" % uuid) - return RecordRef(recs[0]) - - def get_record(self, record_ref): - return record_ref.attrs - - -class Network(Table): - __records = ({"uuid": "9b66c68b-a74e-4d34-89a5-20a8ab352d1e", - "bridge": "xenbr0", - "other_config": - {"vswitch-controller-fail-mode": "secure", - "nicira-bridge-id": "custom bridge ID"}}, - {"uuid": "e1c9019d-375b-45ac-a441-0255dd2247de", - "bridge": "xenbr1", - "other_config": - {"vswitch-disable-in-band": "true"}}) - - def __init__(self): - Table.__init__(self, Network.__records) - - -class Pool(Table): - __records = ({"uuid": "7a793edf-e5f4-4994-a0f9-cee784c0cda3", - "other_config": - {"vswitch-controller-fail-mode": "secure"}},) - - def __init__(self): - Table.__init__(self, Pool.__records) - - -class VIF(Table): - __records = ({"uuid": "6ab1b260-398e-49ba-827b-c7696108964c", - "other_config": - {"nicira-iface-id": "custom iface ID"}},) - - def __init__(self): - Table.__init__(self, VIF.__records) - - -class VM(Table): - __records = ({"uuid": "fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8", - "other_config": - {"nicira-vm-id": "custom vm ID"}},) - - def __init__(self): - Table.__init__(self, VM.__records) diff --git a/tests/automake.mk b/tests/automake.mk index d35dc7c4f..4b6dfd341 100644 --- a/tests/automake.mk +++ b/tests/automake.mk @@ -99,11 +99,9 @@ TESTSUITE_AT = \ tests/ovsdb-lock.at \ tests/ovsdb-rbac.at \ tests/ovs-vsctl.at \ - tests/ovs-xapi-sync.at \ tests/pytest.at \ tests/stp.at \ tests/rstp.at \ - tests/interface-reconfigure.at \ tests/vlog.at \ tests/vtep-ctl.at \ tests/auto-attach.at \ @@ -526,7 +524,6 @@ CHECK_PYFILES = \ tests/test-ovsdb.py \ tests/test-reconnect.py \ tests/test-stream.py \ - tests/MockXenAPI.py \ tests/test-unix-socket.py \ tests/test-unixctl.py \ tests/test-vlog.py \ diff --git a/tests/interface-reconfigure.at b/tests/interface-reconfigure.at deleted file mode 100644 index 12b66dc0f..000000000 --- a/tests/interface-reconfigure.at +++ /dev/null @@ -1,1045 +0,0 @@ -m4_divert_push([PREPARE_TESTS]) -[ -# Creates a directory tree for use with "interface-reconfigure --root-dir". -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/network.conf - - for utility in \ - sbin/ethtool \ - sbin/ifdown \ - sbin/ifup \ - sbin/ip \ - sbin/update-issue \ - sbin/vconfig \ - usr/sbin/brctl - 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 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 - - - OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e - - - bd62a141-091f-3909-e334-0334f67ff3be - - - - - - OpaqueRef:NULL - - - -1 - - - - - - - 00:22:19:22:4b:af - - - None - - - - - - eth0 - - - - False - - - - - - OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5 - - - - - - - False - - - OpaqueRef:NULL - - - df8d35c2-cc3a-a623-7065-d987a29feb75 - - - - - - OpaqueRef:NULL - - - -1 - - - - - - - 00:1b:21:29:ce:51 - - - None - - - - - - eth4 - - - - False - - - - - - OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531 - - - - - - - False - - - OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e - - - 2f87fc95-5ab4-571a-2487-3f4ac1985663 - - - - - - OpaqueRef:NULL - - - -1 - - - - - - - 00:22:19:22:4b:b1 - - - None - - - - - - eth1 - - - - False - - - - - - OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d - - - - - - - False - - - OpaqueRef:NULL - - - d2dfdab3-daf4-afea-f055-a25a0d24d714 - - - - - - OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c - - - 4 - - - - - - - fe:ff:ff:ff:ff:ff - - - None - - - - - - bond0 - - - - True - - - - - - OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47 - - - - - - OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297 - - - - - False - - - OpaqueRef:NULL - - - f4ba396e-a993-a592-5fbc-a1d566afb59e - - - 10.0.0.188 - - - OpaqueRef:NULL - - - -1 - - - 255.0.0.0 - - - - 00:15:17:a0:29:81 - - - Static - - - - - - eth3 - - - - True - - - - - - OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32 - - - - - - - True - - - OpaqueRef:NULL - - - 646ca9a1-36ad-e2f9-3ecc-1e5622c201c2 - - - 172.18.3.188 - - - OpaqueRef:NULL - - - -1 - - - 255.255.0.0 - - - - 00:15:17:a0:29:80 - - - DHCP - - - - - - eth2 - - - - True - - - - - - OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe - - - - - - - False - - - OpaqueRef:NULL - - - 3941edd2-865b-8dd8-61f0-199f5e1fa652 - - - - - - OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297 - - - 123 - - - - - - - fe:ff:ff:ff:ff:ff - - - None - - - - - - eth3 - - - - True - - - - - - OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17 - - - - - - OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c - - - - - False - - - OpaqueRef:NULL - - - 6c0327a9-afa3-fc19-6798-a1bfe20095ed - - - - - - OpaqueRef:NULL - - - -1 - - - - - - - 00:22:19:22:4b:af - - - None - - - - - - bond0 - - - - OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e - - - - True - - - - - - OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a - - - - - OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11 - - - dad825f1-6d81-386e-849c-5589281e53e1 - - - - OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6 - - - OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768 - - - - - - OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11 - - - 841814da-d0d2-9da4-0b2e-b6143480bbfb - - - OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e - - - - - OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc - - - 399279a2-5ccd-5368-9af3-8622a1f1ac82 - - - OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3 - - - - - - OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e - - - - xapi2 - - - - 99be2da4-6c33-6f8e-49ea-3bc592fe3c85 - - - - - - OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc - - - - xenbr3 - - - - 2902ae1b-8013-897a-b697-0b200ea3aaa5 - - - - - - OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11 - - - - xapi1 - - - - 45cbbb43-113d-a712-3231-c6463f253cef - - - - - - OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768 - - - - xenbr1 - - - - 99f8771a-645a-26a3-e06c-30a401f1d009 - - - - - - OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15 - - - - xenbr2 - - - - d08c8749-0c8f-9e8d-ce25-fd364661ee99 - - - - - - OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6 - - - - xenbr0 - - - - true - - - - c9eecb03-560d-61de-b6a8-56dfc766f67e - - - - - - OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806 - - - - xenbr4 - - - - d2c14c89-29cc-51d4-7664-633eff02b2ad - - - - - - xapi0 - - - - dc0f0632-c2aa-1b78-2fea-0d3a23c51740 - - - - - - OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3 - - - - xapi3 - - - - db7bdc03-074d-42ae-fc73-9b06de1d57f6 - - - - - - secure - - - - -EOF -} - -ifr_run () { - $PYTHON3 ./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]) - - -AT_BANNER([interface-reconfigure]) - -AT_SETUP([non-VLAN, non-bond]) -AT_KEYWORDS([interface-reconfigure]) -AT_SKIP_IF([$non_ascii_cwd]) -AT_SKIP_IF([test "$IS_WIN32" = "yes"]) -ifr_setup - -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 -Writing network configuration for xenbr2 -Configuring xenbr2 using DHCP configuration -configure_datapath: bridge - xenbr2 -configure_datapath: physical - ['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/ip link set eth2 up mtu 1500 -/sbin/ethtool -K eth2 gro off lro off -/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 -Committing changes to /etc/sysconfig/network configuration -Committing changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration -]]) - -AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xenbr2], [0], - [# DO NOT EDIT: This file (ifcfg-xenbr2) was autogenerated by interface-reconfigure -XEMANAGED=yes -DEVICE=xenbr2 -ONBOOT=no -NOZEROCONF=yes -TYPE=Ethernet -BOOTPROTO=dhcp -PERSISTENT_DHCLIENT=yes -MTU=1500 -]) - -# Simulate interface-reconfigure creating xenbr2, so that we can tell -# 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 -Loading xapi database cache from /var/xapi/network.dbcache -Configured for Vswitch datapath -action_down: xenbr2 -/sbin/ifdown xenbr2 -deconfigure ipdev xenbr2 on xenbr2 -deconfigure_bridge: bridge - xenbr2 -action_down: bring down physical devices - ['eth2'] -/sbin/ip link set eth2 down -/usr/bin/ovs-vsctl --timeout=20 - --with-iface --if-exists del-port xenbr2 - --if-exists del-br xenbr2 -]]) - -AT_CLEANUP - -AT_SETUP([VLAN, non-bond]) -AT_KEYWORDS([interface-reconfigure]) -AT_SKIP_IF([$non_ascii_cwd]) -AT_SKIP_IF([test "$IS_WIN32" = "yes"]) -ifr_setup - -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 -Writing network configuration for xapi3 -Configuring xapi3 using None configuration -configure_datapath: bridge - xenbr3 -configure_datapath: physical - ['eth3'] -configure_datapath: extra ports - [] -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/ip link set eth3 up mtu 1500 -/sbin/ethtool -K eth3 gro off lro off -/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 - br-set-external-id xapi3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6 - set Interface xapi3 MAC="00:15:17:a0:29:81" -/sbin/ifup xapi3 -/sbin/update-issue -Committing changes to /etc/sysconfig/network-scripts/route-xapi3 configuration -Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration -]]) - -AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi3], [0], - [# DO NOT EDIT: This file (ifcfg-xapi3) was autogenerated by interface-reconfigure -XEMANAGED=yes -DEVICE=xapi3 -ONBOOT=no -NOZEROCONF=yes -TYPE=Ethernet -BOOTPROTO=none -MTU=1500 -]) - -# Simulate interface-reconfigure creating xapi3, so that we can tell -# 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 -Loading xapi database cache from /var/xapi/network.dbcache -Configured for Vswitch datapath -action_down: xapi3 -/sbin/ifdown xapi3 -deconfigure ipdev xapi3 on xenbr3 -deconfigure_bridge: bridge - xapi3 -action_down: no more masters, bring down slave xenbr3 -deconfigure_bridge: bridge - xenbr3 -action_down: bring down physical devices - ['eth3'] -/sbin/ip link set eth3 down -/usr/bin/ovs-vsctl --timeout=20 - --with-iface --if-exists del-port xapi3 - --if-exists del-br xapi3 - --if-exists del-br xenbr3 -]]) - -AT_CLEANUP - -AT_SETUP([Bond, non-VLAN]) -AT_KEYWORDS([interface-reconfigure]) -AT_SKIP_IF([$non_ascii_cwd]) -AT_SKIP_IF([test "$IS_WIN32" = "yes"]) -ifr_setup - -# Pretend that bond0 exists, even though it would really be created by -# a "create-bond" call in an ovs-vsctl invocation within -# interface-reconfigure, because otherwise interface-reconfigure will -# die with "failed to apply changes: netdev: up: device bond0 does not -# 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 -Loading xapi database cache from /var/xapi/network.dbcache -Configured for Vswitch datapath -action_up: xapi1 -Writing network configuration for xapi1 -Configuring xapi1 using None configuration -configure_datapath: leaving bond bond0 up -configure_datapath: leaving bond bond0 up -configure_datapath: bridge - xapi1 -configure_datapath: physical - ['eth0', 'eth1'] -configure_datapath: extra ports - [] -configure_datapath: extra bonds - [] -netdev: down: device xenbr0 does not exist, ignoring -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/ip link set eth0 up mtu 1500 -/sbin/ethtool -K eth0 gro off lro off -/sbin/ip link set eth1 up mtu 1500 -/sbin/ethtool -K eth1 gro off lro off -/usr/bin/ovs-vsctl --timeout=20 - --if-exists del-br xenbr0 - --if-exists del-br xenbr1 - --with-iface --if-exists del-port eth0 - --with-iface --if-exists del-port eth1 - --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-interval=100 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 -/sbin/ip link set bond0 up -/sbin/update-issue -Committing changes to /etc/sysconfig/network-scripts/route-xapi1 configuration -Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration -]]) - -AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi1], [0], - [# DO NOT EDIT: This file (ifcfg-xapi1) was autogenerated by interface-reconfigure -XEMANAGED=yes -DEVICE=xapi1 -ONBOOT=no -NOZEROCONF=yes -TYPE=Ethernet -BOOTPROTO=none -MTU=1500 -]) - -# Simulate interface-reconfigure creating xapi1, so that we can tell -# 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 -Loading xapi database cache from /var/xapi/network.dbcache -Configured for Vswitch datapath -action_down: xapi1 -/sbin/ifdown xapi1 -deconfigure ipdev xapi1 on xapi1 -deconfigure_bridge: bridge - xapi1 -action_down: bring down physical devices - ['eth0', 'eth1'] -/sbin/ip link set eth0 down -/sbin/ip link set eth1 down -/usr/bin/ovs-vsctl --timeout=20 - --with-iface --if-exists del-port xapi1 - --if-exists del-br xapi1 -]]) - -AT_CLEANUP - -AT_SETUP([VLAN on bond]) -AT_KEYWORDS([interface-reconfigure]) -AT_SKIP_IF([$non_ascii_cwd]) -AT_SKIP_IF([test "$IS_WIN32" = "yes"]) -ifr_setup - -# Pretend that bond0 exists, even though it would really be created by -# a "create-bond" call in an ovs-vsctl invocation within -# interface-reconfigure, because otherwise interface-reconfigure will -# die with "failed to apply changes: netdev: up: device bond0 does not -# 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 -Loading xapi database cache from /var/xapi/network.dbcache -Configured for Vswitch datapath -action_up: xapi2 -Writing network configuration for xapi2 -Configuring xapi2 using None configuration -configure_datapath: leaving bond bond0 up -configure_datapath: leaving bond bond0 up -configure_datapath: bridge - xapi1 -configure_datapath: physical - ['eth0', 'eth1'] -configure_datapath: extra ports - [] -configure_datapath: extra bonds - [] -netdev: down: device xenbr0 does not exist, ignoring -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/ip link set eth0 up mtu 1500 -/sbin/ethtool -K eth0 gro off lro off -/sbin/ip link set eth1 up mtu 1500 -/sbin/ethtool -K eth1 gro off lro off -/usr/bin/ovs-vsctl --timeout=20 - --if-exists del-br xenbr0 - --if-exists del-br xenbr1 - --with-iface --if-exists del-port eth0 - --with-iface --if-exists del-port eth1 - --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-interval=100 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 - br-set-external-id xapi2 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85 - set Interface xapi2 MAC="00:22:19:22:4b:af" -/sbin/ifup xapi2 -action_up: bring up bond0 -/sbin/ip link set bond0 up -/sbin/update-issue -Committing changes to /etc/sysconfig/network-scripts/route-xapi2 configuration -Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration -]]) - -AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi2], [0], - [# DO NOT EDIT: This file (ifcfg-xapi2) was autogenerated by interface-reconfigure -XEMANAGED=yes -DEVICE=xapi2 -ONBOOT=no -NOZEROCONF=yes -TYPE=Ethernet -BOOTPROTO=none -MTU=1500 -]) - -# Simulate interface-reconfigure creating xapi2, so that we can tell -# 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 -Loading xapi database cache from /var/xapi/network.dbcache -Configured for Vswitch datapath -action_down: xapi2 -/sbin/ifdown xapi2 -deconfigure ipdev xapi2 on xapi1 -deconfigure_bridge: bridge - xapi2 -action_down: no more masters, bring down slave xapi1 -deconfigure_bridge: bridge - xapi1 -action_down: bring down physical devices - ['eth0', 'eth1'] -/sbin/ip link set eth0 down -/sbin/ip link set eth1 down -/usr/bin/ovs-vsctl --timeout=20 - --with-iface --if-exists del-port xapi2 - --if-exists del-br xapi2 - --if-exists del-br xapi1 -]]) - -AT_CLEANUP - -dnl This test configures two tunnels, then deletes the second and re-uses its -dnl name for different types of ports. This was introduced to detect errors -dnl where port configuration persists even when the port is deleted and -dnl readded. -AT_SETUP([Re-create port with different types]) -AT_KEYWORDS([interface-reconfigure]) -OVS_VSWITCHD_START( - [add-port br0 p0 -- set int p0 type=gre options:remote_ip=127.0.0.1 -- \ - add-port br0 p1 -- set int p1 type=dummy -- \ - add-port br0 p2 -- set int p2 type=dummy]) - -AT_CHECK([ovs-vsctl set int p1 type=gre options:remote_ip=127.0.0.1]) -AT_CHECK([ovs-vsctl del-port p1]) -AT_CHECK([ovs-vsctl add-port br0 p1 -- set int p1 type=dummy]) - -OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) -OVS_APP_EXIT_AND_WAIT([ovsdb-server]) -AT_CLEANUP diff --git a/tests/ovs-xapi-sync.at b/tests/ovs-xapi-sync.at deleted file mode 100644 index ab96c4d53..000000000 --- a/tests/ovs-xapi-sync.at +++ /dev/null @@ -1,74 +0,0 @@ -AT_BANNER([ovs-xapi-sync]) - -AT_SETUP([ovs-xapi-sync]) - -# Mock up the XenAPI. -cp "$top_srcdir/tests/MockXenAPI.py" XenAPI.py -PYTHONPATH=`pwd`:$PYTHONPATH -export PYTHONPATH - -cp "$top_srcdir/vswitchd/vswitch.ovsschema" . - -cp "$top_srcdir/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync" \ - ovs-xapi-sync - -on_exit 'kill `cat pid ovs-xapi-sync.pid`' - -mkdir var var/run -touch var/run/xapi_init_complete.cookie - -ovs_vsctl () { - ovs-vsctl --no-wait -vreconnect:emer "$@" -} - -# Start ovsdb-server. -OVS_VSCTL_SETUP - -# Start ovs-xapi-sync. -AT_CHECK([$PYTHON3 ./ovs-xapi-sync "--pidfile=ovs-xapi-sync.pid" \ - "--root-prefix=`pwd`" unix:db.sock >log 2>&1 &]) -AT_CAPTURE_FILE([log]) - -# Add bridges and check ovs-xapi-sync's work. -AT_CHECK([ovs_vsctl -- add-br xenbr0 -- add-br xenbr1]) -OVS_WAIT_UNTIL([test "X`ovs_vsctl get bridge xenbr0 fail-mode`" != "X[[]]"]) -AT_CHECK([ovs_vsctl \ - -- get bridge xenbr0 fail-mode other-config external-ids \ - -- get bridge xenbr1 fail-mode other-config external-ids], [0], - [[secure -{} -{bridge-id="custom bridge ID"} -secure -{disable-in-band="true"} -{} -]]) - -# Add vif and check daemon's work. -AT_CHECK([ovs_vsctl \ - -- add-port xenbr0 vif1.0 \ - -- set Interface vif1.0 'external-ids={attached-mac="00:11:22:33:44:55", xs-network-uuid="9b66c68b-a74e-4d34-89a5-20a8ab352d1e", xs-vif-uuid="6ab1b260-398e-49ba-827b-c7696108964c", xs-vm-uuid="fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8"'}]) -OVS_WAIT_UNTIL([ovs_vsctl get interface vif1.0 external-ids:iface-id >/dev/null 2>&1]) -AT_CHECK([ovs_vsctl get interface vif1.0 external-ids], [0], - [{attached-mac="00:11:22:33:44:55", iface-id="custom iface ID", iface-status=active, vm-id="custom vm ID", xs-network-uuid="9b66c68b-a74e-4d34-89a5-20a8ab352d1e", xs-vif-uuid="6ab1b260-398e-49ba-827b-c7696108964c", xs-vm-uuid="fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8"} -]) - -# Add corresponding tap and check daemon's work. -AT_CHECK([ovs_vsctl add-port xenbr0 tap1.0]) -OVS_WAIT_UNTIL([ovs_vsctl get interface tap1.0 external-ids:iface-id >/dev/null 2>&1]) -AT_CHECK([ovs_vsctl \ - -- get interface vif1.0 external-ids \ - -- get interface tap1.0 external-ids], [0], - [{attached-mac="00:11:22:33:44:55", iface-id="custom iface ID", iface-status=inactive, vm-id="custom vm ID", xs-network-uuid="9b66c68b-a74e-4d34-89a5-20a8ab352d1e", xs-vif-uuid="6ab1b260-398e-49ba-827b-c7696108964c", xs-vm-uuid="fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8"} -{attached-mac="00:11:22:33:44:55", iface-id="custom iface ID", iface-status=active, vm-id="custom vm ID", xs-network-uuid="9b66c68b-a74e-4d34-89a5-20a8ab352d1e", xs-vif-uuid="6ab1b260-398e-49ba-827b-c7696108964c", xs-vm-uuid="fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8"} -]) - -# Remove corresponding tap and check daemon's work. -AT_CHECK([ovs_vsctl del-port tap1.0]) -OVS_WAIT_UNTIL([test `ovs_vsctl get interface vif1.0 external-ids:iface-status` = active]) -AT_CHECK([ovs_vsctl get interface vif1.0 external-ids], [0], - [{attached-mac="00:11:22:33:44:55", iface-id="custom iface ID", iface-status=active, vm-id="custom vm ID", xs-network-uuid="9b66c68b-a74e-4d34-89a5-20a8ab352d1e", xs-vif-uuid="6ab1b260-398e-49ba-827b-c7696108964c", xs-vm-uuid="fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8"} -]) - -OVSDB_SERVER_SHUTDOWN - -AT_CLEANUP diff --git a/tests/testsuite.at b/tests/testsuite.at index 14a28b517..cf4e3eadf 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -67,8 +67,6 @@ m4_include([tests/bridge.at]) m4_include([tests/netdev-type.at]) m4_include([tests/ovsdb.at]) m4_include([tests/ovs-vsctl.at]) -m4_include([tests/ovs-xapi-sync.at]) -m4_include([tests/interface-reconfigure.at]) m4_include([tests/stp.at]) m4_include([tests/rstp.at]) m4_include([tests/vlog.at]) diff --git a/tests/tunnel.at b/tests/tunnel.at index fd482aa87..037b4c390 100644 --- a/tests/tunnel.at +++ b/tests/tunnel.at @@ -1205,3 +1205,21 @@ Datapath actions: push_eth(src=00:00:00:00:00:00,dst=00:00:00:00:00:00),1 OVS_VSWITCHD_STOP AT_CLEANUP + +dnl This test configures two tunnels, then deletes the second and re-uses its +dnl name for different types of ports. This was introduced to detect errors +dnl where port configuration persists even when the port is deleted and +dnl readded. +AT_SETUP([tunnel - re-create port with different types]) +OVS_VSWITCHD_START( + [add-port br0 p0 -- set int p0 type=gre options:remote_ip=127.0.0.1 -- \ + add-port br0 p1 -- set int p1 type=dummy -- \ + add-port br0 p2 -- set int p2 type=dummy]) + +AT_CHECK([ovs-vsctl set int p1 type=gre options:remote_ip=127.0.0.1]) +AT_CHECK([ovs-vsctl del-port p1]) +AT_CHECK([ovs-vsctl add-port br0 p1 -- set int p1 type=dummy]) + +OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server])] +AT_CLEANUP -- cgit v1.2.1