Dejan Muhamedagic wrote: > Hi, > > On Wed, Mar 18, 2009 at 11:37:27AM -0700, Neil Katin wrote: >> >> Dejan Muhamedagic wrote: >>> Hi, >>> >>> On Tue, Mar 17, 2009 at 11:56:04AM +0530, Arun G wrote: >>>> Hi, >>>> I observed below error message when I upgraded drbd to drbd-8.3.0 in >>>> heartbeat 2.1.4 cluster on 2.6.18-8.el5xen. >> -- snip -- >> >>> Thanks for the patch. But do all supported drbd versions have the >>> role command? >>> >>> Thanks, >>> >>> Dejan >> No, only 8.3 has the change. 8.2 supports the old "state" argument, but >> prints a warning message out, and this warning message upsets the drbd OCF >> scripts parting of drbdadm's output. > > Since versions before 8.3 don't have the role command, I suppose > that 8.3 actually prints the warning. > >> drbdadm doesn't support a --version argument, but it does support a "status" >> command, which has version info in it. However, I am not sure if "drbdadm >> status" >> is guaranteed to not block or not, so I didn't want to have the OCF script >> depend >> on it. > > drbdadm | grep Version > > works for 8.2.7 and 8.0.14, so I guess that it is available in > other versions too. > >> So, I see three alternatives: add a new script "drbdadm8.3". Add an extra >> parameter >> saying "use role instead of status". Or call "drbdadm status" to >> dynamically detect >> our version. >> >> Do you see other choices? Do you have a preference for a particular >> alternative? >> I'm willing to code and test the patch if we can decide what we want. > > Let's see if we can figure out the version. Adding new RA would > be a maintenance issue. Adding new parameter would make > configuration depend on particular release. > > We could do something like this: > > drbdadm | grep Version | awk '{print $2}' | > awk -F. ' > $1 != 8 { exit 2; }
This should also allow version 7. People may still use v7. The drbdadm | grep thing also works. Tested with latest v7 in a vm. It prints # drbdadm | grep Version | awk '{print $2}' 0.7.25 though. Regards Dominik > $2 < 3 { exit 1; } # use status > # otherwise use role > ' > rc=$? > if [ $rc -eq 2 ]; then > error installed (unsupported version) > elif [ $rc -eq 1 ]; then > cmd=status > else > cmd=role > fi > > Could you please try this out. I can't test this right now. > > Thanks, > > Dejan _______________________________________________ Linux-HA mailing list Linux-HA@lists.linux-ha.org http://lists.linux-ha.org/mailman/listinfo/linux-ha See also: http://linux-ha.org/ReportingProblems