Archlinux Netctl Bringup
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init |
Expired
|
Medium
|
Unassigned |
Bug Description
I have been banging my head a bit with this one, especially as I am sure it *used* to work although in theory it should never have done! I would imagine a systemd update would have broken things.
I can't get cloud-init to configure the network when using `distro: arch`. What seems to happen is this:
- systemd looks at current units/services to start and begins boot.
- cloud-init-
- init.apply_
- arch.py writes out a netctl config and enables it using netctl reenable enp0s3.
- netctl creates a new systemd unit (netctl@enp0s3) and enables it
- systemd list of services already resolved, so does not start netctl@enp0s3 as it was created after the boot process started
So after the system is fully brought up, the interface is configured but NOT started. A subsequent reboot makes the network become available.
A few things and thoughts:
- I tried making bringup=True by force but cloud-init-local is too early in the boot process and netctl barfs when trying to do a restart on an interface here.
- Debian and RHEL based seem to have their own ways of managing network that involve putting files in a certain place that an *already existing* service then comes along and processes later.
- Tried from "master" and from 0.7.9.tar.gz
I can't think of a way netctl could ever work with cloud-init. Possibly using systemd-networkd instead would be wise but then things like Vagrant and no doubt other "cloud" providers expect Arch to be using netctl.
Thoughts? Ideas? Even a .patch so I can bodge something to work would be a big help right now but everything I have tried fails for one reason or another.
Marked 'confirmed' just to triage it. I'm open to patches or advice on how to handle this. You've done a good job in the bug description of triaging.
Smeone will have to do some deeper debugging on arch.