1 m4_divert_push([PREPARE_TESTS])
3 # Creates a directory tree for use with "interface-reconfigure --root-dir".
6 interface-reconfigure \
7 InterfaceReconfigure.py \
8 InterfaceReconfigureBridge.py \
9 InterfaceReconfigureVswitch.py
11 cp $top_srcdir/xenserver/opt_xensource_libexec_$script $script
15 cat > etc/xensource-inventory <<EOF
16 PRODUCT_BRAND='XenServer'
17 PRODUCT_NAME='xenenterprise'
18 PRODUCT_VERSION='5.5.0'
20 KERNEL_VERSION='2.6.18-128.1.6.el5.xs5.5.0.505.1024xen'
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'
29 MANAGEMENT_INTERFACE='xenbr2'
32 mkdir -p etc/xensource
33 echo vswitch > etc/xensource/network.conf
43 usr/sbin/ovs-vlan-bug-workaround
45 mkdir -p `dirname $utility`
46 cat > $utility <<'EOF'
54 cat > usr/bin/ovs-vsctl <<'EOF'
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
72 chmod +x usr/bin/ovs-vsctl
74 cat > usr/bin/ovs-ofctl <<'EOF'
78 # Check that the flow is properly formed.
79 ovs-ofctl parse-flow "${3}" >/dev/null
81 chmod +x usr/bin/ovs-ofctl
83 mkdir -p etc/sysconfig/network-scripts
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
92 # Supports VLAN acceleration.
93 echo 0x10b89 > sys/class/net/${1}/features
95 mkdir sys/class/net/${1}/device
96 ln -s ../../../bus/pci/drivers/e1000 sys/class/net/${1}/device/driver
98 : >> etc/sysconfig/network-scripts/ifcfg-${1}
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
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">
114 <tunnel_access_PIF_of/>
119 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
122 bd62a141-091f-3909-e334-0334f67ff3be
140 <ip_configuration_mode>
142 </ip_configuration_mode>
152 </currently_attached>
157 OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5
160 <pif ref="OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806">
162 <tunnel_access_PIF_of/>
170 df8d35c2-cc3a-a623-7065-d987a29feb75
188 <ip_configuration_mode>
190 </ip_configuration_mode>
200 </currently_attached>
205 OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531
208 <pif ref="OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768">
210 <tunnel_access_PIF_of/>
215 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
218 2f87fc95-5ab4-571a-2487-3f4ac1985663
236 <ip_configuration_mode>
238 </ip_configuration_mode>
248 </currently_attached>
253 OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d
256 <pif ref="OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e">
258 <tunnel_access_PIF_of/>
266 d2dfdab3-daf4-afea-f055-a25a0d24d714
272 OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
284 <ip_configuration_mode>
286 </ip_configuration_mode>
296 </currently_attached>
301 OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47
304 <pif ref="OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc">
307 OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
310 <tunnel_access_PIF_of/>
318 f4ba396e-a993-a592-5fbc-a1d566afb59e
336 <ip_configuration_mode>
338 </ip_configuration_mode>
348 </currently_attached>
353 OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32
356 <pif ref="OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15">
358 <tunnel_access_PIF_of/>
366 646ca9a1-36ad-e2f9-3ecc-1e5622c201c2
384 <ip_configuration_mode>
386 </ip_configuration_mode>
396 </currently_attached>
401 OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe
404 <pif ref="OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3">
406 <tunnel_access_PIF_of/>
414 3941edd2-865b-8dd8-61f0-199f5e1fa652
420 OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
432 <ip_configuration_mode>
434 </ip_configuration_mode>
444 </currently_attached>
449 OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17
452 <pif ref="OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11">
455 OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
458 <tunnel_access_PIF_of/>
466 6c0327a9-afa3-fc19-6798-a1bfe20095ed
484 <ip_configuration_mode>
486 </ip_configuration_mode>
495 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
500 </currently_attached>
505 OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a
508 <bond ref="OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e">
510 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
513 dad825f1-6d81-386e-849c-5589281e53e1
517 OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
520 OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
524 <vlan ref="OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c">
526 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
529 841814da-d0d2-9da4-0b2e-b6143480bbfb
532 OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
535 <vlan ref="OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297">
537 OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
540 399279a2-5ccd-5368-9af3-8622a1f1ac82
543 OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
546 <network ref="OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47">
549 OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
557 99be2da4-6c33-6f8e-49ea-3bc592fe3c85
560 <network ref="OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32">
563 OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
571 2902ae1b-8013-897a-b697-0b200ea3aaa5
574 <network ref="OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a">
577 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
585 45cbbb43-113d-a712-3231-c6463f253cef
588 <network ref="OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d">
591 OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
599 99f8771a-645a-26a3-e06c-30a401f1d009
602 <network ref="OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe">
605 OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15
613 d08c8749-0c8f-9e8d-ce25-fd364661ee99
616 <network ref="OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5">
619 OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
626 <vswitch-disable-in-band>
628 </vswitch-disable-in-band>
631 c9eecb03-560d-61de-b6a8-56dfc766f67e
634 <network ref="OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531">
637 OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806
645 d2c14c89-29cc-51d4-7664-633eff02b2ad
648 <network ref="OpaqueRef:0b7354a4-8f4b-aa08-2f16-a22c117e4211">
655 dc0f0632-c2aa-1b78-2fea-0d3a23c51740
658 <network ref="OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17">
661 OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
669 db7bdc03-074d-42ae-fc73-9b06de1d57f6
672 <pool ref="OpaqueRef:a765d06c-fc82-cc67-8f6c-fd8db45f6a84">
674 <vswitch-controller-fail-mode>
676 </vswitch-controller-fail-mode>
679 </xenserver-network-configuration>
684 $PYTHON ./interface-reconfigure --root-prefix="`pwd`" --no-syslog "$@"
688 sed -n -e "s,`pwd`,,g" -e 's/ -- /\
689 /g' -e '/^Running command:/!p' stderr
691 m4_divert_pop([PREPARE_TESTS])
694 AT_BANNER([interface-reconfigure])
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"])
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
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
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
740 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xenbr2], [0],
741 [# DO NOT EDIT: This file (ifcfg-xenbr2) was autogenerated by interface-reconfigure
748 PERSISTENT_DHCLIENT=yes
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])
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
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
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"])
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
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"
809 Committing changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
810 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
813 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi3], [0],
814 [# DO NOT EDIT: This file (ifcfg-xapi3) was autogenerated by interface-reconfigure
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])
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
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
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"])
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])
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
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
898 action_up: bring up bond0
899 /sbin/ip link set bond0 up
901 Committing changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
902 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
905 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi1], [0],
906 [# DO NOT EDIT: This file (ifcfg-xapi1) was autogenerated by interface-reconfigure
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])
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
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
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"])
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])
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
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"
992 action_up: bring up bond0
993 /sbin/ip link set bond0 up
995 Committing changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
996 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
999 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi2], [0],
1000 [# DO NOT EDIT: This file (ifcfg-xapi2) was autogenerated by interface-reconfigure
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])
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
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
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
1039 AT_SETUP([Re-create port with different types])
1040 AT_KEYWORDS([interface-reconfigure])
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])
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])
1050 OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])
1051 OVS_APP_EXIT_AND_WAIT([ovsdb-server])