vgauth needs to start before vmtoolsd
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
open-vm-tools (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Oliver Kurth | ||
Cosmic |
Fix Released
|
Undecided
|
Oliver Kurth |
Bug Description
[Impact]
* Failover cases with Vmware SRM lead to an issue that vgauth is required
but started far too late to get the helpers that run on failover
working correctly.
* As requested by upstream we will make vgauth (providing auth) to run
before vmtoolsd (triggers and runs the code on failover)
[Test Case]
* Run a case of SRM driven failover - that is easier said than done,
therefore Oliver Kurth of VMWare and owner of the upstream
open-vm-tools who has a setup with that will run (or have coworkers
run) the test on the PPA as well as the -proposed verification.
[Regression Potential]
* We had some concerns about being so early that it would fail (comments
#3 to #12) but got confirmed that would be ok. Never the less after our
first SRU discussion we went into a deeper analysis what we could add
to make the early DefaultDependen
thwarting the purpose of the change. Since those extra dependencies are
added the concerns about potential issues is rather low - the vgauth
really doesn't need much to be around and there is no known pain to
have it available early.
[Other Info]
* Re-rolled and improved based on first SRU review - I have to thank
Steve for making me improve our first iteration on this!
----
In Ubuntu 18.04, when the VM is booting with disconnected NICs after SRM (Site Recovery Manager) failover, the VGAuthService is initialized by vmtoold far later than deployPkg script execution + the hardcoded 100 seconds timeout for deployPkg POSIX processes.
This causes the SRM guest enrollment script to fail since it is not able to find running VGAuthService in its execution time duration.
The issue is that vgauth starts much later than vmtoolsd. The systemd service should have a dependency on vmtoolsd. Adding this line:
After=vgauth.
to the file /lib/systemd/
This is a critical issue for us. The issue probably exists in older Ubuntu releases as well. I will also file a bug with Debian.
Related branches
- Andreas Hasenack: Approve
- Canonical Server: Pending requested
- git-ubuntu developers: Pending requested
-
Diff: 8267 lines (+4679/-322) (has conflicts)53 files modifiedReleaseNotes.md (+105/-5)
debian/changelog (+97/-0)
debian/control (+3/-3)
debian/desktop.conf (+2/-0)
debian/open-vm-tools.postinst (+1/-1)
debian/open-vm-tools.service (+4/-0)
debian/open-vm-tools.vgauth.service (+1/-0)
debian/patches/debian/enable_vmhgfs-fuse_by_default (+3/-0)
debian/patches/series (+4/-1)
debian/patches/stable-10.3.5-quiesced-snapshot (+631/-0)
debian/rules (+4/-0)
dev/null (+0/-181)
open-vm-tools/ChangeLog (+2890/-0)
open-vm-tools/configure.ac (+7/-3)
open-vm-tools/lib/file/file.c (+14/-10)
open-vm-tools/lib/glibUtils/fileLogger.c (+17/-2)
open-vm-tools/lib/hgfsServer/hgfsServer.c (+2/-2)
open-vm-tools/lib/hgfsServer/hgfsServerLinux.c (+5/-5)
open-vm-tools/lib/include/buildNumber.h (+14/-0)
open-vm-tools/lib/include/conf.h (+26/-0)
open-vm-tools/lib/include/err.h (+18/-0)
open-vm-tools/lib/include/ioplGet.h (+2/-2)
open-vm-tools/lib/include/posix.h (+2/-8)
open-vm-tools/lib/include/rpcin.h (+10/-3)
open-vm-tools/lib/include/unicodeBase.h (+5/-0)
open-vm-tools/lib/include/vm_product.h (+3/-0)
open-vm-tools/lib/include/vm_product_versions.h (+12/-2)
open-vm-tools/lib/include/vm_tools_version.h (+13/-0)
open-vm-tools/lib/include/vmware/tools/guestrpc.h (+12/-1)
open-vm-tools/lib/misc/vthreadBase.c (+8/-1)
open-vm-tools/lib/nicInfo/nicInfoPosix.c (+18/-0)
open-vm-tools/lib/rpcChannel/rpcChannel.c (+126/-5)
open-vm-tools/lib/rpcIn/rpcin.c (+55/-11)
open-vm-tools/lib/sslDirect/sslDirect.c (+82/-15)
open-vm-tools/libDeployPkg/linuxDeployment.c (+43/-19)
open-vm-tools/libDeployPkg/linuxDeploymentUtilities.c (+2/-7)
open-vm-tools/libDeployPkg/mspackWrapper.c (+2/-1)
open-vm-tools/modules/freebsd/vmxnet/Makefile (+3/-0)
open-vm-tools/services/plugins/dndcp/pointer.cpp (+25/-3)
open-vm-tools/services/plugins/guestInfo/guestInfoServer.c (+60/-14)
open-vm-tools/services/plugins/guestInfo/perfMonLinux.c (+30/-0)
open-vm-tools/services/plugins/hgfsServer/hgfsPlugin.c (+10/-0)
open-vm-tools/services/plugins/vix/vixTools.c (+70/-4)
open-vm-tools/services/plugins/vmbackup/stateMachine.c (+3/-2)
open-vm-tools/services/plugins/vmbackup/syncDriverOps.c (+23/-0)
open-vm-tools/services/plugins/vmbackup/syncManifest.c (+40/-2)
open-vm-tools/services/plugins/vmbackup/syncManifest.h (+5/-1)
open-vm-tools/services/plugins/vmbackup/vmBackupInt.h (+3/-0)
open-vm-tools/services/vmtoolsd/mainLoop.c (+68/-1)
open-vm-tools/services/vmtoolsd/toolsCoreInt.h (+4/-1)
open-vm-tools/services/vmtoolsd/toolsRpc.c (+87/-1)
open-vm-tools/vgauth/lib/impersonate.c (+3/-3)
open-vm-tools/vmhgfs-fuse/cache.c (+2/-2)
- Andreas Hasenack: Approve
- Canonical Server: Pending requested
- Canonical Server packageset reviewers: Pending requested
-
Diff: 8267 lines (+4679/-322) (has conflicts)53 files modifiedReleaseNotes.md (+105/-5)
debian/changelog (+97/-0)
debian/control (+3/-3)
debian/desktop.conf (+2/-0)
debian/open-vm-tools.postinst (+1/-1)
debian/open-vm-tools.service (+4/-0)
debian/open-vm-tools.vgauth.service (+1/-0)
debian/patches/debian/enable_vmhgfs-fuse_by_default (+3/-0)
debian/patches/series (+4/-1)
debian/patches/stable-10.3.5-quiesced-snapshot (+631/-0)
debian/rules (+4/-0)
dev/null (+0/-181)
open-vm-tools/ChangeLog (+2890/-0)
open-vm-tools/configure.ac (+7/-3)
open-vm-tools/lib/file/file.c (+14/-10)
open-vm-tools/lib/glibUtils/fileLogger.c (+17/-2)
open-vm-tools/lib/hgfsServer/hgfsServer.c (+2/-2)
open-vm-tools/lib/hgfsServer/hgfsServerLinux.c (+5/-5)
open-vm-tools/lib/include/buildNumber.h (+14/-0)
open-vm-tools/lib/include/conf.h (+26/-0)
open-vm-tools/lib/include/err.h (+18/-0)
open-vm-tools/lib/include/ioplGet.h (+2/-2)
open-vm-tools/lib/include/posix.h (+2/-8)
open-vm-tools/lib/include/rpcin.h (+10/-3)
open-vm-tools/lib/include/unicodeBase.h (+5/-0)
open-vm-tools/lib/include/vm_product.h (+3/-0)
open-vm-tools/lib/include/vm_product_versions.h (+12/-2)
open-vm-tools/lib/include/vm_tools_version.h (+13/-0)
open-vm-tools/lib/include/vmware/tools/guestrpc.h (+12/-1)
open-vm-tools/lib/misc/vthreadBase.c (+8/-1)
open-vm-tools/lib/nicInfo/nicInfoPosix.c (+18/-0)
open-vm-tools/lib/rpcChannel/rpcChannel.c (+126/-5)
open-vm-tools/lib/rpcIn/rpcin.c (+55/-11)
open-vm-tools/lib/sslDirect/sslDirect.c (+82/-15)
open-vm-tools/libDeployPkg/linuxDeployment.c (+43/-19)
open-vm-tools/libDeployPkg/linuxDeploymentUtilities.c (+2/-7)
open-vm-tools/libDeployPkg/mspackWrapper.c (+2/-1)
open-vm-tools/modules/freebsd/vmxnet/Makefile (+3/-0)
open-vm-tools/services/plugins/dndcp/pointer.cpp (+25/-3)
open-vm-tools/services/plugins/guestInfo/guestInfoServer.c (+60/-14)
open-vm-tools/services/plugins/guestInfo/perfMonLinux.c (+30/-0)
open-vm-tools/services/plugins/hgfsServer/hgfsPlugin.c (+10/-0)
open-vm-tools/services/plugins/vix/vixTools.c (+70/-4)
open-vm-tools/services/plugins/vmbackup/stateMachine.c (+3/-2)
open-vm-tools/services/plugins/vmbackup/syncDriverOps.c (+23/-0)
open-vm-tools/services/plugins/vmbackup/syncManifest.c (+40/-2)
open-vm-tools/services/plugins/vmbackup/syncManifest.h (+5/-1)
open-vm-tools/services/plugins/vmbackup/vmBackupInt.h (+3/-0)
open-vm-tools/services/vmtoolsd/mainLoop.c (+68/-1)
open-vm-tools/services/vmtoolsd/toolsCoreInt.h (+4/-1)
open-vm-tools/services/vmtoolsd/toolsRpc.c (+87/-1)
open-vm-tools/vgauth/lib/impersonate.c (+3/-3)
open-vm-tools/vmhgfs-fuse/cache.c (+2/-2)
- Andreas Hasenack: Approve
- Canonical Server: Pending requested
- git-ubuntu developers: Pending requested
-
Diff: 146 lines (+90/-1)4 files modifieddebian/changelog (+85/-0)
debian/control (+2/-1)
debian/open-vm-tools.service (+1/-0)
debian/open-vm-tools.vgauth.service (+2/-0)
Changed in open-vm-tools (Ubuntu): | |
status: | Incomplete → Triaged |
Changed in open-vm-tools (Ubuntu Bionic): | |
status: | New → Triaged |
Changed in open-vm-tools (Ubuntu Cosmic): | |
status: | New → Triaged |
description: | updated |
Hi Oliver,
Thank for reporting this bug. Can you put together a repro case for this issue so that we can verify any fixes? In a VM or container is best so that we can be sure of a clean environment.