Merge ~raharper/cloud-init:fix/lp-1766287-run-after-udev-settle-service into cloud-init:master
Status: | Work in progress |
---|---|
Proposed branch: | ~raharper/cloud-init:fix/lp-1766287-run-after-udev-settle-service |
Merge into: | cloud-init:master |
Diff against target: |
13 lines (+2/-0) 1 file modified
systemd/cloud-init-local.service.tmpl (+2/-0) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Dimitri John Ledkov (community) | Needs Fixing | ||
Server Team CI bot | continuous-integration | Approve | |
Steve Langasek | Pending | ||
cloud-init Commiters | Pending | ||
Review via email: mp+344198@code.launchpad.net |
Commit message
cloud-init-local: use systemd-
The cloud-init-
have already been completed by the kernel or udev daemon. While at least
in Ubuntu the systemd-
Ubuntu cloud images by default has a Wants for this service so it does not
run.
In some situations we've found that the renaming of interfaces from kernel
names (eth0, eth1, etc) to their persistent names (eno1, ens3, enp0s1,
etc) may happen after cloud-init-local has started where it reads values
from sysfs about what network devices are present, and which device to use
as a fallback nic.
Subsequently, cloud-init-local would write out network configuration for a
kernel device name which would no longer be present by the time that
networking services start to bring up the devices. The result is that the
instance does not get networking configured. Prior to use of
systemd-networkd, the Ubuntu 'networking.
udevadm settle which is why this race is not seen on a Xenial system.
LP: #1766287
PASSED: Continuous integration, rev:9bbca03312b 23839d67f039d81 7351cc59b21364 /jenkins. ubuntu. com/server/ job/cloud- init-ci/ 1055/
https:/
Executed test runs:
SUCCESS: Checkout
SUCCESS: Unit & Style Tests
SUCCESS: Ubuntu LTS: Build
SUCCESS: Ubuntu LTS: Integration
SUCCESS: MAAS Compatability Testing
IN_PROGRESS: Declarative: Post Actions
Click here to trigger a rebuild: /jenkins. ubuntu. com/server/ job/cloud- init-ci/ 1055/rebuild
https:/