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

Reply via email to