Comment 10 for bug 1750780

Revision history for this message
Ryan Harper (raharper) wrote : Re: [Bug 1750780] Re: Race with local file systems can make open-vm-tools fail to start

On Thu, Feb 22, 2018 at 9:16 AM, Scott Moser <email address hidden>
wrote:

> I dont think I really agree with this fix.
>
>
I forgot that we dropped local-fs.target for exactly what we needed:

After=systemd-remount-fs.service
RequiresMountFor=/var/lib/cloud

> Adding 'After=local-fs.target' essentially pushes cloud-init to have that
> same dependency, which it does not have. We don't really want cloud-init
> to have to wait for local-fs.target.
> For example see bug 1691489 (and related fallout bug 1717477).
>

I don't think it's so clear that it effectively pushes cloud-init-local out
to after local-fs.target
as, in general, cloud-init-local already runs *after* local-fs.target

Feb 22 15:48:47.065442 b2 systemd[1]: Started Set the console keyboard
layout.
Feb 22 15:48:47.066519 b2 systemd[1]: Reached target Local File Systems
(Pre).
Feb 22 15:48:47.066580 b2 systemd[1]: Reached target Local File Systems.
...
Feb 22 15:48:47.108237 b2 systemd[1]: systemd-tmpfiles-setup.service
...
Feb 22 15:48:47.153217 b2 systemd[1]: Starting Initial cloud-init job
(pre-networking)...

That's in bionic, without open-vm-tools.

I think we need some more information w.r.t open-vm-tools actual
requirement w.r.t running prior to cloud-init;
Assuming there is a need to run before cloud-init-local, then the unit
needs to be as precise as cloud-init
w.r.t what it actually requires w.r.t the filesystem (like the
RequiresMountFor).

IIUC, the bugs were related to blocking fsck and mount service to require
cloud-init.service, but that required local-fs.target
and a loop was created. Open-vm-tools is asking to run after
cloud-init-local, which is not emitted in any of mount entries
so I don't see a new loop coming.

>
> If the only reason for local-fs.target was actually PrivateTmp, then there
> is a bug in systemd.
>
> https://www.freedesktop.org/software/systemd/man/systemd.exec.html
> | Implicit Dependencies
> | Similar, units with PrivateTmp= enabled automatically get mount unit
> | dependencies for all mounts required to access /tmp and /var/tmp. They
> | will also gain an automatic After= dependency on systemd-tmpfiles-
> | setup.service(8).
>
> So there must have been a different read-only filesystem involved.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1750780
>
> Title:
> Race with local file systems can make open-vm-tools fail to start
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/cloud-init/+bug/1750780/+subscriptions
>