]> git.proxmox.com Git - ovs.git/blame - tests/ovs-xapi-sync.at
stream.py: Make usage() function return a string.
[ovs.git] / tests / ovs-xapi-sync.at
CommitLineData
1b0fdca5
BP
1AT_BANNER([ovs-xapi-sync])
2
3AT_SETUP([ovs-xapi-sync])
4AT_SKIP_IF([test $HAVE_PYTHON = no])
5
6# Mock up the XenAPI.
7cp "$top_srcdir/tests/MockXenAPI.py" XenAPI.py
8PYTHONPATH=`pwd`:$PYTHONPATH
9export PYTHONPATH
10
11OVS_PKGDATADIR=`pwd`; export OVS_PKGDATADIR
12cp "$top_srcdir/vswitchd/vswitch.ovsschema" .
13
14cp "$top_srcdir/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync" \
15 ovs-xapi-sync
16
17trap 'kill `cat pid ovs-xapi-sync.pid`' 0
18
19mkdir var var/run
20touch var/run/xapi_init_complete.cookie
21
22ovs_vsctl () {
23 ovs-vsctl --timeout=5 --no-wait -vreconnect:ANY:emer --db=unix:socket "$@"
24}
25
26# Start ovsdb-server.
27OVS_VSCTL_SETUP
28
29# Start ovs-xapi-sync.
30AT_CHECK([$PYTHON ./ovs-xapi-sync "--pidfile-name=`pwd`/ovs-xapi-sync.pid" \
31 "--root-prefix=`pwd`" unix:socket >log 2>&1 &])
32AT_CAPTURE_FILE([log])
33
34# Add bridges and check ovs-xapi-sync's work.
35AT_CHECK([ovs_vsctl -- add-br xenbr0 -- add-br xenbr1])
36OVS_WAIT_UNTIL([test "X`ovs_vsctl get bridge xenbr0 fail-mode`" != "X[[]]"])
37AT_CHECK([ovs_vsctl \
38 -- get bridge xenbr0 fail-mode other-config external-ids \
39 -- get bridge xenbr1 fail-mode other-config external-ids], [0],
40 [[secure
41{}
42{bridge-id="custom bridge ID"}
43secure
44{disable-in-band="true"}
45{}
46]])
47
48# Add vif and check daemon's work.
49AT_CHECK([ovs_vsctl \
50 -- add-port xenbr0 vif1.0 \
51 -- 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"'}])
52OVS_WAIT_UNTIL([ovs_vsctl get interface vif1.0 external-ids:iface-id >/dev/null 2>&1])
53AT_CHECK([ovs_vsctl get interface vif1.0 external-ids], [0],
54 [{attached-mac="00:11:22:33:44:55", iface-id="custom iface ID", iface-status=active, xs-network-uuid="9b66c68b-a74e-4d34-89a5-20a8ab352d1e", xs-vif-uuid="6ab1b260-398e-49ba-827b-c7696108964c", xs-vm-uuid="fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8"}
55])
56
57# Add corresponding tap and check daemon's work.
58AT_CHECK([ovs_vsctl add-port xenbr0 tap1.0])
59OVS_WAIT_UNTIL([ovs_vsctl get interface tap1.0 external-ids:iface-id >/dev/null 2>&1])
60AT_CHECK([ovs_vsctl \
61 -- get interface vif1.0 external-ids \
62 -- get interface tap1.0 external-ids], [0],
63 [{attached-mac="00:11:22:33:44:55", iface-id="custom iface ID", iface-status=inactive, xs-network-uuid="9b66c68b-a74e-4d34-89a5-20a8ab352d1e", xs-vif-uuid="6ab1b260-398e-49ba-827b-c7696108964c", xs-vm-uuid="fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8"}
64{attached-mac="00:11:22:33:44:55", iface-id="custom iface ID", iface-status=active, xs-network-uuid="9b66c68b-a74e-4d34-89a5-20a8ab352d1e", xs-vif-uuid="6ab1b260-398e-49ba-827b-c7696108964c", xs-vm-uuid="fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8"}
65])
66
67# Remove corresponding tap and check daemon's work.
68AT_CHECK([ovs_vsctl del-port tap1.0])
69OVS_WAIT_UNTIL([test `ovs_vsctl get interface vif1.0 external-ids:iface-status` = active])
70AT_CHECK([ovs_vsctl get interface vif1.0 external-ids], [0],
71 [{attached-mac="00:11:22:33:44:55", iface-id="custom iface ID", iface-status=active, xs-network-uuid="9b66c68b-a74e-4d34-89a5-20a8ab352d1e", xs-vif-uuid="6ab1b260-398e-49ba-827b-c7696108964c", xs-vm-uuid="fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8"}
72])
73
74AT_CLEANUP