[Pacemaker] Percona MySQL RA on MySQL 5.5 problem

2012-09-14 Thread Nathan Bird
I tried searching a bit and it seems like this one hasn't been reported
yet, my apologies if it has.

The RA currently issues a "RESET SLAVE" command, but the meaning of this
changed in 5.5. https://dev.mysql.com/doc/refman/5.5/en/reset-slave.html

It now needs to do a "RESET SLAVE ALL".

Before I changed this the resource agent got into a weird state because
'show slave status' wasn't producing the expected blank output on a master.

Resource agent pulled from
https://github.com/y-trudeau/resource-agents-prm/raw/master/heartbeat/mysql
on 8/21/12 (though doesn't appear to have changed since).


Cheers,
Nathan Bird


___
Pacemaker mailing list: Pacemaker@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


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

2012-08-29 Thread Nathan Bird

On 08/29/2012 03:21 AM, Dejan Muhamedagic wrote:

On Tue, Aug 28, 2012 at 02:28:59PM -0400, Nathan Bird wrote:

On 08/27/2012 05:46 AM, Dejan Muhamedagic wrote:

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;


That does appear to fix it for me; now in the log files I get:

external/libvirt[31544]: [31560]: notice: 
"qemu+ssh://root@om02/system?keyfile=/root/.ssh/om02": Running 
hypervisor: QEMU 1.0.0





___
Pacemaker mailing list: Pacemaker@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


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

2012-08-28 Thread Nathan Bird

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." :-)




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@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


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

2012-08-24 Thread Nathan Bird

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.


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.


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.




___
Pacemaker mailing list: Pacemaker@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


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

2012-08-24 Thread Nathan Bird
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.


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?



___
Pacemaker mailing list: Pacemaker@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