Thank you for filing this bug and helping improve Ubuntu and cloud-init.
While I think your solution is probably what we need to go forward with, I wanted to double check a couple of other data points in SysFs so we can be aware if there may be other config artifacts that can alert cloud-init to this type of device in the future.
1. In your bug file above it looks like you intended to loo over each device, running 'ls -l /sys/class/net/$nic/' But the output looks like it ran 'ls -l /sys/class/net/$nic' (without the trailing forward slash '/') This only gives us the what directory the symlink points to, but we need to see the files and timestamps inside that linked directory.
Please run:
for dev in wwan0 wwan1 eno1 eno2 eno3 eno4 eno5 eno6; do
echo ---- $dev;
ls -l --full-time /sys/class/net/$dev/device/driver;
cat /sys/class/net/$dev/device/driver;
ls -l --full-time /sys/class/net/$dev/;
done
Much thanks. The --full-time timestamps are important when we compare against the cloud-init logs collected from journalctl so we can see specifically the ordering of when device driver detection is complete for the device versus cloud-init's network discovery operations (logged in cloud-init.log).
Thank you for filing this bug and helping improve Ubuntu and cloud-init.
While I think your solution is probably what we need to go forward with, I wanted to double check a couple of other data points in SysFs so we can be aware if there may be other config artifacts that can alert cloud-init to this type of device in the future.
1. In your bug file above it looks like you intended to loo over each device, running 'ls -l /sys/class/ net/$nic/ ' But the output looks like it ran 'ls -l /sys/class/ net/$nic' (without the trailing forward slash '/') This only gives us the what directory the symlink points to, but we need to see the files and timestamps inside that linked directory.
Please run: net/$dev/ device/ driver; net/$dev/ device/ driver; net/$dev/ ;
for dev in wwan0 wwan1 eno1 eno2 eno3 eno4 eno5 eno6; do
echo ---- $dev;
ls -l --full-time /sys/class/
cat /sys/class/
ls -l --full-time /sys/class/
done
Much thanks. The --full-time timestamps are important when we compare against the cloud-init logs collected from journalctl so we can see specifically the ordering of when device driver detection is complete for the device versus cloud-init's network discovery operations (logged in cloud-init.log).