]> git.proxmox.com Git - ovs.git/blame - tests/ovs-xapi-sync.at
Require Python 3 and remove support for Python 2.
[ovs.git] / tests / ovs-xapi-sync.at
CommitLineData
1b0fdca5
BP
1AT_BANNER([ovs-xapi-sync])
2
3AT_SETUP([ovs-xapi-sync])
1b0fdca5
BP
4
5# Mock up the XenAPI.
6cp "$top_srcdir/tests/MockXenAPI.py" XenAPI.py
7PYTHONPATH=`pwd`:$PYTHONPATH
8export PYTHONPATH
9
1b0fdca5
BP
10cp "$top_srcdir/vswitchd/vswitch.ovsschema" .
11
12cp "$top_srcdir/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync" \
13 ovs-xapi-sync
14
53eb8cb8 15on_exit 'kill `cat pid ovs-xapi-sync.pid`'
1b0fdca5
BP
16
17mkdir var var/run
18touch var/run/xapi_init_complete.cookie
19
20ovs_vsctl () {
ee9ccf93 21 ovs-vsctl --no-wait -vreconnect:emer "$@"
1b0fdca5
BP
22}
23
24# Start ovsdb-server.
25OVS_VSCTL_SETUP
26
27# Start ovs-xapi-sync.
1ca0323e 28AT_CHECK([$PYTHON3 ./ovs-xapi-sync "--pidfile=ovs-xapi-sync.pid" \
ee9ccf93 29 "--root-prefix=`pwd`" unix:db.sock >log 2>&1 &])
1b0fdca5
BP
30AT_CAPTURE_FILE([log])
31
32# Add bridges and check ovs-xapi-sync's work.
33AT_CHECK([ovs_vsctl -- add-br xenbr0 -- add-br xenbr1])
34OVS_WAIT_UNTIL([test "X`ovs_vsctl get bridge xenbr0 fail-mode`" != "X[[]]"])
35AT_CHECK([ovs_vsctl \
36 -- get bridge xenbr0 fail-mode other-config external-ids \
37 -- get bridge xenbr1 fail-mode other-config external-ids], [0],
38 [[secure
39{}
40{bridge-id="custom bridge ID"}
41secure
42{disable-in-band="true"}
43{}
44]])
45
46# Add vif and check daemon's work.
47AT_CHECK([ovs_vsctl \
48 -- add-port xenbr0 vif1.0 \
49 -- 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"'}])
50OVS_WAIT_UNTIL([ovs_vsctl get interface vif1.0 external-ids:iface-id >/dev/null 2>&1])
51AT_CHECK([ovs_vsctl get interface vif1.0 external-ids], [0],
c473936b 52 [{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"}
1b0fdca5
BP
53])
54
55# Add corresponding tap and check daemon's work.
56AT_CHECK([ovs_vsctl add-port xenbr0 tap1.0])
57OVS_WAIT_UNTIL([ovs_vsctl get interface tap1.0 external-ids:iface-id >/dev/null 2>&1])
58AT_CHECK([ovs_vsctl \
59 -- get interface vif1.0 external-ids \
60 -- get interface tap1.0 external-ids], [0],
c473936b
GS
61 [{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"}
62{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"}
1b0fdca5
BP
63])
64
65# Remove corresponding tap and check daemon's work.
66AT_CHECK([ovs_vsctl del-port tap1.0])
67OVS_WAIT_UNTIL([test `ovs_vsctl get interface vif1.0 external-ids:iface-status` = active])
68AT_CHECK([ovs_vsctl get interface vif1.0 external-ids], [0],
c473936b 69 [{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"}
1b0fdca5
BP
70])
71
94c33672
BP
72OVSDB_SERVER_SHUTDOWN
73
1b0fdca5 74AT_CLEANUP