[Pacemaker] Apparent error passing stonith resource parameters (external/libvirt)

Dejan Muhamedagic dejanmm at fastmail.fm
Mon Aug 27 05:46:57 EDT 2012


On Fri, Aug 24, 2012 at 11:25:19AM -0400, Nathan Bird wrote:
> On 08/24/2012 10:47 AM, Nathan Bird wrote:
> >I'm trying to setup an external/libvirt stonith fencing
> >thingiemadoodle but ran into an error
> >
> >My pacemaker configuration is (read back out it looks the same):
> >
> >primitive p-fence-om0101 stonith:external/libvirt \
> >  params hostlist="proxy1 mysql1" \
> >hypervisor_uri="qemu+ssh://root@om01/system?keyfile=/root/.ssh/om01" \
> >  op monitor interval="60"
> >#there's also a location rule that is working fine
> >
> >If i just try to connect with libvirt that uri is correct. When
> >the stonith script runs though it is getting an incomplete value
> >"qemu+ssh://root@om01/system?keyfile" observed via log messages.

lrmd passes the correct value, so it must happen later.

fence_legacy looks like a prime suspect:

        ($name,$val)=split /\s*=\s*/, $opt;

> >Apparently the equal symbol '=' is causing a problem for the
> >parameter passing somewhere.
> >
> >When I read the external/libvirt plugin's code. It appears to rely
> >on the environment variable '$hypervisor_uri' and the log message
> >printing of this indicates that is invalid.
> >
> >I don't know where to look for who is filling that environment
> >value; any suggestions?
> I worked around this by copying the resource file into a new one
> named after the hypervisor I'm trying to talk to and embedding the
> correct uri in the file.

So, did the new script work?

> Additionally I did a bit more bash quoting in the file, e.g.:
> -    out=$($VIRSH -c $hypervisor_uri start $domain_id 2>&1)
> +    out=$($VIRSH -c "$hypervisor_uri" start $domain_id 2>&1)
> Though I'm confident that isn't the only issue as even with those
> quotes nothing works-- this script has the wrong value in that
> variable before we get to those lines.

Quotes won't hurt, but won't help either. At any rate, we should
add the quotes for more exotic URIs.



> _______________________________________________
> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org

More information about the Pacemaker mailing list