Hi,
On Tue, Jul 17, 2012 at 5:50 PM, Anne Blankert <[email protected]> wrote:
> On 16-7-2012 14:55, Dan Frincu wrote:
>> Hi,
>>
>> On Mon, Jul 16, 2012 at 4:18 AM, Anne Blankert wrote:
>>> Hello list,
>>>
>>> I am a newbie playing with heartbeat / pacemaker on ubuntu 12.04 LTS. I
>>> have defined the following resource primitives and switchover/fail-over
>>> works almost fine.
>>>
>>> primitive ip1 ocf:heartbeat:IPaddr2 \
>>> params ip="10.10.10.2" nic="eth0:0"
>>> primitive ip1arp ocf:heartbeat:SendArp \
>>> params ip="10.10.10.2" nic="eth0:0"
>>>
>>> The firewall/router in the datacenter does not accept gratuitous ARP
>>> (according to the manual: to prevent ip-spoofing). However, as a
>>> work-around, I have a script that forces the router to reset the arp
>>> table for the virtual ip. How can I tell the crm to run this script when
>>> the IPaddr2 resource is moved?
>>>
>>> I found a parameter "local_start_script" that can be passed to
>>> ocf:IPaddr2, but the IPaddr2 script ignores this parameter. In a post to
>>> this list, a patch to IPaddr2 was proposed, but not accepted.
>>>
>>> primitive ip1 ocf:heartbeat:IPaddr2 \
>>> params ip="10.10.10.2" nic="eth0:0" \
>>> local_start_script="/home/user1/arpreset"
>>>
>>> There also exists the ocf:anything script, but this script expects a
>>> parameter 'binfile' that should point to a deamon, not a one shot script.
>>>
>>> So, is there a simple - best practice - way to run a one-shot script on
>>> switchover / fail-over / fail-back?
>> Make the script LSB compliant [1], and then add it to the
>> configuration or use the ocf:heartbeat:Dummy to create a RA out of
>> that script. On the long run, the second option might prove more
>> useful, but it depends on your specific requirements.
>>
>> HTH,
>> Dan
>>
>> [1] http://www.linux-ha.org/wiki/LSB_Resource_Agents
> The suggestion to take the ocf:heartbeat:Dummy script worked out fine.
Great!
> Steps I took:
>
> 1. cd /usr/lib/ocf/resource.d/heartbeat
> 2. cp Dummy ArpReset
> 3. edit file ArpReset and replace all 'dummy' by 'arpreset' and 'Dummy'
> by 'ArpReset'
> 4. insert the call(s) to the one-shot script(s) in file ArpReset
> arpreset_start() {
> arpreset_monitor
> if [ $? = $OCF_SUCCESS ]; then
> **** call script here
> **** sleep 4
> **** call script again
> return $OCF_SUCCESS
> fi
> touch ${OCF_RESKEY_state}
> }
> 5. test if the script is correct
> ocf-tester -n resourcename ArpReset
>
> 6. crm configure edit
> primitive arpreset ocf:heartbeat:ArpReset
> group groupname resource1 resource2 arpreset
Except for one thing, a group has implicit colocation and ordering
definitions as it is a syntactic shortcut for the 2 lines below, so
remove those two and leave only the group, that should suffice.
> colocation colocoationname inf: resource1 resource2 arpreset
> order ordername inf: resource1:start resource2:start arpreset:start
>
>
> Thanks,
>
> Anne
>
>
>
> _______________________________________________
> Linux-HA mailing list
> [email protected]
> http://lists.linux-ha.org/mailman/listinfo/linux-ha
> See also: http://linux-ha.org/ReportingProblems
--
Dan Frincu
CCNA, RHCE
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems