]> git.proxmox.com Git - mirror_ovs.git/blame - tests/interface-reconfigure.at
test: Reverse the order of commands added by ON_EXIT macro
[mirror_ovs.git] / tests / interface-reconfigure.at
CommitLineData
c78cd7de
BP
1m4_divert_push([PREPARE_TESTS])
2[
3# Creates a directory tree for use with "interface-reconfigure --root-dir".
4ifr_setup () {
5 for script in \
6 interface-reconfigure \
7 InterfaceReconfigure.py \
8 InterfaceReconfigureBridge.py \
9 InterfaceReconfigureVswitch.py
10 do
11 cp $top_srcdir/xenserver/opt_xensource_libexec_$script $script
12 done
13
14 mkdir -p etc
15 cat > etc/xensource-inventory <<EOF
48d014bf
BP
16PRODUCT_BRAND='XenServer'
17PRODUCT_NAME='xenenterprise'
18PRODUCT_VERSION='5.5.0'
19BUILD_NUMBER='24648p'
20KERNEL_VERSION='2.6.18-128.1.6.el5.xs5.5.0.505.1024xen'
21XEN_VERSION='3.3.1'
22INSTALLATION_DATE='2010-02-10 16:45:28.748345'
23PRIMARY_DISK='/dev/disk/by-id/scsi-360022190add7fc001241a14e0ee3e85c'
24BACKUP_PARTITION='/dev/disk/by-id/scsi-360022190add7fc001241a14e0ee3e85c-part2'
25INSTALLATION_UUID='852ee692-71b4-439e-abfb-0eba72dc85f0'
26CONTROL_DOMAIN_UUID='44e6b66e-3074-4a3c-bbcd-756d845a3b56'
27DEFAULT_SR_PHYSDEVS='/dev/sda3'
28DOM0_MEM='752'
29MANAGEMENT_INTERFACE='xenbr2'
30EOF
31
c78cd7de
BP
32 mkdir -p etc/xensource
33 echo vswitch > etc/xensource/network.conf
34
35 for utility in \
36 sbin/ethtool \
37 sbin/ifconfig \
38 sbin/ifdown \
39 sbin/ifup \
40 sbin/ip \
41 sbin/update-issue \
42 sbin/vconfig \
43 usr/sbin/brctl \
44 usr/sbin/ovs-vlan-bug-workaround
45 do
46 mkdir -p `dirname $utility`
47 cat > $utility <<'EOF'
48d014bf
BP
48#! /bin/sh
49echo ${0} ${*} >&2
50EOF
c78cd7de
BP
51 chmod +x $utility
52 done
48d014bf 53
c78cd7de
BP
54 mkdir -p usr/bin
55 cat > usr/bin/ovs-vsctl <<'EOF'
da7198b4
DT
56#! /bin/sh
57echo ${0} ${*} >&2
58
59while test ${#} -ge 4; do
60 if test X"${1}" = Xget && \
61 test X"${2}" = Xinterface && \
62 test X"${4}" = Xofport; then
63 if test X"${3}" = Xeth2; then
64 echo 5
65 else
66 echo -1
67 fi
68 fi
69
70 shift
71done
72EOF
c78cd7de 73 chmod +x usr/bin/ovs-vsctl
da7198b4 74
c78cd7de 75 cat > usr/bin/ovs-ofctl <<'EOF'
da7198b4
DT
76#! /bin/sh
77echo ${0} ${*} >&2
78
79# Check that the flow is properly formed.
80ovs-ofctl parse-flow "${3}" >/dev/null
81EOF
c78cd7de
BP
82 chmod +x usr/bin/ovs-ofctl
83
84 mkdir -p etc/sysconfig/network-scripts
85 configure_netdev () {
86 mkdir -p sys/class/net/${1}
87 echo ${2} > sys/class/net/${1}/address
88 echo ${3} > sys/class/net/${1}/tx_queue_len
89 if test ${1} = eth1; then
90 # No VLAN acceleration.
91 echo 0x829 > sys/class/net/${1}/features
92 else
93 # Supports VLAN acceleration.
94 echo 0x10b89 > sys/class/net/${1}/features
95 fi
96 mkdir sys/class/net/${1}/device
97 ln -s ../../../bus/pci/drivers/e1000 sys/class/net/${1}/device/driver
98
99 : >> etc/sysconfig/network-scripts/ifcfg-${1}
100 }
101
102 configure_netdev lo 00:00:00:00:00:00 0
103 configure_netdev eth0 00:22:19:22:4b:af 1000
104 configure_netdev eth1 00:22:19:22:4b:b1 1000
105 configure_netdev eth2 00:15:17:a0:29:80 1000
106 configure_netdev eth3 00:15:17:a0:29:81 1000
107 configure_netdev eth4 00:1b:21:29:ce:51 1000
108
109 mkdir -p var/xapi
110 cat > var/xapi/network.dbcache <<'EOF'
48d014bf
BP
111<?xml version="1.0" ?>
112<xenserver-network-configuration>
113 <pif ref="OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6">
114 <VLAN_slave_of/>
404c1692 115 <tunnel_access_PIF_of/>
48d014bf
BP
116 <management>
117 False
118 </management>
119 <bond_slave_of>
120 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
121 </bond_slave_of>
122 <uuid>
123 bd62a141-091f-3909-e334-0334f67ff3be
124 </uuid>
125 <IP>
126
127 </IP>
128 <VLAN_master_of>
129 OpaqueRef:NULL
130 </VLAN_master_of>
131 <VLAN>
132 -1
133 </VLAN>
134 <netmask>
135
136 </netmask>
137 <other_config/>
138 <MAC>
139 00:22:19:22:4b:af
140 </MAC>
141 <ip_configuration_mode>
142 None
143 </ip_configuration_mode>
144 <DNS>
145
146 </DNS>
147 <device>
148 eth0
149 </device>
150 <bond_master_of/>
151 <currently_attached>
152 False
153 </currently_attached>
154 <gateway>
155
156 </gateway>
157 <network>
158 OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5
159 </network>
160 </pif>
161 <pif ref="OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806">
162 <VLAN_slave_of/>
404c1692 163 <tunnel_access_PIF_of/>
48d014bf
BP
164 <management>
165 False
166 </management>
167 <bond_slave_of>
168 OpaqueRef:NULL
169 </bond_slave_of>
170 <uuid>
171 df8d35c2-cc3a-a623-7065-d987a29feb75
172 </uuid>
173 <IP>
174
175 </IP>
176 <VLAN_master_of>
177 OpaqueRef:NULL
178 </VLAN_master_of>
179 <VLAN>
180 -1
181 </VLAN>
182 <netmask>
183
184 </netmask>
185 <other_config/>
186 <MAC>
187 00:1b:21:29:ce:51
188 </MAC>
189 <ip_configuration_mode>
190 None
191 </ip_configuration_mode>
192 <DNS>
193
194 </DNS>
195 <device>
196 eth4
197 </device>
198 <bond_master_of/>
199 <currently_attached>
200 False
201 </currently_attached>
202 <gateway>
203
204 </gateway>
205 <network>
206 OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531
207 </network>
208 </pif>
209 <pif ref="OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768">
210 <VLAN_slave_of/>
404c1692 211 <tunnel_access_PIF_of/>
48d014bf
BP
212 <management>
213 False
214 </management>
215 <bond_slave_of>
216 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
217 </bond_slave_of>
218 <uuid>
219 2f87fc95-5ab4-571a-2487-3f4ac1985663
220 </uuid>
221 <IP>
222
223 </IP>
224 <VLAN_master_of>
225 OpaqueRef:NULL
226 </VLAN_master_of>
227 <VLAN>
228 -1
229 </VLAN>
230 <netmask>
231
232 </netmask>
233 <other_config/>
234 <MAC>
235 00:22:19:22:4b:b1
236 </MAC>
237 <ip_configuration_mode>
238 None
239 </ip_configuration_mode>
240 <DNS>
241
242 </DNS>
243 <device>
244 eth1
245 </device>
246 <bond_master_of/>
247 <currently_attached>
248 False
249 </currently_attached>
250 <gateway>
251
252 </gateway>
253 <network>
254 OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d
255 </network>
256 </pif>
257 <pif ref="OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e">
258 <VLAN_slave_of/>
404c1692 259 <tunnel_access_PIF_of/>
48d014bf
BP
260 <management>
261 False
262 </management>
263 <bond_slave_of>
264 OpaqueRef:NULL
265 </bond_slave_of>
266 <uuid>
267 d2dfdab3-daf4-afea-f055-a25a0d24d714
268 </uuid>
269 <IP>
270
271 </IP>
272 <VLAN_master_of>
273 OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
274 </VLAN_master_of>
275 <VLAN>
276 4
277 </VLAN>
278 <netmask>
279
280 </netmask>
281 <other_config/>
282 <MAC>
283 fe:ff:ff:ff:ff:ff
284 </MAC>
285 <ip_configuration_mode>
286 None
287 </ip_configuration_mode>
288 <DNS>
289
290 </DNS>
291 <device>
292 bond0
293 </device>
294 <bond_master_of/>
295 <currently_attached>
296 True
297 </currently_attached>
298 <gateway>
299
300 </gateway>
301 <network>
302 OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47
303 </network>
304 </pif>
305 <pif ref="OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc">
306 <VLAN_slave_of>
307 <master>
308 OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
309 </master>
310 </VLAN_slave_of>
404c1692 311 <tunnel_access_PIF_of/>
48d014bf
BP
312 <management>
313 False
314 </management>
315 <bond_slave_of>
316 OpaqueRef:NULL
317 </bond_slave_of>
318 <uuid>
319 f4ba396e-a993-a592-5fbc-a1d566afb59e
320 </uuid>
321 <IP>
322 10.0.0.188
323 </IP>
324 <VLAN_master_of>
325 OpaqueRef:NULL
326 </VLAN_master_of>
327 <VLAN>
328 -1
329 </VLAN>
330 <netmask>
331 255.0.0.0
332 </netmask>
333 <other_config/>
334 <MAC>
335 00:15:17:a0:29:81
336 </MAC>
337 <ip_configuration_mode>
338 Static
339 </ip_configuration_mode>
340 <DNS>
341
342 </DNS>
343 <device>
344 eth3
345 </device>
346 <bond_master_of/>
347 <currently_attached>
348 True
349 </currently_attached>
350 <gateway>
351
352 </gateway>
353 <network>
354 OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32
355 </network>
356 </pif>
357 <pif ref="OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15">
358 <VLAN_slave_of/>
404c1692 359 <tunnel_access_PIF_of/>
48d014bf
BP
360 <management>
361 True
362 </management>
363 <bond_slave_of>
364 OpaqueRef:NULL
365 </bond_slave_of>
366 <uuid>
367 646ca9a1-36ad-e2f9-3ecc-1e5622c201c2
368 </uuid>
369 <IP>
370 172.18.3.188
371 </IP>
372 <VLAN_master_of>
373 OpaqueRef:NULL
374 </VLAN_master_of>
375 <VLAN>
376 -1
377 </VLAN>
378 <netmask>
379 255.255.0.0
380 </netmask>
381 <other_config/>
382 <MAC>
383 00:15:17:a0:29:80
384 </MAC>
385 <ip_configuration_mode>
386 DHCP
387 </ip_configuration_mode>
388 <DNS>
389
390 </DNS>
391 <device>
392 eth2
393 </device>
394 <bond_master_of/>
395 <currently_attached>
396 True
397 </currently_attached>
398 <gateway>
399
400 </gateway>
401 <network>
402 OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe
403 </network>
404 </pif>
405 <pif ref="OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3">
406 <VLAN_slave_of/>
404c1692 407 <tunnel_access_PIF_of/>
48d014bf
BP
408 <management>
409 False
410 </management>
411 <bond_slave_of>
412 OpaqueRef:NULL
413 </bond_slave_of>
414 <uuid>
415 3941edd2-865b-8dd8-61f0-199f5e1fa652
416 </uuid>
417 <IP>
418
419 </IP>
420 <VLAN_master_of>
421 OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
422 </VLAN_master_of>
423 <VLAN>
424 123
425 </VLAN>
426 <netmask>
427
428 </netmask>
429 <other_config/>
430 <MAC>
431 fe:ff:ff:ff:ff:ff
432 </MAC>
433 <ip_configuration_mode>
434 None
435 </ip_configuration_mode>
436 <DNS>
437
438 </DNS>
439 <device>
440 eth3
441 </device>
442 <bond_master_of/>
443 <currently_attached>
444 True
445 </currently_attached>
446 <gateway>
447
448 </gateway>
449 <network>
450 OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17
451 </network>
452 </pif>
453 <pif ref="OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11">
454 <VLAN_slave_of>
455 <master>
456 OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
457 </master>
458 </VLAN_slave_of>
404c1692 459 <tunnel_access_PIF_of/>
48d014bf
BP
460 <management>
461 False
462 </management>
463 <bond_slave_of>
464 OpaqueRef:NULL
465 </bond_slave_of>
466 <uuid>
467 6c0327a9-afa3-fc19-6798-a1bfe20095ed
468 </uuid>
469 <IP>
470
471 </IP>
472 <VLAN_master_of>
473 OpaqueRef:NULL
474 </VLAN_master_of>
475 <VLAN>
476 -1
477 </VLAN>
478 <netmask>
479
480 </netmask>
481 <other_config/>
482 <MAC>
483 00:22:19:22:4b:af
484 </MAC>
485 <ip_configuration_mode>
486 None
487 </ip_configuration_mode>
488 <DNS>
489
490 </DNS>
491 <device>
492 bond0
493 </device>
494 <bond_master_of>
495 <slave>
496 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
497 </slave>
498 </bond_master_of>
499 <currently_attached>
500 True
501 </currently_attached>
502 <gateway>
503
504 </gateway>
505 <network>
506 OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a
507 </network>
508 </pif>
509 <bond ref="OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e">
510 <master>
511 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
512 </master>
513 <uuid>
514 dad825f1-6d81-386e-849c-5589281e53e1
515 </uuid>
516 <slaves>
517 <slave>
518 OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
519 </slave>
520 <slave>
521 OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
522 </slave>
523 </slaves>
524 </bond>
525 <vlan ref="OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c">
526 <tagged_PIF>
527 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
528 </tagged_PIF>
529 <uuid>
530 841814da-d0d2-9da4-0b2e-b6143480bbfb
531 </uuid>
532 <untagged_PIF>
533 OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
534 </untagged_PIF>
535 </vlan>
536 <vlan ref="OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297">
537 <tagged_PIF>
538 OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
539 </tagged_PIF>
540 <uuid>
541 399279a2-5ccd-5368-9af3-8622a1f1ac82
542 </uuid>
543 <untagged_PIF>
544 OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
545 </untagged_PIF>
546 </vlan>
547 <network ref="OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47">
548 <PIFs>
549 <PIF>
550 OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
551 </PIF>
552 </PIFs>
553 <bridge>
554 xapi2
555 </bridge>
556 <other_config/>
557 <uuid>
558 99be2da4-6c33-6f8e-49ea-3bc592fe3c85
559 </uuid>
560 </network>
561 <network ref="OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32">
562 <PIFs>
563 <PIF>
564 OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
565 </PIF>
566 </PIFs>
567 <bridge>
568 xenbr3
569 </bridge>
570 <other_config/>
571 <uuid>
572 2902ae1b-8013-897a-b697-0b200ea3aaa5
573 </uuid>
574 </network>
575 <network ref="OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a">
576 <PIFs>
577 <PIF>
578 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
579 </PIF>
580 </PIFs>
581 <bridge>
582 xapi1
583 </bridge>
584 <other_config/>
585 <uuid>
586 45cbbb43-113d-a712-3231-c6463f253cef
587 </uuid>
588 </network>
589 <network ref="OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d">
590 <PIFs>
591 <PIF>
592 OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
593 </PIF>
594 </PIFs>
595 <bridge>
596 xenbr1
597 </bridge>
598 <other_config/>
599 <uuid>
600 99f8771a-645a-26a3-e06c-30a401f1d009
601 </uuid>
602 </network>
603 <network ref="OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe">
604 <PIFs>
605 <PIF>
606 OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15
607 </PIF>
608 </PIFs>
609 <bridge>
610 xenbr2
611 </bridge>
612 <other_config/>
613 <uuid>
614 d08c8749-0c8f-9e8d-ce25-fd364661ee99
615 </uuid>
616 </network>
617 <network ref="OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5">
618 <PIFs>
619 <PIF>
620 OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
621 </PIF>
622 </PIFs>
623 <bridge>
624 xenbr0
625 </bridge>
da54975c
AE
626 <other_config>
627 <vswitch-disable-in-band>
628 true
629 </vswitch-disable-in-band>
630 </other_config>
48d014bf
BP
631 <uuid>
632 c9eecb03-560d-61de-b6a8-56dfc766f67e
633 </uuid>
634 </network>
635 <network ref="OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531">
636 <PIFs>
637 <PIF>
638 OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806
639 </PIF>
640 </PIFs>
641 <bridge>
642 xenbr4
643 </bridge>
644 <other_config/>
645 <uuid>
646 d2c14c89-29cc-51d4-7664-633eff02b2ad
647 </uuid>
648 </network>
649 <network ref="OpaqueRef:0b7354a4-8f4b-aa08-2f16-a22c117e4211">
650 <PIFs/>
651 <bridge>
652 xapi0
653 </bridge>
654 <other_config/>
655 <uuid>
656 dc0f0632-c2aa-1b78-2fea-0d3a23c51740
657 </uuid>
658 </network>
659 <network ref="OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17">
660 <PIFs>
661 <PIF>
662 OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
663 </PIF>
664 </PIFs>
665 <bridge>
666 xapi3
667 </bridge>
668 <other_config/>
669 <uuid>
670 db7bdc03-074d-42ae-fc73-9b06de1d57f6
671 </uuid>
672 </network>
27b1bdef
EJ
673 <pool ref="OpaqueRef:a765d06c-fc82-cc67-8f6c-fd8db45f6a84">
674 <other_config>
675 <vswitch-controller-fail-mode>
da7198b4 676 secure
27b1bdef
EJ
677 </vswitch-controller-fail-mode>
678 </other_config>
679 </pool>
48d014bf
BP
680</xenserver-network-configuration>
681EOF
c78cd7de
BP
682}
683
684ifr_run () {
37d03458 685 ./interface-reconfigure --root-prefix="`pwd`" --no-syslog "$@"
c78cd7de 686}
48d014bf 687
c78cd7de 688ifr_filter () {
37d03458 689 sed -n -e "s,`pwd`,,g" -e 's/ -- /\
c78cd7de
BP
690 /g' -e '/^Running command:/!p' stderr
691}]
692m4_divert_pop([PREPARE_TESTS])
48d014bf 693
48d014bf
BP
694\f
695AT_BANNER([interface-reconfigure])
696
697AT_SETUP([non-VLAN, non-bond])
698AT_KEYWORDS([interface-reconfigure])
e6e590a7 699AT_SKIP_IF([$non_ascii_cwd])
d20f8fdc 700AT_SKIP_IF([test "$IS_WIN32" = "yes"])
c78cd7de 701ifr_setup
48d014bf 702
c78cd7de
BP
703AT_CHECK([ifr_run --force xenbr2 up], [0], [], [stderr])
704AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 up
48d014bf
BP
705Loading xapi database cache from /var/xapi/network.dbcache
706Configured for Vswitch datapath
707action_up: xenbr2
708Writing network configuration for xenbr2
709Configuring xenbr2 using DHCP configuration
710configure_datapath: bridge - xenbr2
711configure_datapath: physical - [u'eth2']
712configure_datapath: extra ports - []
713configure_datapath: extra bonds - []
fba6bd1d 714/usr/bin/ovs-vsctl -vconsole:off get-fail-mode xenbr2
48d014bf
BP
715Applying changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
716Applying changes to /etc/sysconfig/network configuration
717Applying changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
02a987d2 718/sbin/ifconfig eth2 up mtu 1500
404c1692 719/sbin/ethtool -K eth2 gro off lro off
a3e2d85f 720/usr/sbin/ovs-vlan-bug-workaround eth2 on
48d014bf
BP
721/usr/bin/ovs-vsctl --timeout=20
722 --with-iface --if-exists del-port eth2
723 --may-exist add-br xenbr2
724 --may-exist add-port xenbr2 eth2
16f2ae57 725 set Bridge xenbr2 other-config:hwaddr="00:15:17:a0:29:80"
da7198b4 726 set Bridge xenbr2 fail_mode=secure
da54975c 727 remove Bridge xenbr2 other_config disable-in-band
c76fde78 728 br-set-external-id xenbr2 xs-network-uuids d08c8749-0c8f-9e8d-ce25-fd364661ee99
fba6bd1d 729/usr/bin/ovs-vsctl -vconsole:off get interface eth2 ofport
da7198b4
DT
730/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=5,arp,nw_proto=1,actions=local
731/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
732/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
733/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
48d014bf
BP
734/sbin/ifup xenbr2
735/sbin/update-issue
736Committing changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
737Committing changes to /etc/sysconfig/network configuration
738Committing changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
739]])
740
741AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xenbr2], [0],
742 [# DO NOT EDIT: This file (ifcfg-xenbr2) was autogenerated by interface-reconfigure
743XEMANAGED=yes
744DEVICE=xenbr2
745ONBOOT=no
1b970597 746NOZEROCONF=yes
48d014bf
BP
747TYPE=Ethernet
748BOOTPROTO=dhcp
749PERSISTENT_DHCLIENT=yes
02a987d2 750MTU=1500
48d014bf
BP
751])
752
753# Simulate interface-reconfigure creating xenbr2, so that we can tell
754# interface-reconfigure to take it back down.
755AT_CHECK([configure_netdev xenbr2 00:15:17:a0:29:80 0])
756
c78cd7de
BP
757AT_CHECK([ifr_run --force xenbr2 down], [0], [], [stderr])
758AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 down
48d014bf
BP
759Loading xapi database cache from /var/xapi/network.dbcache
760Configured for Vswitch datapath
761action_down: xenbr2
762/sbin/ifdown xenbr2
763deconfigure ipdev xenbr2 on xenbr2
764deconfigure_bridge: bridge - xenbr2
df9a459a
IC
765action_down: bring down physical devices - [u'eth2']
766/sbin/ifconfig eth2 down
48d014bf
BP
767/usr/bin/ovs-vsctl --timeout=20
768 --with-iface --if-exists del-port xenbr2
769 --if-exists del-br xenbr2
770]])
771
772AT_CLEANUP
773\f
774AT_SETUP([VLAN, non-bond])
775AT_KEYWORDS([interface-reconfigure])
e6e590a7 776AT_SKIP_IF([$non_ascii_cwd])
d20f8fdc 777AT_SKIP_IF([test "$IS_WIN32" = "yes"])
c78cd7de 778ifr_setup
48d014bf 779
c78cd7de
BP
780AT_CHECK([ifr_run --force xapi3 up], [0], [], [stderr])
781AT_CHECK([ifr_filter], [0], [[Force interface xapi3 up
48d014bf
BP
782Loading xapi database cache from /var/xapi/network.dbcache
783Configured for Vswitch datapath
784action_up: xapi3
785Writing network configuration for xapi3
786Configuring xapi3 using None configuration
787configure_datapath: bridge - xenbr3
788configure_datapath: physical - [u'eth3']
789configure_datapath: extra ports - []
790configure_datapath: extra bonds - []
791Applying changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
792Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
02a987d2 793/sbin/ifconfig eth3 up mtu 1500
404c1692 794/sbin/ethtool -K eth3 gro off lro off
a3e2d85f 795/usr/sbin/ovs-vlan-bug-workaround eth3 on
48d014bf
BP
796/usr/bin/ovs-vsctl --timeout=20
797 --with-iface --if-exists del-port eth3
798 --may-exist add-br xenbr3
799 --may-exist add-port xenbr3 eth3
16f2ae57 800 set Bridge xenbr3 other-config:hwaddr="00:15:17:a0:29:81"
da7198b4 801 set Bridge xenbr3 fail_mode=secure
da54975c 802 remove Bridge xenbr3 other_config disable-in-band
c76fde78 803 br-set-external-id xenbr3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
9ec4d255 804 --if-exists del-br xapi3
48d014bf 805 --may-exist add-br xapi3 xenbr3 123
c76fde78 806 br-set-external-id xapi3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
47a3c536 807 set Interface xapi3 MAC="00:15:17:a0:29:81"
48d014bf
BP
808/sbin/ifup xapi3
809/sbin/update-issue
810Committing changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
811Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
812]])
813
814AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi3], [0],
815 [# DO NOT EDIT: This file (ifcfg-xapi3) was autogenerated by interface-reconfigure
816XEMANAGED=yes
817DEVICE=xapi3
818ONBOOT=no
1b970597 819NOZEROCONF=yes
48d014bf
BP
820TYPE=Ethernet
821BOOTPROTO=none
02a987d2 822MTU=1500
48d014bf
BP
823])
824
825# Simulate interface-reconfigure creating xapi3, so that we can tell
826# interface-reconfigure to take it back down.
827AT_CHECK([configure_netdev xapi3 00:23:20:AC:AF:02 0])
828
c78cd7de
BP
829AT_CHECK([ifr_run --force xapi3 down], [0], [], [stderr])
830AT_CHECK([ifr_filter], [0], [[Force interface xapi3 down
48d014bf
BP
831Loading xapi database cache from /var/xapi/network.dbcache
832Configured for Vswitch datapath
833action_down: xapi3
834/sbin/ifdown xapi3
835deconfigure ipdev xapi3 on xenbr3
836deconfigure_bridge: bridge - xapi3
837action_down: no more masters, bring down slave xenbr3
838deconfigure_bridge: bridge - xenbr3
df9a459a
IC
839action_down: bring down physical devices - [u'eth3']
840/sbin/ifconfig eth3 down
48d014bf
BP
841/usr/bin/ovs-vsctl --timeout=20
842 --with-iface --if-exists del-port xapi3
843 --if-exists del-br xapi3
844 --if-exists del-br xenbr3
845]])
846
847AT_CLEANUP
848\f
849AT_SETUP([Bond, non-VLAN])
850AT_KEYWORDS([interface-reconfigure])
e6e590a7 851AT_SKIP_IF([$non_ascii_cwd])
d20f8fdc 852AT_SKIP_IF([test "$IS_WIN32" = "yes"])
c78cd7de 853ifr_setup
48d014bf
BP
854
855# Pretend that bond0 exists, even though it would really be created by
856# a "create-bond" call in an ovs-vsctl invocation within
857# interface-reconfigure, because otherwise interface-reconfigure will
858# die with "failed to apply changes: netdev: up: device bond0 does not
859# exist" after it thinks it created bond0.
860AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0])
861
c78cd7de
BP
862AT_CHECK([ifr_run --force xapi1 up], [0], [], [stderr])
863AT_CHECK([ifr_filter], [0], [[Force interface xapi1 up
48d014bf
BP
864Loading xapi database cache from /var/xapi/network.dbcache
865Configured for Vswitch datapath
866action_up: xapi1
867Writing network configuration for xapi1
868Configuring xapi1 using None configuration
869configure_datapath: leaving bond bond0 up
870configure_datapath: leaving bond bond0 up
871configure_datapath: bridge - xapi1
872configure_datapath: physical - [u'eth0', u'eth1']
873configure_datapath: extra ports - []
874configure_datapath: extra bonds - []
875netdev: down: device xenbr0 does not exist, ignoring
876netdev: down: device xenbr1 does not exist, ignoring
877Applying changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
878Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
02a987d2 879/sbin/ifconfig eth0 up mtu 1500
404c1692 880/sbin/ethtool -K eth0 gro off lro off
a3e2d85f 881/usr/sbin/ovs-vlan-bug-workaround eth0 on
02a987d2 882/sbin/ifconfig eth1 up mtu 1500
404c1692 883/sbin/ethtool -K eth1 gro off lro off
a3e2d85f 884/usr/sbin/ovs-vlan-bug-workaround eth1 off
48d014bf
BP
885/usr/bin/ovs-vsctl --timeout=20
886 --if-exists del-br xenbr0
887 --if-exists del-br xenbr1
888 --with-iface --if-exists del-port eth0
889 --with-iface --if-exists del-port eth1
890 --may-exist add-br xapi1
891 --with-iface --if-exists del-port bond0
892 --fake-iface add-bond xapi1 bond0 eth0 eth1
2776e408 893 set Port bond0 MAC="00:22:19:22:4b:af" other-config:bond-miimon-interval=100 bond_downdelay=200 bond_updelay=31000 other-config:bond-detect-mode=carrier lacp=off bond_mode=balance-slb
16f2ae57 894 set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
da7198b4 895 set Bridge xapi1 fail_mode=secure
da54975c 896 remove Bridge xapi1 other_config disable-in-band
b13300c7 897 br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
48d014bf
BP
898/sbin/ifup xapi1
899action_up: bring up bond0
900/sbin/ifconfig bond0 up
901/sbin/update-issue
902Committing changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
903Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
904]])
905
906AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi1], [0],
907 [# DO NOT EDIT: This file (ifcfg-xapi1) was autogenerated by interface-reconfigure
908XEMANAGED=yes
909DEVICE=xapi1
910ONBOOT=no
1b970597 911NOZEROCONF=yes
48d014bf
BP
912TYPE=Ethernet
913BOOTPROTO=none
02a987d2 914MTU=1500
48d014bf
BP
915])
916
917# Simulate interface-reconfigure creating xapi1, so that we can tell
918# interface-reconfigure to take it back down.
919AT_CHECK([configure_netdev xapi1 00:22:19:22:4B:AF 0])
920
c78cd7de
BP
921AT_CHECK([ifr_run --force xapi1 down], [0], [], [stderr])
922AT_CHECK([ifr_filter], [0], [[Force interface xapi1 down
48d014bf
BP
923Loading xapi database cache from /var/xapi/network.dbcache
924Configured for Vswitch datapath
925action_down: xapi1
926/sbin/ifdown xapi1
927deconfigure ipdev xapi1 on xapi1
928deconfigure_bridge: bridge - xapi1
df9a459a
IC
929action_down: bring down physical devices - [u'eth0', u'eth1']
930/sbin/ifconfig eth0 down
931/sbin/ifconfig eth1 down
48d014bf
BP
932/usr/bin/ovs-vsctl --timeout=20
933 --with-iface --if-exists del-port xapi1
934 --if-exists del-br xapi1
935]])
936
937AT_CLEANUP
938\f
939AT_SETUP([VLAN on bond])
940AT_KEYWORDS([interface-reconfigure])
e6e590a7 941AT_SKIP_IF([$non_ascii_cwd])
d20f8fdc 942AT_SKIP_IF([test "$IS_WIN32" = "yes"])
c78cd7de 943ifr_setup
48d014bf
BP
944
945# Pretend that bond0 exists, even though it would really be created by
946# a "create-bond" call in an ovs-vsctl invocation within
947# interface-reconfigure, because otherwise interface-reconfigure will
948# die with "failed to apply changes: netdev: up: device bond0 does not
949# exist" after it thinks it created bond0.
950AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0])
951
c78cd7de
BP
952AT_CHECK([ifr_run --force xapi2 up], [0], [], [stderr])
953AT_CHECK([ifr_filter], [0], [[Force interface xapi2 up
48d014bf
BP
954Loading xapi database cache from /var/xapi/network.dbcache
955Configured for Vswitch datapath
956action_up: xapi2
957Writing network configuration for xapi2
958Configuring xapi2 using None configuration
959configure_datapath: leaving bond bond0 up
960configure_datapath: leaving bond bond0 up
961configure_datapath: bridge - xapi1
962configure_datapath: physical - [u'eth0', u'eth1']
963configure_datapath: extra ports - []
964configure_datapath: extra bonds - []
965netdev: down: device xenbr0 does not exist, ignoring
966netdev: down: device xenbr1 does not exist, ignoring
967Applying changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
968Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
02a987d2 969/sbin/ifconfig eth0 up mtu 1500
404c1692 970/sbin/ethtool -K eth0 gro off lro off
a3e2d85f 971/usr/sbin/ovs-vlan-bug-workaround eth0 on
02a987d2 972/sbin/ifconfig eth1 up mtu 1500
404c1692 973/sbin/ethtool -K eth1 gro off lro off
a3e2d85f 974/usr/sbin/ovs-vlan-bug-workaround eth1 off
48d014bf
BP
975/usr/bin/ovs-vsctl --timeout=20
976 --if-exists del-br xenbr0
977 --if-exists del-br xenbr1
978 --with-iface --if-exists del-port eth0
979 --with-iface --if-exists del-port eth1
980 --may-exist add-br xapi1
981 --with-iface --if-exists del-port bond0
982 --fake-iface add-bond xapi1 bond0 eth0 eth1
2776e408 983 set Port bond0 MAC="00:22:19:22:4b:af" other-config:bond-miimon-interval=100 bond_downdelay=200 bond_updelay=31000 other-config:bond-detect-mode=carrier lacp=off bond_mode=balance-slb
16f2ae57 984 set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
da7198b4 985 set Bridge xapi1 fail_mode=secure
da54975c 986 remove Bridge xapi1 other_config disable-in-band
b13300c7 987 br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
9ec4d255 988 --if-exists del-br xapi2
48d014bf 989 --may-exist add-br xapi2 xapi1 4
b13300c7 990 br-set-external-id xapi2 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
47a3c536 991 set Interface xapi2 MAC="00:22:19:22:4b:af"
48d014bf
BP
992/sbin/ifup xapi2
993action_up: bring up bond0
994/sbin/ifconfig bond0 up
995/sbin/update-issue
996Committing changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
997Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
998]])
999
1000AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi2], [0],
1001 [# DO NOT EDIT: This file (ifcfg-xapi2) was autogenerated by interface-reconfigure
1002XEMANAGED=yes
1003DEVICE=xapi2
1004ONBOOT=no
1b970597 1005NOZEROCONF=yes
48d014bf
BP
1006TYPE=Ethernet
1007BOOTPROTO=none
02a987d2 1008MTU=1500
48d014bf
BP
1009])
1010
1011# Simulate interface-reconfigure creating xapi2, so that we can tell
1012# interface-reconfigure to take it back down.
1013AT_CHECK([configure_netdev xapi2 00:23:20:A4:71:C2 0])
1014
c78cd7de
BP
1015AT_CHECK([ifr_run --force xapi2 down], [0], [], [stderr])
1016AT_CHECK([ifr_filter], [0], [[Force interface xapi2 down
48d014bf
BP
1017Loading xapi database cache from /var/xapi/network.dbcache
1018Configured for Vswitch datapath
1019action_down: xapi2
1020/sbin/ifdown xapi2
1021deconfigure ipdev xapi2 on xapi1
1022deconfigure_bridge: bridge - xapi2
1023action_down: no more masters, bring down slave xapi1
1024deconfigure_bridge: bridge - xapi1
df9a459a
IC
1025action_down: bring down physical devices - [u'eth0', u'eth1']
1026/sbin/ifconfig eth0 down
1027/sbin/ifconfig eth1 down
48d014bf
BP
1028/usr/bin/ovs-vsctl --timeout=20
1029 --with-iface --if-exists del-port xapi2
1030 --if-exists del-br xapi2
1031 --if-exists del-br xapi1
1032]])
1033
1034AT_CLEANUP
780f7a2e
JS
1035
1036dnl This test configures two tunnels, then deletes the second and re-uses its
1037dnl name for different types of ports. This was introduced to detect errors
1038dnl where port configuration persists even when the port is deleted and
1039dnl readded.
1040AT_SETUP([Re-create port with different types])
1041AT_KEYWORDS([interface-reconfigure])
1042OVS_VSWITCHD_START(
1043 [add-port br0 p0 -- set int p0 type=gre options:remote_ip=127.0.0.1 -- \
1044 add-port br0 p1 -- set int p1 type=dummy -- \
1045 add-port br0 p2 -- set int p2 type=dummy])
1046
1047AT_CHECK([ovs-vsctl set int p1 type=gre options:remote_ip=127.0.0.1])
1048AT_CHECK([ovs-vsctl del-port p1])
1049AT_CHECK([ovs-vsctl add-port br0 p1 -- set int p1 type=dummy])
1050
1051AT_CLEANUP