[Pacemaker] Percona MySQL RA on MySQL 5.5 problem
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)
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)
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)
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)
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