-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 05/06/2010 01:49 AM, Dag Stenstad wrote:
> Following are a small set of patches for the VirtualDomain RA. 
> 
> Most of these solves problems I've faced during setup of a KVM/libvirt
> cluster, specifically:
> 
>  - Cluster believes libvirt is running, even if it is not.
>     - upstart-job exits with "0" on "service libvirt-bin status" 
>       even if process is not running. Fixed in local upstart-job
>       but RA needed better error handling.
>     - Libvirt has a tendency to crash if you prod it with a 
>       sharp stick. VirtualDomain RA monitoring would break if
>       a check ran when libvirt was not available. Libvirt is
>       not critical for a running resource.
>  - SSL as migration transport might need a FQDN target node
>    due to certificates being issued to the FQDN.

I've looked at the patches again, and I also feel that I'm doing it the
wrong way.

The use of "host" to check the FQDN is just faulty, and I actually now
prefer the use of "parent_domain" wich I submitted earlier. An
alternative is to use the "dnsdomainname" function to look up the local
dns domainname, wich should work if the resolver works. I'm making a new
patch using this.

With regards to the loop in VirtualDomain_Define I've encountered a new
problem wich I am trying to work around. The dependencies in my cluster
is as following:

VirtualMachine -> libvirtd -> LVM VG -> clvm -> dlm

I just made my cluster unclean; Thus at boot it needs to check all
resources. It won't make the cluster clean before it knows for sure that
the VirtualMachine resource is not running. But VirtualMachine will
never report a Stopped status, as libvirtd is not running; Instead it
times out (or reports a generic error).

So, what I really would want to do is to wait X seconds (30?) for the
libvirtd socket to be available, and if that doesn't work, try to check
manually if the VM is running.. I.e. by checking if the qemu socket
exists in /var/lib/libvirt/qemu/ or if there exists a .pid and/or .xml
file in /var/run/libvirt/qemu/. If it doesn't, report the resource as
Stopped.

This is ofcourse KVM specific, and probably Ubuntu specific, and
extremly ugly. What do people propose?

To be able to do this, I have to take the domain name directly out of
the config file.

Horror.

- --
Dag Stenstad
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkvpZHUACgkQDmg6+jYrZoB4/wCfQc7MyVl027bJTM5K14EfubII
DOMAn0sdnowgqvGbf0TaskvveJXrnNVc
=Ochh
-----END PGP SIGNATURE-----
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to