ovsdb-server: Add --enable-dummy option for unit tests.
[openvswitch] / 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/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'
48 #! /bin/sh
49 echo ${0} ${*} >&2
50 EOF
51             chmod +x $utility
52         done
53
54         mkdir -p usr/bin
55         cat > usr/bin/ovs-vsctl <<'EOF'
56 #! /bin/sh
57 echo ${0} ${*} >&2
58
59 while 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
71 done
72 EOF
73         chmod +x usr/bin/ovs-vsctl
74
75         cat > usr/bin/ovs-ofctl <<'EOF'
76 #! /bin/sh
77 echo ${0} ${*} >&2
78
79 # Check that the flow is properly formed.
80 ovs-ofctl parse-flow "${3}" >/dev/null
81 EOF
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'
111 <?xml version="1.0" ?>
112 <xenserver-network-configuration>
113         <pif ref="OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6">
114                 <VLAN_slave_of/>
115                 <tunnel_access_PIF_of/>
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/>
163                 <tunnel_access_PIF_of/>
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/>
211                 <tunnel_access_PIF_of/>
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/>
259                 <tunnel_access_PIF_of/>
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>
311                 <tunnel_access_PIF_of/>
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/>
359                 <tunnel_access_PIF_of/>
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/>
407                 <tunnel_access_PIF_of/>
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>
459                 <tunnel_access_PIF_of/>
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>
626                 <other_config>
627                         <vswitch-disable-in-band>
628                                 true
629                         </vswitch-disable-in-band>
630                 </other_config>
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>
673         <pool ref="OpaqueRef:a765d06c-fc82-cc67-8f6c-fd8db45f6a84">
674                 <other_config>
675                         <vswitch-controller-fail-mode>
676                                 secure
677                         </vswitch-controller-fail-mode>
678                 </other_config>
679         </pool>
680 </xenserver-network-configuration>
681 EOF
682 }
683
684 ifr_run () {
685     ./interface-reconfigure --root-prefix="`pwd`" --no-syslog "$@"
686 }
687
688 ifr_filter () {
689     sed -n -e "s,`pwd`,,g" -e 's/ -- /\
690     /g' -e '/^Running command:/!p' stderr
691 }]
692 m4_divert_pop([PREPARE_TESTS])
693
694 \f
695 AT_BANNER([interface-reconfigure])
696
697 AT_SETUP([non-VLAN, non-bond])
698 AT_KEYWORDS([interface-reconfigure])
699 ifr_setup
700
701 AT_CHECK([ifr_run --force xenbr2 up], [0], [], [stderr])
702 AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 up
703 Loading xapi database cache from /var/xapi/network.dbcache
704 Configured for Vswitch datapath
705 action_up: xenbr2
706 Writing network configuration for xenbr2
707 Configuring xenbr2 using DHCP configuration
708 configure_datapath: bridge      - xenbr2
709 configure_datapath: physical    - [u'eth2']
710 configure_datapath: extra ports - []
711 configure_datapath: extra bonds - []
712 /usr/bin/ovs-vsctl --timeout=5 -vconsole:off get-fail-mode xenbr2
713 Applying changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
714 Applying changes to /etc/sysconfig/network configuration
715 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
716 /sbin/ifconfig eth2 up mtu 1500
717 /sbin/ethtool -K eth2 gro off lro off
718 /usr/sbin/ovs-vlan-bug-workaround eth2 on
719 /usr/bin/ovs-vsctl --timeout=20
720     --with-iface --if-exists del-port eth2
721     --may-exist add-br xenbr2
722     --may-exist add-port xenbr2 eth2
723     set Bridge xenbr2 other-config:hwaddr="00:15:17:a0:29:80"
724     set Bridge xenbr2 fail_mode=secure
725     remove Bridge xenbr2 other_config disable-in-band
726     br-set-external-id xenbr2 xs-network-uuids d08c8749-0c8f-9e8d-ce25-fd364661ee99
727 /usr/bin/ovs-vsctl --timeout=5 -vconsole:off get interface eth2 ofport
728 /usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=5,arp,nw_proto=1,actions=local
729 /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
730 /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
731 /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
732 /sbin/ifup xenbr2
733 /sbin/update-issue
734 Committing changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
735 Committing changes to /etc/sysconfig/network configuration
736 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
737 ]])
738
739 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xenbr2], [0],
740   [# DO NOT EDIT: This file (ifcfg-xenbr2) was autogenerated by interface-reconfigure
741 XEMANAGED=yes
742 DEVICE=xenbr2
743 ONBOOT=no
744 NOZEROCONF=yes
745 TYPE=Ethernet
746 BOOTPROTO=dhcp
747 PERSISTENT_DHCLIENT=yes
748 MTU=1500
749 ])
750
751 # Simulate interface-reconfigure creating xenbr2, so that we can tell
752 # interface-reconfigure to take it back down.
753 AT_CHECK([configure_netdev xenbr2 00:15:17:a0:29:80 0])
754
755 AT_CHECK([ifr_run --force xenbr2 down], [0], [], [stderr])
756 AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 down
757 Loading xapi database cache from /var/xapi/network.dbcache
758 Configured for Vswitch datapath
759 action_down: xenbr2
760 /sbin/ifdown xenbr2
761 deconfigure ipdev xenbr2 on xenbr2
762 deconfigure_bridge: bridge           - xenbr2
763 action_down: bring down physical devices - [u'eth2']
764 /sbin/ifconfig eth2 down
765 /usr/bin/ovs-vsctl --timeout=20
766     --with-iface --if-exists del-port xenbr2
767     --if-exists del-br xenbr2
768 ]])
769
770 AT_CLEANUP
771 \f
772 AT_SETUP([VLAN, non-bond])
773 AT_KEYWORDS([interface-reconfigure])
774 ifr_setup
775
776 AT_CHECK([ifr_run --force xapi3 up], [0], [], [stderr])
777 AT_CHECK([ifr_filter], [0], [[Force interface xapi3 up
778 Loading xapi database cache from /var/xapi/network.dbcache
779 Configured for Vswitch datapath
780 action_up: xapi3
781 Writing network configuration for xapi3
782 Configuring xapi3 using None configuration
783 configure_datapath: bridge      - xenbr3
784 configure_datapath: physical    - [u'eth3']
785 configure_datapath: extra ports - []
786 configure_datapath: extra bonds - []
787 Applying changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
788 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
789 /sbin/ifconfig eth3 up mtu 1500
790 /sbin/ethtool -K eth3 gro off lro off
791 /usr/sbin/ovs-vlan-bug-workaround eth3 on
792 /usr/bin/ovs-vsctl --timeout=20
793     --with-iface --if-exists del-port eth3
794     --may-exist add-br xenbr3
795     --may-exist add-port xenbr3 eth3
796     set Bridge xenbr3 other-config:hwaddr="00:15:17:a0:29:81"
797     set Bridge xenbr3 fail_mode=secure
798     remove Bridge xenbr3 other_config disable-in-band
799     br-set-external-id xenbr3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
800     --if-exists del-br xapi3
801     --may-exist add-br xapi3 xenbr3 123
802     br-set-external-id xapi3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
803     set Interface xapi3 MAC="00:15:17:a0:29:81"
804 /sbin/ifup xapi3
805 /sbin/update-issue
806 Committing changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
807 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
808 ]])
809
810 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi3], [0],
811   [# DO NOT EDIT: This file (ifcfg-xapi3) was autogenerated by interface-reconfigure
812 XEMANAGED=yes
813 DEVICE=xapi3
814 ONBOOT=no
815 NOZEROCONF=yes
816 TYPE=Ethernet
817 BOOTPROTO=none
818 MTU=1500
819 ])
820
821 # Simulate interface-reconfigure creating xapi3, so that we can tell
822 # interface-reconfigure to take it back down.
823 AT_CHECK([configure_netdev xapi3 00:23:20:AC:AF:02 0])
824
825 AT_CHECK([ifr_run --force xapi3 down], [0], [], [stderr])
826 AT_CHECK([ifr_filter], [0], [[Force interface xapi3 down
827 Loading xapi database cache from /var/xapi/network.dbcache
828 Configured for Vswitch datapath
829 action_down: xapi3
830 /sbin/ifdown xapi3
831 deconfigure ipdev xapi3 on xenbr3
832 deconfigure_bridge: bridge           - xapi3
833 action_down: no more masters, bring down slave xenbr3
834 deconfigure_bridge: bridge           - xenbr3
835 action_down: bring down physical devices - [u'eth3']
836 /sbin/ifconfig eth3 down
837 /usr/bin/ovs-vsctl --timeout=20
838     --with-iface --if-exists del-port xapi3
839     --if-exists del-br xapi3
840     --if-exists del-br xenbr3
841 ]])
842
843 AT_CLEANUP
844 \f
845 AT_SETUP([Bond, non-VLAN])
846 AT_KEYWORDS([interface-reconfigure])
847 ifr_setup
848
849 # Pretend that bond0 exists, even though it would really be created by
850 # a "create-bond" call in an ovs-vsctl invocation within
851 # interface-reconfigure, because otherwise interface-reconfigure will
852 # die with "failed to apply changes: netdev: up: device bond0 does not
853 # exist" after it thinks it created bond0.
854 AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0])
855
856 AT_CHECK([ifr_run --force xapi1 up], [0], [], [stderr])
857 AT_CHECK([ifr_filter], [0], [[Force interface xapi1 up
858 Loading xapi database cache from /var/xapi/network.dbcache
859 Configured for Vswitch datapath
860 action_up: xapi1
861 Writing network configuration for xapi1
862 Configuring xapi1 using None configuration
863 configure_datapath: leaving bond bond0 up
864 configure_datapath: leaving bond bond0 up
865 configure_datapath: bridge      - xapi1
866 configure_datapath: physical    - [u'eth0', u'eth1']
867 configure_datapath: extra ports - []
868 configure_datapath: extra bonds - []
869 netdev: down: device xenbr0 does not exist, ignoring
870 netdev: down: device xenbr1 does not exist, ignoring
871 Applying changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
872 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
873 /sbin/ifconfig eth0 up mtu 1500
874 /sbin/ethtool -K eth0 gro off lro off
875 /usr/sbin/ovs-vlan-bug-workaround eth0 on
876 /sbin/ifconfig eth1 up mtu 1500
877 /sbin/ethtool -K eth1 gro off lro off
878 /usr/sbin/ovs-vlan-bug-workaround eth1 off
879 /usr/bin/ovs-vsctl --timeout=20
880     --if-exists del-br xenbr0
881     --if-exists del-br xenbr1
882     --with-iface --if-exists del-port eth0
883     --with-iface --if-exists del-port eth1
884     --may-exist add-br xapi1
885     --with-iface --if-exists del-port bond0
886     --fake-iface add-bond xapi1 bond0 eth0 eth1
887     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
888     set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
889     set Bridge xapi1 fail_mode=secure
890     remove Bridge xapi1 other_config disable-in-band
891     br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
892 /sbin/ifup xapi1
893 action_up: bring up bond0
894 /sbin/ifconfig bond0 up
895 /sbin/update-issue
896 Committing changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
897 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
898 ]])
899
900 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi1], [0],
901   [# DO NOT EDIT: This file (ifcfg-xapi1) was autogenerated by interface-reconfigure
902 XEMANAGED=yes
903 DEVICE=xapi1
904 ONBOOT=no
905 NOZEROCONF=yes
906 TYPE=Ethernet
907 BOOTPROTO=none
908 MTU=1500
909 ])
910
911 # Simulate interface-reconfigure creating xapi1, so that we can tell
912 # interface-reconfigure to take it back down.
913 AT_CHECK([configure_netdev xapi1 00:22:19:22:4B:AF 0])
914
915 AT_CHECK([ifr_run --force xapi1 down], [0], [], [stderr])
916 AT_CHECK([ifr_filter], [0], [[Force interface xapi1 down
917 Loading xapi database cache from /var/xapi/network.dbcache
918 Configured for Vswitch datapath
919 action_down: xapi1
920 /sbin/ifdown xapi1
921 deconfigure ipdev xapi1 on xapi1
922 deconfigure_bridge: bridge           - xapi1
923 action_down: bring down physical devices - [u'eth0', u'eth1']
924 /sbin/ifconfig eth0 down
925 /sbin/ifconfig eth1 down
926 /usr/bin/ovs-vsctl --timeout=20
927     --with-iface --if-exists del-port xapi1
928     --if-exists del-br xapi1
929 ]])
930
931 AT_CLEANUP
932 \f
933 AT_SETUP([VLAN on bond])
934 AT_KEYWORDS([interface-reconfigure])
935 ifr_setup
936
937 # Pretend that bond0 exists, even though it would really be created by
938 # a "create-bond" call in an ovs-vsctl invocation within
939 # interface-reconfigure, because otherwise interface-reconfigure will
940 # die with "failed to apply changes: netdev: up: device bond0 does not
941 # exist" after it thinks it created bond0.
942 AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0])
943
944 AT_CHECK([ifr_run --force xapi2 up], [0], [], [stderr])
945 AT_CHECK([ifr_filter], [0], [[Force interface xapi2 up
946 Loading xapi database cache from /var/xapi/network.dbcache
947 Configured for Vswitch datapath
948 action_up: xapi2
949 Writing network configuration for xapi2
950 Configuring xapi2 using None configuration
951 configure_datapath: leaving bond bond0 up
952 configure_datapath: leaving bond bond0 up
953 configure_datapath: bridge      - xapi1
954 configure_datapath: physical    - [u'eth0', u'eth1']
955 configure_datapath: extra ports - []
956 configure_datapath: extra bonds - []
957 netdev: down: device xenbr0 does not exist, ignoring
958 netdev: down: device xenbr1 does not exist, ignoring
959 Applying changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
960 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
961 /sbin/ifconfig eth0 up mtu 1500
962 /sbin/ethtool -K eth0 gro off lro off
963 /usr/sbin/ovs-vlan-bug-workaround eth0 on
964 /sbin/ifconfig eth1 up mtu 1500
965 /sbin/ethtool -K eth1 gro off lro off
966 /usr/sbin/ovs-vlan-bug-workaround eth1 off
967 /usr/bin/ovs-vsctl --timeout=20
968     --if-exists del-br xenbr0
969     --if-exists del-br xenbr1
970     --with-iface --if-exists del-port eth0
971     --with-iface --if-exists del-port eth1
972     --may-exist add-br xapi1
973     --with-iface --if-exists del-port bond0
974     --fake-iface add-bond xapi1 bond0 eth0 eth1
975     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
976     set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
977     set Bridge xapi1 fail_mode=secure
978     remove Bridge xapi1 other_config disable-in-band
979     br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
980     --if-exists del-br xapi2
981     --may-exist add-br xapi2 xapi1 4
982     br-set-external-id xapi2 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
983     set Interface xapi2 MAC="00:22:19:22:4b:af"
984 /sbin/ifup xapi2
985 action_up: bring up bond0
986 /sbin/ifconfig bond0 up
987 /sbin/update-issue
988 Committing changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
989 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
990 ]])
991
992 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi2], [0],
993   [# DO NOT EDIT: This file (ifcfg-xapi2) was autogenerated by interface-reconfigure
994 XEMANAGED=yes
995 DEVICE=xapi2
996 ONBOOT=no
997 NOZEROCONF=yes
998 TYPE=Ethernet
999 BOOTPROTO=none
1000 MTU=1500
1001 ])
1002
1003 # Simulate interface-reconfigure creating xapi2, so that we can tell
1004 # interface-reconfigure to take it back down.
1005 AT_CHECK([configure_netdev xapi2 00:23:20:A4:71:C2 0])
1006
1007 AT_CHECK([ifr_run --force xapi2 down], [0], [], [stderr])
1008 AT_CHECK([ifr_filter], [0], [[Force interface xapi2 down
1009 Loading xapi database cache from /var/xapi/network.dbcache
1010 Configured for Vswitch datapath
1011 action_down: xapi2
1012 /sbin/ifdown xapi2
1013 deconfigure ipdev xapi2 on xapi1
1014 deconfigure_bridge: bridge           - xapi2
1015 action_down: no more masters, bring down slave xapi1
1016 deconfigure_bridge: bridge           - xapi1
1017 action_down: bring down physical devices - [u'eth0', u'eth1']
1018 /sbin/ifconfig eth0 down
1019 /sbin/ifconfig eth1 down
1020 /usr/bin/ovs-vsctl --timeout=20
1021     --with-iface --if-exists del-port xapi2
1022     --if-exists del-br xapi2
1023     --if-exists del-br xapi1
1024 ]])
1025
1026 AT_CLEANUP