diff --git a/tests/e2e/dualstack/Vagrantfile b/tests/e2e/dualstack/Vagrantfile index 7c0f30f84b..633729a800 100644 --- a/tests/e2e/dualstack/Vagrantfile +++ b/tests/e2e/dualstack/Vagrantfile @@ -16,6 +16,7 @@ def provision(vm, roles, role_num, node_num) vm.hostname = "#{roles[0]}-#{role_num}" node_ip4 = "#{NETWORK4_PREFIX}.#{100+node_num}" node_ip6 = "#{NETWORK6_PREFIX}::#{10+node_num}" + node_ip6_gw = "#{NETWORK6_PREFIX}::1" # Only works with libvirt, which allows IPv4 + IPv6 on a single network/interface vm.network "private_network", :ip => node_ip4, @@ -32,7 +33,7 @@ def provision(vm, roles, role_num, node_num) defaultOSConfigure(vm) - vm.provision "IPv6 Setup", type: "shell", path: scripts_location +"/ipv6.sh", args: [node_ip4, node_ip6, vm.box.to_s] + vm.provision "IPv6 Setup", type: "shell", path: scripts_location +"/ipv6.sh", args: [node_ip4, node_ip6, node_ip6_gw, vm.box.to_s] install_type = getInstallType(vm, RELEASE_VERSION, GITHUB_BRANCH) vm.provision "Ping Check", type: "shell", inline: "ping -c 2 k3s.io" diff --git a/tests/e2e/dualstack/dualstack_test.go b/tests/e2e/dualstack/dualstack_test.go index 50c6945cb4..2561cc00d8 100644 --- a/tests/e2e/dualstack/dualstack_test.go +++ b/tests/e2e/dualstack/dualstack_test.go @@ -117,7 +117,7 @@ var _ = Describe("Verify DualStack Configuration", func() { Expect(err).NotTo(HaveOccurred()) for _, node := range nodeIPs { Expect(node.ipv4).Should(ContainSubstring("10.10.10")) - Expect(node.ipv6).Should(ContainSubstring("a11:decf:c0ff")) + Expect(node.ipv6).Should(ContainSubstring("fd11:decf:c0ff")) } }) It("Verifies that each pod has IPv4 and IPv6", func() { @@ -125,7 +125,7 @@ var _ = Describe("Verify DualStack Configuration", func() { Expect(err).NotTo(HaveOccurred()) for _, pod := range podIPs { Expect(pod.ipv4).Should(Or(ContainSubstring("10.10.10"), ContainSubstring("10.42.")), pod.name) - Expect(pod.ipv6).Should(Or(ContainSubstring("a11:decf:c0ff"), ContainSubstring("2001:cafe:42")), pod.name) + Expect(pod.ipv6).Should(Or(ContainSubstring("fd11:decf:c0ff"), ContainSubstring("2001:cafe:42")), pod.name) } }) diff --git a/tests/e2e/scripts/ipv6.sh b/tests/e2e/scripts/ipv6.sh index 5dbf6b4c53..aa3fdd46ba 100644 --- a/tests/e2e/scripts/ipv6.sh +++ b/tests/e2e/scripts/ipv6.sh @@ -1,7 +1,8 @@ #!/bin/bash ip4_addr=$1 ip6_addr=$2 -os=$3 +ip6_addr_gw=$3 +os=$4 sysctl -w net.ipv6.conf.all.disable_ipv6=0 sysctl -w net.ipv6.conf.eth1.accept_dad=0 @@ -19,4 +20,5 @@ elif [ -z "${os##*alpine*}" ]; then else ip -6 addr add "$ip6_addr"/64 dev eth1 fi -ip addr show dev eth1 \ No newline at end of file +ip addr show dev eth1 +ip -6 r add default via "$ip6_addr_gw"