]> git.proxmox.com Git - mirror_ovs.git/blame - tests/ovn-sbctl.at
OVN: fix DNAT/SNAT system-ovn unit tests
[mirror_ovs.git] / tests / ovn-sbctl.at
CommitLineData
c0e15257 1AT_BANNER([ovn-sbctl])
fed00ab1
AW
2
3# OVN_SBCTL_TEST_START
4m4_define([OVN_SBCTL_TEST_START],
6132b241 5 [dnl Create databases (ovn-nb, ovn-sb).
dfef14ee 6 AT_KEYWORDS([ovn])
fed00ab1
AW
7 for daemon in ovn-nb ovn-sb; do
8 AT_CHECK([ovsdb-tool create $daemon.db $abs_top_srcdir/${daemon%%-*}/${daemon}.ovsschema])
9 done
10
60bdd011 11 dnl Start ovsdb-servers.
56120500
BP
12 AT_CHECK([ovsdb-server --detach --no-chdir --pidfile=ovnnb_db.pid --unixctl=$OVS_RUNDIR/ovnnb_db.ctl --log-file=ovsdb_nb.log --remote=punix:$OVS_RUNDIR/ovnnb_db.sock ovn-nb.db ], [0], [], [stderr])
13 AT_CHECK([ovsdb-server --detach --no-chdir --pidfile=ovnsb_db.pid --unixctl=$OVS_RUNDIR/ovnsb_db.ctl --log-file=ovsdb_sb.log --remote=punix:$OVS_RUNDIR/ovnsb_db.sock ovn-sb.db], [0], [], [stderr])
60bdd011 14 on_exit "kill `cat ovnnb_db.pid` `cat ovnsb_db.pid`"
fed00ab1
AW
15 AT_CHECK([[sed < stderr '
16/vlog|INFO|opened log file/d
17/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d']])
18 AT_CAPTURE_FILE([ovsdb-server.log])
19
20 dnl Start ovn-northd.
9a403b07 21 AT_CHECK([ovn-northd --detach --no-chdir --pidfile --log-file --ovnnb-db=unix:$OVS_RUNDIR/ovnnb_db.sock --ovnsb-db=unix:$OVS_RUNDIR/ovnsb_db.sock], [0], [], [stderr])
53eb8cb8 22 on_exit "kill `cat ovn-northd.pid`"
fed00ab1
AW
23 AT_CHECK([[sed < stderr '
24/vlog|INFO|opened log file/d']])
25 AT_CAPTURE_FILE([ovn-northd.log])
26])
27
28# OVN_SBCTL_TEST_STOP
29m4_define([OVN_SBCTL_TEST_STOP],
f0e65e67 30 [AT_CHECK([check_logs "$1"])
d9c8c57c 31 OVS_APP_EXIT_AND_WAIT([ovn-northd])
8a16ab90
LR
32 OVS_APP_EXIT_AND_WAIT_BY_TARGET([$OVS_RUNDIR/ovnnb_db.ctl], [$OVS_RUNDIR/ovnnb_db.pid])
33 OVS_APP_EXIT_AND_WAIT_BY_TARGET([$OVS_RUNDIR/ovnsb_db.ctl], [$OVS_RUNDIR/ovnsb_db.pid])])
fed00ab1 34
3c653533
JP
35dnl ---------------------------------------------------------------------
36
37AT_SETUP([ovn-sbctl - chassis commands])
38OVN_SBCTL_TEST_START
39ovn_init_db ovn-sb
40
41AT_CHECK([ovn-sbctl chassis-add ch0 geneve 1.2.3.4])
42AT_CHECK([ovn-sbctl -f csv -d bare --no-headings --columns ip,type list encap | sort],
43 [0], [dnl
441.2.3.4,geneve
45])
46
47AT_CHECK([ovn-sbctl chassis-add ch1 stt,geneve,vxlan 1.2.3.5])
48AT_CHECK([ovn-sbctl -f csv -d bare --no-headings --columns ip,type list encap | sort],
49 [0], [dnl
501.2.3.4,geneve
511.2.3.5,geneve
521.2.3.5,stt
531.2.3.5,vxlan
54])
55
56AT_CHECK([ovn-sbctl chassis-del ch0])
57AT_CHECK([ovn-sbctl -f csv -d bare --no-headings --columns ip,type list encap | sort],
58 [0], [dnl
591.2.3.5,geneve
601.2.3.5,stt
611.2.3.5,vxlan
62])
63
64OVN_SBCTL_TEST_STOP
d9c8c57c
LR
65as ovn-sb
66OVS_APP_EXIT_AND_WAIT([ovsdb-server])
3c653533
JP
67AT_CLEANUP
68
69dnl ---------------------------------------------------------------------
70
1cece4ad 71AT_SETUP([ovn-sbctl])
fed00ab1
AW
72OVN_SBCTL_TEST_START
73
ea46a4e9 74AT_CHECK([ovn-nbctl ls-add br-test])
31ed1192
JP
75AT_CHECK([ovn-nbctl lsp-add br-test vif0])
76AT_CHECK([ovn-nbctl lsp-set-addresses vif0 f0:ab:cd:ef:01:02])
fed00ab1 77AT_CHECK([ovn-sbctl chassis-add ch0 stt 1.2.3.5])
3b9bdc6c 78AT_CHECK([ovn-nbctl --wait=sb sync])
f0f96ba8 79AT_CHECK([ovn-sbctl lsp-bind vif0 ch0])
fed00ab1
AW
80
81AT_CHECK([ovn-sbctl show], [0], [dnl
29004db2 82Chassis ch0
fed00ab1
AW
83 Encap stt
84 ip: "1.2.3.5"
36283d78 85 options: {csum="true"}
29004db2 86 Port_Binding vif0
016e4684
AW
87])
88
89# adds another 'vif1'
3b9bdc6c 90AT_CHECK([ovn-nbctl --wait=sb lsp-add br-test vif1])
31ed1192 91AT_CHECK([ovn-nbctl lsp-set-addresses vif1 f0:ab:cd:ef:01:03])
f0f96ba8 92AT_CHECK([ovn-sbctl lsp-bind vif1 ch0])
016e4684
AW
93
94AT_CHECK([ovn-sbctl show | sed 's/vif[[0-9]]/vif/'], [0], [dnl
29004db2 95Chassis ch0
016e4684
AW
96 Encap stt
97 ip: "1.2.3.5"
36283d78 98 options: {csum="true"}
29004db2
IM
99 Port_Binding vif
100 Port_Binding vif
016e4684
AW
101])
102
103# deletes 'vif1'
31ed1192 104AT_CHECK([ovn-nbctl lsp-del vif1])
3b9bdc6c 105AT_CHECK([ovn-nbctl --wait=sb sync])
016e4684
AW
106
107AT_CHECK([ovn-sbctl show], [0], [dnl
29004db2 108Chassis ch0
016e4684
AW
109 Encap stt
110 ip: "1.2.3.5"
36283d78 111 options: {csum="true"}
29004db2 112 Port_Binding vif0
fed00ab1
AW
113])
114
115uuid=$(ovn-sbctl --columns=_uuid list Chassis ch0 | cut -d ':' -f2 | tr -d ' ')
116AT_CHECK_UNQUOTED([ovn-sbctl --columns=logical_port,mac,chassis list Port_Binding], [0], [dnl
29004db2 117logical_port : vif0
fed00ab1
AW
118mac : [["f0:ab:cd:ef:01:02"]]
119chassis : ${uuid}
120])
121
bf4afb5a 122# test the passing down of logical port type and options.
3b9bdc6c 123AT_CHECK([ovn-nbctl --wait=sb lsp-add br-test vtep0])
31ed1192
JP
124AT_CHECK([ovn-nbctl lsp-set-type vtep0 vtep])
125AT_CHECK([ovn-nbctl lsp-set-options vtep0 vtep_physical_switch=p0 vtep_logical_switch=l0])
bf4afb5a 126
3b9bdc6c
BP
127AT_CHECK([ovn-sbctl --timeout=10 wait-until Port_Binding vtep0 options!={}])
128AT_CHECK([ovn-sbctl --columns=logical_port,mac,type,options list Port_Binding vtep0], [0], [dnl
29004db2 129logical_port : vtep0
bf4afb5a
AW
130mac : [[]]
131type : vtep
29004db2 132options : {vtep_logical_switch=l0, vtep_physical_switch=p0}
bf4afb5a
AW
133])
134
fed00ab1
AW
135OVN_SBCTL_TEST_STOP
136AT_CLEANUP
3ffed5cb
GL
137
138dnl ---------------------------------------------------------------------
139
140AT_SETUP([ovn-sbctl - connection])
141OVN_SBCTL_TEST_START
142
143AT_CHECK([ovn-sbctl --inactivity-probe=30000 set-connection ptcp:6641:127.0.0.1 punix:$OVS_RUNDIR/ovnsb_db.sock])
144AT_CHECK([ovn-sbctl list connection | grep inactivity_probe], [0], [dnl
145inactivity_probe : 30000
146inactivity_probe : 30000
147])
148
149OVN_SBCTL_TEST_STOP
9a403b07 150AT_CLEANUP