Initramfs: iscsi auto skip configure networking when no ibft data
This commit modifies iscsi's initramfs local-top script to add a new opt-in feature that enables skipping the call to the initramfs function configure_networking if using ISCSI_AUTO and no ibft data is available to the system. If the ISCSI mode is set to ISCSI_AUTO and there is no IBFT device/data, then configuring ISCSI "automatically" isn't possible. Therefore, there is no point in trying to configure networking. If the new opt-in cmdline option "iscsi_auto_skip_initramfs_networking" is set, then we skip the unnecessary call to configure_networking.
On Oracle Cloud, Ubuntu images use ISCSI_AUTO. Adding this feature allows for two significant improvements to Ubuntu on Oracle Cloud for the average user, who typically uses paravirtualized instances (VMs without ISCSI drives):
- The average time to ssh is reduced from ~20-25s to ~10-12s.
- Supporting both IPv4 and IPv6 single-stack networking will be possible with one image, on both virtualized and ISCSI instances.
The benefits of skipping the call to configure_networking in initramfs boil down to the fact that configuring networking with DHCP is very slow and inflexible in initramfs. By skipping it, we pass the burden of configuring networking to cloud-init, which is faster and more robust.
By making this feature opt-in, this change will no-op and maintain existing behaviour unless you specify the new /proc/cmdline arg "iscsi_auto_skip_initramfs_networking". This will allow for people building custom images to easily opt-in, or even for anyone on a live system to opt-in just by modifying their cmdline args.