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