initramfs-tools configure_networking() fails to dhcp ipv6 addresses
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
Critical
|
LaMont Jones | ||
initramfs-tools (Ubuntu) |
Fix Released
|
High
|
Mathieu Trudel-Lapierre | ||
Xenial |
Fix Released
|
High
|
Mathieu Trudel-Lapierre | ||
Yakkety |
Fix Released
|
High
|
Mathieu Trudel-Lapierre | ||
isc-dhcp (Ubuntu) |
Fix Released
|
High
|
Mathieu Trudel-Lapierre | ||
Xenial |
Fix Released
|
High
|
Mathieu Trudel-Lapierre | ||
Yakkety |
Fix Released
|
High
|
Mathieu Trudel-Lapierre | ||
klibc (Debian) |
Confirmed
|
Unknown
|
|||
klibc (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned | ||
Xenial |
Won't Fix
|
Undecided
|
Unassigned | ||
Yakkety |
Won't Fix
|
Undecided
|
Unassigned | ||
open-iscsi (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Xenial |
Fix Released
|
High
|
Unassigned | ||
Yakkety |
Fix Released
|
High
|
Unassigned |
Bug Description
initramfs' configure_
ipconfig does not support dhcpv6. See: https:/
Related bugs:
* bug 1229458: grub2 needed changes
* bug 1621615: network not configured when ipv6 netbooted into cloud-init
* bug 1635716: Can't bring up a machine on a dual network (ipv4 and ipv6)
Bugs related to uploads for this specific SRU:
cloud-init:
bug 1460715: different fix unrelated to this SRU
bug 1639930: ip6= on kernel command line
bug 1642679: different fix unrelated to this SRU
bug 1644043: different fix unrelated to this SRU
ifupdown:
bug 1629972: networking.service takes down lo on stop
initramfs-tools:
bug 1621507: no IPv6 DHCP support in early boot
bug 1628306: regression-update (failure when ip="")
bug 1631474: regression-update (failure when ip=:::::eth0:dhcp)
isc-dhcp:
bug 1621507: no IPv6 DHCP support in early boot
bug 1633479: dhclient does not wait for IPv6 DAD
open-iscsi:
bug 1621507: no IPv6 DHCP support in early boot
[Impact]
It is not possible to netboot Ubuntu with a network-based root filesystem in an ipv6-only environment. Anyone wanting to netboot in an ipv6-only environment is affected.
[Stable Fix]
These uploads add "ip6=" to the command line syntax to configure ipv6 using the defacto isc-dhcp-client. IPv4 configuration (and "ip=" syntax) remain unchanged.
Valid format for the ip6= command line option is:
ip6=none (or ip6=off or ip6=) -- do not configure ipv6
ip6=DEVICE -- run IPv6 dhclient on device DEVICE.
[Test Case]
See Bug 1229458. Configure radvd, dhcpd, and tftpd for your ipv6-only netbooting world. Pass the boot process an ipv6 address to talk to, and see it fail to configure the network.
[Regression Potential]
1) This increases the uncompressed initramfs size by approximately 500KB, since isc-dhcp-client is added, but klibc is still needed for some other things, and is therefore present. On systems with a very small /boot partition, this could result in failure to upgrade the initramfs.
2) In at least some cases, DHCP network configuration shifts from klibc's ipconfig to isc-dhcp-client's dhclient. This should be of minimal risk, as isc-dhcp-client is in very very widespread use. In the event of a regression, network boot would fail, but the prior kernel should still be bootable.
[Tests for verification]
Whoever checks the last one off, please mark verification done.
MAAS test cases:
X / Y
[+]/[+] MAAS on IPv6-only network
[+]/[+] MAAS on IPv4-only network
[+]/[+] MAAS booting IPv4 on dual-stack network (with and without dhcp6)
[+]/[+] MAAS booting IPv6 on dual-stack network (with and without dhcp4)
Non-MAAS test cases:
X / Y
[+]/[+] ip="" and ip6 not present
[+]/[+] ip=:::::eth0:dhcp and ip6 not present
[+]/[+] d-i install with iSCSI remote root should complete normally
[+]/[+] Validate normal boot without remote root
[+]/[+] Booting an iSCSI remote root via IPv4 (using ip=)
[+]/[+] Booting an iSCSI remote root via IPv6 (using ip6=)
[+]/[+] Booting an iSCSI remote root via IPv4 (no ip=, d-i use case)
[+]/[+] Booting an iSCSI remote root with BOOTIF specified (BOOTIF=mac of booting device)
[+]/[+] Booting an iSCSI remote root on mixed network with no options (IPv4 should be used only)
Related branches
- Gavin Panella (community): Approve
-
Diff: 181 lines (+105/-41)2 files modifiedsrc/provisioningserver/kernel_opts.py (+13/-3)
src/provisioningserver/tests/test_kernel_opts.py (+92/-38)
Changed in maas: | |
status: | New → Confirmed |
importance: | Undecided → Critical |
tags: | added: maas-ipv6 |
tags: |
added: maas-ipv76 removed: maas-ipv6 |
tags: |
added: maas-ipv6 removed: maas-ipv76 |
summary: |
- ipconfig lacks ipv6 support + initramfs-tools configure_networking() fails to dhcp ipv6 addresses |
Changed in klibc (Debian): | |
status: | Unknown → New |
Changed in initramfs-tools (Ubuntu): | |
assignee: | nobody → Mathieu Trudel-Lapierre (cyphermox) |
Changed in initramfs-tools (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in open-iscsi (Ubuntu): | |
assignee: | nobody → LaMont Jones (lamont) |
Changed in iproute2 (Ubuntu): | |
assignee: | nobody → Mathieu Trudel-Lapierre (cyphermox) |
description: | updated |
description: | updated |
Changed in initramfs-tools (Ubuntu Xenial): | |
importance: | Undecided → High |
Changed in isc-dhcp (Ubuntu Xenial): | |
importance: | Undecided → High |
Changed in open-iscsi (Ubuntu): | |
importance: | Undecided → High |
Changed in open-iscsi (Ubuntu Xenial): | |
importance: | Undecided → High |
Changed in maas: | |
status: | Confirmed → Triaged |
Changed in open-iscsi (Ubuntu): | |
assignee: | LaMont Jones (lamont) → nobody |
no longer affects: | ifupdown (Ubuntu) |
no longer affects: | ifupdown (Ubuntu Xenial) |
Changed in maas: | |
status: | Triaged → Fix Released |
tags: |
added: verification-pending removed: verification-done |
Changed in initramfs-tools (Ubuntu): | |
status: | Fix Released → In Progress |
description: | updated |
Changed in maas: | |
assignee: | nobody → LaMont Jones (lamont) |
status: | Fix Released → In Progress |
Changed in open-iscsi (Ubuntu): | |
status: | Fix Released → In Progress |
Changed in open-iscsi (Ubuntu Xenial): | |
status: | Fix Released → In Progress |
Changed in open-iscsi (Ubuntu Yakkety): | |
status: | Fix Released → In Progress |
tags: | added: patch |
Changed in maas: | |
status: | In Progress → Fix Committed |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in isc-dhcp (Ubuntu Xenial): | |
assignee: | nobody → Mathieu Trudel-Lapierre (cyphermox) |
Changed in initramfs-tools (Ubuntu Xenial): | |
assignee: | nobody → Mathieu Trudel-Lapierre (cyphermox) |
milestone: | none → xenial-updates |
description: | updated |
tags: |
added: verification-done removed: verification-needed |
Changed in maas: | |
status: | Fix Committed → Fix Released |
Changed in klibc (Debian): | |
status: | New → Confirmed |
To include dhclient in the initramfs; we should have a task for isc-dhcp too.