Skip to content

Commit

Permalink
Change DefaultVMIpv6CIDR
Browse files Browse the repository at this point in the history
Change the default VM's IPv6 CIDR to a shorter,
user-friendly address that is easier to read and maintain.

The new address is in the ULA range (like the original),
of fd00::/8 which is reserved for local assignments.

Signed-off-by: Or Mergi <ormergi@redhat.com>
  • Loading branch information
ormergi committed May 5, 2020
1 parent 6033ea1 commit 1dd3955
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 15 deletions.
4 changes: 2 additions & 2 deletions examples/vmi-masquerade.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ spec:
userData: |-
#!/bin/bash
echo "fedora" |passwd fedora --stdin
ip -6 addr add fd2e:f1fe:9490:a8ff::2/120 dev eth0
ip -6 addr add fd10:0:2::2/120 dev eth0
sleep 5
ip -6 route add default via fd2e:f1fe:9490:a8ff::1 src fd2e:f1fe:9490:a8ff::2
ip -6 route add default via fd10:0:2::1 src fd10:0:2::2
yum install -y nginx
systemctl enable nginx
systemctl start nginx
Expand Down
2 changes: 1 addition & 1 deletion pkg/virt-launcher/virtwrap/api/defaults.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const (
resolvConf = "/etc/resolv.conf"
DefaultProtocol = "TCP"
DefaultVMCIDR = "10.0.2.0/24"
DefaultVMIpv6CIDR = "fd2e:f1fe:9490:a8ff::/120"
DefaultVMIpv6CIDR = "fd10:0:2::/120"
DefaultBridgeName = "k6t-eth0"
)

