Age | Commit message (Collapse) | Author |
|
Tested now with the generated fallback config in an lxc container.
Had to change to return a config rather than a network state.
Also this makes nocloud look in nocloud-net's seed dir.
This way it will read the seed and clame the datasource but
not do anything other than apply networking and the init_modules early.
It is a change in behavior of the time that boothooks woudl run to do
this. May need to change that back.
|
|
|
|
there is no data source that has a populated network_config()
so at this point this doesn't do anything.
|
|
on interfaces with characters between their numbers
|
|
'version' keys
|
|
- Removed systemd .link file generation, as it is not needed right now
- Changed return of generate_fallback_config to be just ns dict
- In distros.debian don't attempt to write .link file
|
|
|
|
not to attempt renaming the network interface to the default interface. Default
interface is controleld by net.DEFAULT_PRIMARY_INTERFACE and is currently set
to eth0 for legacy reasons. By default cloud-init will not attempt to rename
the device as this does not work in some situtations depending on the backing
driver of the device.
|
|
|
|
try/except blocks because there are sometimes read errors on the files and this
should not cause a stacktrace
|
|
on in the event that no network configuration was provided to cloud-init
- Devices in /sys/class/net aside from loopback devices are scanned
- Each device is tested to determine if it has a carrier using
/sys/class/net/DEV/carrier, devices which do are preferred as they are most
likely connected to the outside world
- Devices which do not have a carrier but which might still be connected due
to being in a dormant or down state are used as fallbacks in case no
devices are found which have a carrier
- A network state dictionary is generated to be passed to
render_network_state to write ENI
- A systemd link file is generated that will rename the chosen device to eth0
|
|
at this point, this works:
python -m cloudinit.net.network_state examples/network-all.yaml
|
|
just add curtin/net as cloudinit/net
and then copy curtin/udev.py as cloudinit/net/udev.py
|