Network disconnect when booting the NVMe/TCP installed system
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin |
New
|
Undecided
|
Unassigned | ||
subiquity |
Triaged
|
Medium
|
Unassigned |
Bug Description
After going through the NVMe/TCP PoC and when booting the newly installed system (initiator VM), the boot phase gets interrupted with:
nvme0c0n1: I/O Cmd(0x2) @ LBA 5726464, 32 blocks, I/O Error (sct 0x3 / sc 0x71)
nvme0c0n1: I/O Cmd(0x2) @ LBA 4181768, 80 blocks, I/O Error (sct 0x3 / sc 0x71)
I/O error, dev nvme0c0n1, sector 4181768 op 0x0:(READ) flags 0x2080700 phys_seg 4 prio class 0
I/O error, dev nvme0c0n1, sector 5726464 op 0x0:(READ) flags 0x2080700 phys_seg 4 prio class 0
[...]
nvme nvme0: failed nvme_keep_
nvme nvme0: failed to bind queue 0 socket -99
This indicates that the network daemon attempted to re-apply the network configuration ; that was already applied during the initramfs stage.
This happens because:
1. The network interface was renamed from enp1s0 (or something else) to nbft0 during the initramfs stage and the network daemon does not know about the change. It still expects enp1s0 to exist.
2. The network daemon is not aware that the interface is essential for booting ; and that the network configuration should not be re-applied while the system is on.
This can be addressed by modifying /etc/cloud/
```
network:
ethernets:
enp1s0:
dhcp4: true
version: 2
```
to
```
network:
ethernets:
# Use nbft0, not enp1s0 because the interface will be
# renamed during the initramfs stage
nbft0:
dhcp4: true
# Ask the network daemon not to re-apply the config
# when the system is on
critical: true
version: 2
```
Related branches
- Chris Peterson: Approve
- Server Team CI bot: Approve (continuous-integration)
-
Diff: 270 lines (+210/-3)3 files modifiedcurtin/commands/curthooks.py (+2/-0)
curtin/nvme_tcp.py (+86/-3)
tests/unittests/test_nvme_tcp.py (+122/-0)
description: | updated |
Changed in subiquity: | |
status: | New → Triaged |
importance: | Undecided → High |
importance: | High → Medium |