Public bug reported:

### Description

When installing Ubuntu (versions 26.04 and 26.10) inside a Virtual
Machine with the Network Interface Card (NIC) disabled during
installation, powering off the VM, cloning it, and subsequently turning
on the NIC in the clone results in a system where internet connectivity
does not initialize automatically at boot.

In contrast, **Ubuntu MATE 26.10 handles this scenario correctly**, and
internet connectivity works out of the box when the NIC is enabled on
the clone, even though its default configuration
(`/etc/netplan/00-installer-config.yaml`) does not explicitly contain a
`dhcp4` directive and looks like this:

```yaml
# This is the network config written by 'subiquity'
network:
  ethernets: {}
  version: 2

```

---

### Steps to Reproduce

1. Create a Virtual Machine with the NIC disabled or disconnected.
2. Complete the installation of Ubuntu 26.04 or 26.10 inside the VM.
3. Power off the Virtual Machine and create a clone of it.
4. Enable the NIC on the cloned VM, then power it on.
5. Check if internet connectivity connects automatically at boot.

---

### Expected Result

Internet connectivity should connect automatically at boot once the NIC
is turned on in the cloned VM, consistent with the behavior observed in
Ubuntu MATE.

---

### Actual Result

Internet connectivity does not connect automatically at boot when booted
with the NIC enabled on standard Ubuntu installations.

---

### Additional Information / Workaround

Unlike standard Ubuntu, Ubuntu MATE 26.10 works seamlessly out of the
box regardless of whether the NIC was on or off during installation,
without requiring manual Netplan adjustments.

As a temporary workaround for standard Ubuntu installations, the
following script can be used to resolve the issue:

```bash
if grep -q '^ID=ubuntu' /etc/os-release && \
   grep -q '^VERSION_ID="26\.' /etc/os-release && \
   grep -Eq '^Ubuntu [0-9]' /var/log/installer/media-info 2>/dev/null; then
    IFACE=$(ip -4 route show default | awk '{print $5}' | head -n1)
    [ -z "$IFACE" ] && IFACE="enp1s0"

    # Check if DHCP is already configured
    DHCP4_SET=$(netplan get ethernets."$IFACE".dhcp4 2>/dev/null)
    DHCP6_SET=$(netplan get ethernets."$IFACE".dhcp6 2>/dev/null)

    if [ "$DHCP4_SET" != "true" ] || [ "$DHCP6_SET" != "true" ]; then
        sudo netplan set ethernets."$IFACE".dhcp4=true
        sudo netplan set ethernets."$IFACE".dhcp6=true
        sudo netplan generate
        sudo netplan apply

       # Wait for WAN and DNS so premature apt runs don't fail InRelease checks
       until wget -q --spider --timeout=1 http://archive.ubuntu.com; do
           sleep 1
       done
    fi

    sudo apt-get update
fi

```

** Affects: ubuntu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2170258

Title:
  Netplan fails to configure DHCP on first boot when installed with NIC
  disabled then enabled

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+bug/2170258/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to