[pve-devel] [PATCH qemu-server 2/2] fix #2670: cloudinit enable SLAAC

Mira Limbeck m.limbeck at proxmox.com
Mon Mar 29 14:07:15 CEST 2021


cloud-init's SLAAC option was disabled in 2018 because there was no
support for it. Now that cloud-init 19.4 or newer versions are more
widespread, we can finally reenable it.

Also include minimum required cloud-init version for SLAAC support in
format description.

Tested on Ubuntu 20.04 (ci 20.4), CentOS 8 (ci 19.4), Debian 10 (ci
20.2).

Signed-off-by: Mira Limbeck <m.limbeck at proxmox.com>
---
 PVE/QemuServer.pm           | 3 ++-
 PVE/QemuServer/Cloudinit.pm | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 1c0b5c2..7dd4bcf 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -964,7 +964,8 @@ IP addresses use CIDR notation, gateways are optional but need an IP of the same
 
 The special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit
 gateway should be provided.
-For IPv6 the special string 'auto' can be used to use stateless autoconfiguration.
+For IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires
+cloud-init 19.4 or newer.
 
 If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using
 dhcp on IPv4.
diff --git a/PVE/QemuServer/Cloudinit.pm b/PVE/QemuServer/Cloudinit.pm
index 3224dd0..a5474d3 100644
--- a/PVE/QemuServer/Cloudinit.pm
+++ b/PVE/QemuServer/Cloudinit.pm
@@ -449,8 +449,8 @@ sub nocloud_network {
 	    if ($ip eq 'dhcp') {
 		$content .= "${i}- type: dhcp6\n";
 	    } elsif ($ip eq 'auto') {
-		# SLAAC is not supported by cloud-init, this fallback should work with an up-to-date netplan at least
-		$content .= "${i}- type: dhcp6\n";
+		# SLAAC is only supported by cloud-init since 19.4
+		$content .= "${i}- type: ipv6_slaac\n";
 	    } else {
 		$content .= "${i}- type: static6\n"
 		       . "${i}  address: '$ip'\n";
-- 
2.20.1






More information about the pve-devel mailing list