Public bug reported:
[Impact]
* xe-deamon.service tries to be an early boot unit; before cloud-init-local /
networking is setup
* However it does not declare DefaultDependencies=no, and thus tries to pull
in sysinit.target which should happen after cloud-init-local; yet
xe-daemon.service is declared to be before cloud-init-local, thus this is a
conflict of interest.
* Either xe-deamon should declare DefaultDependencies=no, or just become a
regular unit wanted by multi-user.target and the cloud-config.target
= Current unit =
[Unit]
Description=Xen Guest Monitoring Agent
After=local-fs.target
Requires=proc-xen.mount
Before=network.target cloud-init.service cloud-init-local.service
ConditionVirtualization=xen
ConditionPathExists=/proc/xen/capabilities
[Service]
ExecStartPre=/usr/sbin/xe-linux-distribution /var/cache/xe-linux-distribution
ExecStart=/usr/sbin/xe-daemon
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
= Minimal fix =
--- xe-guest-utilities.xe-daemon.service.old 2017-03-03 11:45:48.679700766
+0000
+++ xe-guest-utilities.xe-daemon.service 2017-03-03 11:46:07.923549054
+0000
@@ -1,5 +1,6 @@
[Unit]
Description=Xen Guest Monitoring Agent
+DefaultDependencies=no
After=local-fs.target
Requires=proc-xen.mount
Before=network.target cloud-init.service cloud-init-local.service
= Become a normal unit fix =
--- xe-guest-utilities.xe-daemon.service.old 2017-03-03 11:45:48.679700766
+0000
+++ xe-guest-utilities.xe-daemon.service 2017-03-03 11:47:44.842785194
+0000
@@ -1,8 +1,6 @@
[Unit]
Description=Xen Guest Monitoring Agent
-After=local-fs.target
-Requires=proc-xen.mount
-Before=network.target cloud-init.service cloud-init-local.service
+Before=cloud-config.target
ConditionVirtualization=xen
ConditionPathExists=/proc/xen/capabilities
@@ -13,3 +11,4 @@
[Install]
WantedBy=multi-user.target
+WantedBy=cloud-config.target
==
[Test Case]
* Boot a cloud instance, with xen hypervisor and cloud-init metdata
* There should be no boot cycles
[Regression Potential]
* Depending choice of the fix, xe-daemon might be starting earlier or later.
* Some history checking is required, if xe-daemon must run before
cloud-init-local or not
* Or if e.g. we only care for ExecStartPre= to run before cloud-init-local
[Other Info]
* Related bug #1496730
** Affects: xe-guest-utilities (Ubuntu)
Importance: Undecided
Status: New
** Affects: xe-guest-utilities (Ubuntu Xenial)
Importance: Undecided
Status: New
** Affects: xe-guest-utilities (Ubuntu Yakkety)
Importance: Undecided
Status: New
** Affects: xe-guest-utilities (Ubuntu Zesty)
Importance: Undecided
Status: New
** Also affects: xe-guest-utilities (Ubuntu Zesty)
Importance: Undecided
Status: New
** Also affects: xe-guest-utilities (Ubuntu Yakkety)
Importance: Undecided
Status: New
** Also affects: xe-guest-utilities (Ubuntu Xenial)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1669755
Title:
Circular boot dependency cycle with cloud-init et.al.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xe-guest-utilities/+bug/1669755/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs