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
44 usr/sbin/ovs-vlan-bug-workaround
46 mkdir -p `dirname $utility`
47 cat > $utility <<'EOF'
55 cat > usr/bin/ovs-vsctl <<'EOF'
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
73 chmod +x usr/bin/ovs-vsctl
75 cat > usr/bin/ovs-ofctl <<'EOF'
79 # Check that the flow is properly formed.
80 ovs-ofctl parse-flow "${3}" >/dev/null
82 chmod +x usr/bin/ovs-ofctl
84 mkdir -p etc/sysconfig/network-scripts
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
93 # Supports VLAN acceleration.
94 echo 0x10b89 > sys/class/net/${1}/features
96 mkdir sys/class/net/${1}/device
97 ln -s ../../../bus/pci/drivers/e1000 sys/class/net/${1}/device/driver
99 : >> etc/sysconfig/network-scripts/ifcfg-${1}
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
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">
115 <tunnel_access_PIF_of/>
120 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
123 bd62a141-091f-3909-e334-0334f67ff3be
141 <ip_configuration_mode>
143 </ip_configuration_mode>
153 </currently_attached>
158 OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5
161 <pif ref="OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806">
163 <tunnel_access_PIF_of/>
171 df8d35c2-cc3a-a623-7065-d987a29feb75
189 <ip_configuration_mode>
191 </ip_configuration_mode>
201 </currently_attached>
206 OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531
209 <pif ref="OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768">
211 <tunnel_access_PIF_of/>
216 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
219 2f87fc95-5ab4-571a-2487-3f4ac1985663
237 <ip_configuration_mode>
239 </ip_configuration_mode>
249 </currently_attached>
254 OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d
257 <pif ref="OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e">
259 <tunnel_access_PIF_of/>
267 d2dfdab3-daf4-afea-f055-a25a0d24d714
273 OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
285 <ip_configuration_mode>
287 </ip_configuration_mode>
297 </currently_attached>
302 OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47
305 <pif ref="OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc">
308 OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
311 <tunnel_access_PIF_of/>
319 f4ba396e-a993-a592-5fbc-a1d566afb59e
337 <ip_configuration_mode>
339 </ip_configuration_mode>
349 </currently_attached>
354 OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32
357 <pif ref="OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15">
359 <tunnel_access_PIF_of/>
367 646ca9a1-36ad-e2f9-3ecc-1e5622c201c2
385 <ip_configuration_mode>
387 </ip_configuration_mode>
397 </currently_attached>
402 OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe
405 <pif ref="OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3">
407 <tunnel_access_PIF_of/>
415 3941edd2-865b-8dd8-61f0-199f5e1fa652
421 OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
433 <ip_configuration_mode>
435 </ip_configuration_mode>
445 </currently_attached>
450 OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17
453 <pif ref="OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11">
456 OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
459 <tunnel_access_PIF_of/>
467 6c0327a9-afa3-fc19-6798-a1bfe20095ed
485 <ip_configuration_mode>
487 </ip_configuration_mode>
496 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
501 </currently_attached>
506 OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a
509 <bond ref="OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e">
511 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
514 dad825f1-6d81-386e-849c-5589281e53e1
518 OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
521 OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
525 <vlan ref="OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c">
527 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
530 841814da-d0d2-9da4-0b2e-b6143480bbfb
533 OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
536 <vlan ref="OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297">
538 OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
541 399279a2-5ccd-5368-9af3-8622a1f1ac82
544 OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
547 <network ref="OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47">
550 OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
558 99be2da4-6c33-6f8e-49ea-3bc592fe3c85
561 <network ref="OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32">
564 OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
572 2902ae1b-8013-897a-b697-0b200ea3aaa5
575 <network ref="OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a">
578 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
586 45cbbb43-113d-a712-3231-c6463f253cef
589 <network ref="OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d">
592 OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
600 99f8771a-645a-26a3-e06c-30a401f1d009
603 <network ref="OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe">
606 OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15
614 d08c8749-0c8f-9e8d-ce25-fd364661ee99
617 <network ref="OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5">
620 OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
627 <vswitch-disable-in-band>
629 </vswitch-disable-in-band>
632 c9eecb03-560d-61de-b6a8-56dfc766f67e
635 <network ref="OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531">
638 OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806
646 d2c14c89-29cc-51d4-7664-633eff02b2ad
649 <network ref="OpaqueRef:0b7354a4-8f4b-aa08-2f16-a22c117e4211">
656 dc0f0632-c2aa-1b78-2fea-0d3a23c51740
659 <network ref="OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17">
662 OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
670 db7bdc03-074d-42ae-fc73-9b06de1d57f6
673 <pool ref="OpaqueRef:a765d06c-fc82-cc67-8f6c-fd8db45f6a84">
675 <vswitch-controller-fail-mode>
677 </vswitch-controller-fail-mode>
680 </xenserver-network-configuration>
685 ./interface-reconfigure --root-prefix="`pwd`" --no-syslog "$@"
689 sed -n -e "s,`pwd`,,g" -e 's/ -- /\
690 /g' -e '/^Running command:/!p' stderr
692 m4_divert_pop([PREPARE_TESTS])
695 AT_BANNER([interface-reconfigure])
697 AT_SETUP([non-VLAN, non-bond])
698 AT_KEYWORDS([interface-reconfigure])
699 AT_SKIP_IF([$non_ascii_cwd])
700 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
703 AT_CHECK([ifr_run --force xenbr2 up], [0], [], [stderr])
704 AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 up
705 Loading xapi database cache from /var/xapi/network.dbcache
706 Configured for Vswitch datapath
708 Writing network configuration for xenbr2
709 Configuring xenbr2 using DHCP configuration
710 configure_datapath: bridge - xenbr2
711 configure_datapath: physical - ['eth2']
712 configure_datapath: extra ports - []
713 configure_datapath: extra bonds - []
714 /usr/bin/ovs-vsctl -vconsole:off get-fail-mode xenbr2
715 Applying changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
716 Applying changes to /etc/sysconfig/network configuration
717 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
718 /sbin/ifconfig eth2 up mtu 1500
719 /sbin/ethtool -K eth2 gro off lro off
720 /usr/sbin/ovs-vlan-bug-workaround eth2 on
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
725 set Bridge xenbr2 other-config:hwaddr="00:15:17:a0:29:80"
726 set Bridge xenbr2 fail_mode=secure
727 remove Bridge xenbr2 other_config disable-in-band
728 br-set-external-id xenbr2 xs-network-uuids d08c8749-0c8f-9e8d-ce25-fd364661ee99
729 /usr/bin/ovs-vsctl -vconsole:off get interface eth2 ofport
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
736 Committing changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
737 Committing changes to /etc/sysconfig/network configuration
738 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
741 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xenbr2], [0],
742 [# DO NOT EDIT: This file (ifcfg-xenbr2) was autogenerated by interface-reconfigure
749 PERSISTENT_DHCLIENT=yes
753 # Simulate interface-reconfigure creating xenbr2, so that we can tell
754 # interface-reconfigure to take it back down.
755 AT_CHECK([configure_netdev xenbr2 00:15:17:a0:29:80 0])
757 AT_CHECK([ifr_run --force xenbr2 down], [0], [], [stderr])
758 AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 down
759 Loading xapi database cache from /var/xapi/network.dbcache
760 Configured for Vswitch datapath
763 deconfigure ipdev xenbr2 on xenbr2
764 deconfigure_bridge: bridge - xenbr2
765 action_down: bring down physical devices - ['eth2']
766 /sbin/ifconfig eth2 down
767 /usr/bin/ovs-vsctl --timeout=20
768 --with-iface --if-exists del-port xenbr2
769 --if-exists del-br xenbr2
774 AT_SETUP([VLAN, non-bond])
775 AT_KEYWORDS([interface-reconfigure])
776 AT_SKIP_IF([$non_ascii_cwd])
777 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
780 AT_CHECK([ifr_run --force xapi3 up], [0], [], [stderr])
781 AT_CHECK([ifr_filter], [0], [[Force interface xapi3 up
782 Loading xapi database cache from /var/xapi/network.dbcache
783 Configured for Vswitch datapath
785 Writing network configuration for xapi3
786 Configuring xapi3 using None configuration
787 configure_datapath: bridge - xenbr3
788 configure_datapath: physical - ['eth3']
789 configure_datapath: extra ports - []
790 configure_datapath: extra bonds - []
791 Applying changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
792 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
793 /sbin/ifconfig eth3 up mtu 1500
794 /sbin/ethtool -K eth3 gro off lro off
795 /usr/sbin/ovs-vlan-bug-workaround eth3 on
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
800 set Bridge xenbr3 other-config:hwaddr="00:15:17:a0:29:81"
801 set Bridge xenbr3 fail_mode=secure
802 remove Bridge xenbr3 other_config disable-in-band
803 br-set-external-id xenbr3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
804 --if-exists del-br xapi3
805 --may-exist add-br xapi3 xenbr3 123
806 br-set-external-id xapi3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
807 set Interface xapi3 MAC="00:15:17:a0:29:81"
810 Committing changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
811 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
814 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi3], [0],
815 [# DO NOT EDIT: This file (ifcfg-xapi3) was autogenerated by interface-reconfigure
825 # Simulate interface-reconfigure creating xapi3, so that we can tell
826 # interface-reconfigure to take it back down.
827 AT_CHECK([configure_netdev xapi3 00:23:20:AC:AF:02 0])
829 AT_CHECK([ifr_run --force xapi3 down], [0], [], [stderr])
830 AT_CHECK([ifr_filter], [0], [[Force interface xapi3 down
831 Loading xapi database cache from /var/xapi/network.dbcache
832 Configured for Vswitch datapath
835 deconfigure ipdev xapi3 on xenbr3
836 deconfigure_bridge: bridge - xapi3
837 action_down: no more masters, bring down slave xenbr3
838 deconfigure_bridge: bridge - xenbr3
839 action_down: bring down physical devices - ['eth3']
840 /sbin/ifconfig eth3 down
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
849 AT_SETUP([Bond, non-VLAN])
850 AT_KEYWORDS([interface-reconfigure])
851 AT_SKIP_IF([$non_ascii_cwd])
852 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
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.
860 AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0])
862 AT_CHECK([ifr_run --force xapi1 up], [0], [], [stderr])
863 AT_CHECK([ifr_filter], [0], [[Force interface xapi1 up
864 Loading xapi database cache from /var/xapi/network.dbcache
865 Configured for Vswitch datapath
867 Writing network configuration for xapi1
868 Configuring xapi1 using None configuration
869 configure_datapath: leaving bond bond0 up
870 configure_datapath: leaving bond bond0 up
871 configure_datapath: bridge - xapi1
872 configure_datapath: physical - ['eth0', 'eth1']
873 configure_datapath: extra ports - []
874 configure_datapath: extra bonds - []
875 netdev: down: device xenbr0 does not exist, ignoring
876 netdev: down: device xenbr1 does not exist, ignoring
877 Applying changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
878 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
879 /sbin/ifconfig eth0 up mtu 1500
880 /sbin/ethtool -K eth0 gro off lro off
881 /usr/sbin/ovs-vlan-bug-workaround eth0 on
882 /sbin/ifconfig eth1 up mtu 1500
883 /sbin/ethtool -K eth1 gro off lro off
884 /usr/sbin/ovs-vlan-bug-workaround eth1 off
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
893 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
894 set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
895 set Bridge xapi1 fail_mode=secure
896 remove Bridge xapi1 other_config disable-in-band
897 br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
899 action_up: bring up bond0
900 /sbin/ifconfig bond0 up
902 Committing changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
903 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
906 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi1], [0],
907 [# DO NOT EDIT: This file (ifcfg-xapi1) was autogenerated by interface-reconfigure
917 # Simulate interface-reconfigure creating xapi1, so that we can tell
918 # interface-reconfigure to take it back down.
919 AT_CHECK([configure_netdev xapi1 00:22:19:22:4B:AF 0])
921 AT_CHECK([ifr_run --force xapi1 down], [0], [], [stderr])
922 AT_CHECK([ifr_filter], [0], [[Force interface xapi1 down
923 Loading xapi database cache from /var/xapi/network.dbcache
924 Configured for Vswitch datapath
927 deconfigure ipdev xapi1 on xapi1
928 deconfigure_bridge: bridge - xapi1
929 action_down: bring down physical devices - ['eth0', 'eth1']
930 /sbin/ifconfig eth0 down
931 /sbin/ifconfig eth1 down
932 /usr/bin/ovs-vsctl --timeout=20
933 --with-iface --if-exists del-port xapi1
934 --if-exists del-br xapi1
939 AT_SETUP([VLAN on bond])
940 AT_KEYWORDS([interface-reconfigure])
941 AT_SKIP_IF([$non_ascii_cwd])
942 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
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.
950 AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0])
952 AT_CHECK([ifr_run --force xapi2 up], [0], [], [stderr])
953 AT_CHECK([ifr_filter], [0], [[Force interface xapi2 up
954 Loading xapi database cache from /var/xapi/network.dbcache
955 Configured for Vswitch datapath
957 Writing network configuration for xapi2
958 Configuring xapi2 using None configuration
959 configure_datapath: leaving bond bond0 up
960 configure_datapath: leaving bond bond0 up
961 configure_datapath: bridge - xapi1
962 configure_datapath: physical - ['eth0', 'eth1']
963 configure_datapath: extra ports - []
964 configure_datapath: extra bonds - []
965 netdev: down: device xenbr0 does not exist, ignoring
966 netdev: down: device xenbr1 does not exist, ignoring
967 Applying changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
968 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
969 /sbin/ifconfig eth0 up mtu 1500
970 /sbin/ethtool -K eth0 gro off lro off
971 /usr/sbin/ovs-vlan-bug-workaround eth0 on
972 /sbin/ifconfig eth1 up mtu 1500
973 /sbin/ethtool -K eth1 gro off lro off
974 /usr/sbin/ovs-vlan-bug-workaround eth1 off
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
983 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
984 set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
985 set Bridge xapi1 fail_mode=secure
986 remove Bridge xapi1 other_config disable-in-band
987 br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
988 --if-exists del-br xapi2
989 --may-exist add-br xapi2 xapi1 4
990 br-set-external-id xapi2 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
991 set Interface xapi2 MAC="00:22:19:22:4b:af"
993 action_up: bring up bond0
994 /sbin/ifconfig bond0 up
996 Committing changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
997 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
1000 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi2], [0],
1001 [# DO NOT EDIT: This file (ifcfg-xapi2) was autogenerated by interface-reconfigure
1011 # Simulate interface-reconfigure creating xapi2, so that we can tell
1012 # interface-reconfigure to take it back down.
1013 AT_CHECK([configure_netdev xapi2 00:23:20:A4:71:C2 0])
1015 AT_CHECK([ifr_run --force xapi2 down], [0], [], [stderr])
1016 AT_CHECK([ifr_filter], [0], [[Force interface xapi2 down
1017 Loading xapi database cache from /var/xapi/network.dbcache
1018 Configured for Vswitch datapath
1021 deconfigure ipdev xapi2 on xapi1
1022 deconfigure_bridge: bridge - xapi2
1023 action_down: no more masters, bring down slave xapi1
1024 deconfigure_bridge: bridge - xapi1
1025 action_down: bring down physical devices - ['eth0', 'eth1']
1026 /sbin/ifconfig eth0 down
1027 /sbin/ifconfig eth1 down
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
1036 dnl This test configures two tunnels, then deletes the second and re-uses its
1037 dnl name for different types of ports. This was introduced to detect errors
1038 dnl where port configuration persists even when the port is deleted and
1040 AT_SETUP([Re-create port with different types])
1041 AT_KEYWORDS([interface-reconfigure])
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])
1047 AT_CHECK([ovs-vsctl set int p1 type=gre options:remote_ip=127.0.0.1])
1048 AT_CHECK([ovs-vsctl del-port p1])
1049 AT_CHECK([ovs-vsctl add-port br0 p1 -- set int p1 type=dummy])
1051 OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])
1052 OVS_APP_EXIT_AND_WAIT([ovsdb-server])