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