fix #2670: cloudinit enable SLAAC

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@proxmox.com>
This commit is contained in:
Mira Limbeck 2021-03-29 14:07:15 +02:00 committed by Thomas Lamprecht
parent 617a864ac2
commit 988be8d052
2 changed files with 4 additions and 3 deletions

View File

@ -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.

View File

@ -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";