Comment 29 for bug 1804287

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Disambiguation of services in comments discussion on this bug:
vgauth - open-vm-tools.vgauth.service
vmtoolsd - open-vm-tools.service
fs - systemd-remount-fs.service
tmp - systemd-tmpfiles-setup.service

Summarizing the dependencies (and wishes for them) once more:
- open-vm-tools.vgauth.service is supposed to be before before open-vm-tools.service (for the issue outlined here)
- open-vm-tools.service needs to be before cloud-init-local.service (to get datasources)

As discussed on the bug between comment #3 and #18 we expressed our concerns about DefaultDependencies=no but were somewhat convinced by testing that it might work, but still felt unsure.

After all even cloud-init-local has at least
  After=systemd-remount-fs.service

But then almost exactly as we were afraid of in general issues were found for open-vm-tools.service and this was added:
  After=systemd-remount-fs.service systemd-tmpfiles-setup.service
(one for issues we had with /tmp just as we assumed above in e.g. comment #12, and one for systemd-remount-fs just as cloud-init-local)
That was for Debian bug #914910 and is in https://github.com/bzed/pkg-open-vm-tools/commit/e4697c7

Now IMHO this same safety net dependencies should be added to open-vm-tools.vgauth.service as well to not find an issue there.

Eventually that should be no issue as - summarizing again with the above in mind:
- open-vm-tools.vgauth.service is supposed to be before before open-vm-tools.service (for the issue outlined here)
- open-vm-tools.service needs to be before cloud-init-local.service (to get datasources)
- cloud-init-local.service has DefaultDependencies=no but After=systemd-remount-fs.service
- open-vm-tools.service got this against races
  After=systemd-remount-fs.service systemd-tmpfiles-setup.service

That already makes it:
fs / tmp -> vmtoolsd -> cloud-init
Now throwing in the requirement to have vgauth to be before vmtoolsd means we can add fs / tmp dependencies there to be on the safe side without changing the current dependency chain.

It would then be
fs / tmp -> vgauth -> vmtoolsd -> cloud-init

I agree that this will make it feel more correct and as outlined will not thwart the intention of the "get vmtools before vmtoolsd" change in the consideration of cloud-init-local needing to be early but also after open-vm-tools.

Let me suggest that to Bernd to make it right in Buster as well ...