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

Dejan Muhamedagic dejanmm at fastmail.fm
Wed Aug 29 07:21:35 UTC 2012


On Tue, Aug 28, 2012 at 02:28:59PM -0400, Nathan Bird wrote:
> On 08/27/2012 05:46 AM, Dejan Muhamedagic wrote:
> >Hi,
> >
> >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;
> >
> 
> 
> Yeah, that seems like a likely candidate; when I hit the error I
> said to myself "I bet someone is parsing using a regexp." :-)

Could you try with the following:

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

Cheers,

Dejan

> >>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?
> 
> 
> Yeah, worked just fine. I simply have a declaration at the top of
> the script hypervisor_uri="..." and the rest of the script then has
> the correct one. Updated the primitive declaration to be
> stonith:external/om1.
> 
> 
> >>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)
> >>
> >>
> >Quotes won't hurt, but won't help either. At any rate, we should
> >add the quotes for more exotic URIs.
> >
> 
> 
> Yeah, you're probably right that this url would pass through without
> the quotes. My experience with shell scripting has given me the
> superstition that an unquoted variable is just a bug waiting to
> happen.
> 
> Nathan
> 
> 
> 
> _______________________________________________
> 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