Package: open-vm-tools
Version: 2008.04.14-87182-1
Severity: normal
When open-vm-tools init script runs to start, if the VM can use the vmxnet
driver, the init script will attempt to unload pcnet32 and load vmxnet. When
the init script runs to stop, it will likewise replace vmxnet with the
pcnet32 module.
This behavior is reasonable, however the problem is that replacing the
modules in this manner results in the network devices losing their
configuration. Since by default open-vm-tools init script starts after the
network is configured (at least with initrd) and stops before the network is
supposed to be unconfigured it can cause some problems such as NFS shares
not being able to be unmounted, etc.
In my particular case, a VM will hang on shutdown or reboot waiting for NFS
mounts to release. Additionally, it is impossible to run a VM with NFS root
with the scripts as-is.
I can think of several possible solutions to repair this behavior but I'm
not sure which is the most appropriate:
1) Unconfigure the network (ifdown -a) prior to switching the modules and
reconfigure it (ifup -a) after the switch is completed.
This could result in interfaces being brought up that might have
been brought down manually prior to the script running.
2) Do not attempt to unload pcnet32 module on startup and do not remove
modules during shutdown/reboot.
It is not necessary to remove vmxnet during shutdown or reboot -- it
is only important during a package upgrade so the unloading could be moved
perhaps to the package's preinst/postrm scripts instead.
3) Somehow replace the modules without losing the network configuration
Is this even possible?
4) Run the init script prior to network configuration on boot and after
network is unconfigured during shutdown.
May also not be possible.
The best fix is probably something I haven't thought of, but in my case, I
have worked around it by making sure that vmxnet is manually forced to load
in the initrd and by commenting out the scripts replacing pcnet32 with
vmxnet on stop.
Thanks,
John Laur
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]