Expand Down
8 changes: 4 additions & 4 deletions pkg/virt-launcher/virtwrap/network/common_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,10 @@ var _ = Describe("Common Methods", func() {
})
It("Should return 2 IPV6 addresses", func() {
networkHandler := NetworkUtilsHandler{}
gw, vm, err := networkHandler.GetHostAndGwAddressesFromCIDR("fd2e:f1fe:9490:a8ff::/120")
gw, vm, err := networkHandler.GetHostAndGwAddressesFromCIDR("fd10:0:2::/120")
Expect(err).ToNot(HaveOccurred())
Expect(gw).To(Equal("fd2e:f1fe:9490:a8ff::1/120"))
Expect(vm).To(Equal("fd2e:f1fe:9490:a8ff::2/120"))
Expect(gw).To(Equal("fd10:0:2::1/120"))
Expect(vm).To(Equal("fd10:0:2::2/120"))
})
It("Should fail when the subnet is too small", func() {
networkHandler := NetworkUtilsHandler{}
Expand All @@ -89,7 +89,7 @@ var _ = Describe("Common Methods", func() {
})
It("Should fail when the IPV6 subnet is too small", func() {
networkHandler := NetworkUtilsHandler{}
_, _, err := networkHandler.GetHostAndGwAddressesFromCIDR("fd2e:f1fe:9490:a8ff::/127")
_, _, err := networkHandler.GetHostAndGwAddressesFromCIDR("fd10:0:2::/127")
Expect(err).To(HaveOccurred())
})
})
Expand Down
6 changes: 3 additions & 3 deletions pkg/virt-launcher/virtwrap/network/podinterface_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,10 +112,10 @@ var _ = Describe("Pod Network", func() {
masqueradeVmStr = "10.0.2.2/30"
masqueradeVmAddr, _ = netlink.ParseAddr(masqueradeVmStr)
masqueradeVmIp = masqueradeVmAddr.IP.String()
masqueradeIpv6GwStr = "fd2e:f1fe:9490:a8ff::1/120"
masqueradeIpv6GwStr = "fd10:0:2::1/120"
masqueradeIpv6GwAddr, _ = netlink.ParseAddr(masqueradeIpv6GwStr)
masqueradeGwIpv6 = masqueradeIpv6GwAddr.IP.String()
masqueradeIpv6VmStr = "fd2e:f1fe:9490:a8ff::2/120"
masqueradeIpv6VmStr = "fd10:0:2::2/120"
masqueradeIpv6VmAddr, _ = netlink.ParseAddr(masqueradeIpv6VmStr)
masqueradeVmIpv6 = masqueradeIpv6VmAddr.IP.String()
masqueradeDummyName = fmt.Sprintf("%s-nic", api.DefaultBridgeName)
Expand Down Expand Up @@ -189,7 +189,7 @@ var _ = Describe("Pod Network", func() {
mockNetwork.EXPECT().AddrAdd(bridgeTest, masqueradeIpv6GwAddr).Return(nil)
mockNetwork.EXPECT().StartDHCP(masqueradeTestNic, masqueradeGwAddr, api.DefaultBridgeName, nil)
mockNetwork.EXPECT().GetHostAndGwAddressesFromCIDR(api.DefaultVMCIDR).Return("10.0.2.1/30", "10.0.2.2/30", nil)
mockNetwork.EXPECT().GetHostAndGwAddressesFromCIDR(api.DefaultVMIpv6CIDR).Return("fd2e:f1fe:9490:a8ff::1/120", "fd2e:f1fe:9490:a8ff::2/120", nil)
mockNetwork.EXPECT().GetHostAndGwAddressesFromCIDR(api.DefaultVMIpv6CIDR).Return("fd10:0:2::1/120", "fd10:0:2::2/120", nil)
// Global nat rules using iptables
mockNetwork.EXPECT().ConfigureIpv6Forwarding().Return(nil)
mockNetwork.EXPECT().GetNFTIPString(iptables.ProtocolIPv4).Return("ip").AnyTimes()
Expand Down
8 changes: 4 additions & 4 deletions tests/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -2027,8 +2027,8 @@ func GetGuestAgentUserData() string {

ipv6UserDataString := ""
if netutils.IsIPv6String(dnsServerIP) {
ipv6UserDataString = fmt.Sprintf(`sudo ip -6 addr add fd2e:f1fe:9490:a8ff::2/120 dev eth0
sudo ip -6 route add default via fd2e:f1fe:9490:a8ff::1 src fd2e:f1fe:9490:a8ff::2
ipv6UserDataString = fmt.Sprintf(`sudo ip -6 addr add fd10:0:2::2/120 dev eth0
sudo ip -6 route add default via fd10:0:2::1 src fd10:0:2::2
echo "nameserver %s" >> /etc/resolv.conf`, dnsServerIP)
}
return fmt.Sprintf(`#!/bin/bash
Expand Down Expand Up @@ -2779,13 +2779,13 @@ func configureIPv6OnVMI(vmi *v1.VirtualMachineInstance, expecter expect.Expecter
ipv6Batch := append([]expect.Batcher{
&expect.BSnd{S: "\n"},
&expect.BExp{R: prompt},
&expect.BSnd{S: "sudo ip -6 addr add fd2e:f1fe:9490:a8ff::2/120 dev eth0\n"},
&expect.BSnd{S: "sudo ip -6 addr add fd10:0:2::2/120 dev eth0\n"},
&expect.BExp{R: prompt},
&expect.BSnd{S: "echo $?\n"},
&expect.BExp{R: "0"},
&expect.BSnd{S: "sleep 5\n"},
&expect.BExp{R: prompt},
&expect.BSnd{S: "sudo ip -6 route add default via fd2e:f1fe:9490:a8ff::1 src fd2e:f1fe:9490:a8ff::2\n"},
&expect.BSnd{S: "sudo ip -6 route add default via fd10:0:2::1 src fd10:0:2::2\n"},
&expect.BExp{R: prompt},
&expect.BSnd{S: "echo $?\n"},
&expect.BExp{R: "0"},
Expand Down
2 changes: 1 addition & 1 deletion tools/vms-generator/utils/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ func GetVMIMasquerade() *v1.VirtualMachineInstance {
vm.Spec.Domain.Resources.Requests[k8sv1.ResourceMemory] = resource.MustParse("1024M")
vm.Spec.Networks = []v1.Network{v1.Network{Name: "testmasquerade", NetworkSource: v1.NetworkSource{Pod: &v1.PodNetwork{}}}}
initFedora(&vm.Spec)
addNoCloudDiskWitUserData(&vm.Spec, "#!/bin/bash\necho \"fedora\" |passwd fedora --stdin\nip -6 addr add fd2e:f1fe:9490:a8ff::2/120 dev eth0\nsleep 5\nip -6 route add default via fd2e:f1fe:9490:a8ff::1 src fd2e:f1fe:9490:a8ff::2\nyum install -y nginx\nsystemctl enable nginx\nsystemctl start nginx")
addNoCloudDiskWitUserData(&vm.Spec, "#!/bin/bash\necho \"fedora\" |passwd fedora --stdin\nip -6 addr add fd10:0:2::2/120 dev eth0\nsleep 5\nip -6 route add default via fd10:0:2::1 src fd10:0:2::2\nyum install -y nginx\nsystemctl enable nginx\nsystemctl start nginx")

masquerade := &v1.InterfaceMasquerade{}
ports := []v1.Port{v1.Port{Name: "http", Protocol: "TCP", Port: 80}}
Expand Down

0 comments on commit 1dd3955

Please sign in to comment.