Date: Thu, 2 Feb 2012 11:49:02 +0100 From: peter knezel <peter.knezel@gmail.com> To: Damien Fleuriot <ml@my.gd> Cc: freebsd-questions@freebsd.org Subject: Re: carp+devd+ifstated on master problem Message-ID: <CAAwfu_=msPLbnsxdmeZxe6ELe4VuzW2zZW5Ze6HJx0SAHhm37Q@mail.gmail.com> In-Reply-To: <CAAwfu_nOgDU-K2=NErBOGteraAOQh1P8bMCTiCzWnpaeFJ3Fkw@mail.gmail.com> References: <CAAwfu_nrrqod80kg2qO28-LBuubiZe_BV--PoNxqjn_OUrV=hg@mail.gmail.com> <4F292596.2090000@my.gd> <CAAwfu_nOgDU-K2=NErBOGteraAOQh1P8bMCTiCzWnpaeFJ3Fkw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
I have looked a bit into the ifstated.conf file and realized, that it does not behave as I want. So currently the setting is the following: cat /usr/local/etc/ifstated.conf init-state one net = '( "ifconfig -a -u |grep carp0 > /dev/null" every 3 && "ifconfig -a -u |grep carp1 > /dev/null" every 3 && "ifconfig -a -u |grep carp2 > /dev/null" every 3)' state one { if ( ! $net ) { run "/sbin/ifconfig_carp0 vhid 1 pass newpass 192.xx.xx.1/24" run "/sbin/ifconfig carp1 vhid 2 pass newpass 192.xx.xx.2/24" run "/sbin/ifconfig carp2 vhid 3 pass newpass 192.xx.xx.3/24" run "/usr/local/testup.sh" set-state two } } state two { if ( $net ) { run "/usr/local/testup.sh" set-state one } } When I do ifconfig carp0 down/up script run testdown.sh/testup.sh but not valid for carp1,carp2. It immediately brings up carp1/carp2 and runs testup.sh after executing testdown.sh if triggered with ifconfig carp1 down (or ifconfig carp2 down). Peter On 02/02/2012, peter knezel <peter.knezel@gmail.com> wrote: > Hello Damien, > > of course, the tnewpass was my copy error - newpass is OK and is in > config files everywhere. > And the carp interfaces' advskew, vhid and > pass are already in /etc/rc.conf.local. > > What I simply would like to try is run scripts if carp interfaces change. > Actually my real aim is to synchronize file from slave server to > master if master reboots or slave becomes master due to carp problems > on the master. > Regards, > Peter > > > On 01/02/2012, Damien Fleuriot <ml@my.gd> wrote: >> >> >> On 2/1/12 12:12 PM, peter knezel wrote: >>> Hello all, >>> >>> I have configured devd and ifstated on a master FreeBSD server (slave >>> not changed so far) on which carp was configured with three >>> carp0,carp1 and carp2 virtual addresses. >>> >>> When I as root do ifconfig carp0 down and up, the corresponding >>> testdown.sh and testup.sh >>> scripts are run (defined in ifstated.conf). >>> The status of carp0 interface changes to INIT then to MASTER (after >>> ifconfig carp0 up). >>> >>> However this is not valid when doing the same with carp1 or carp2. >>> It goes to INIT+testdown.sh executed but then immediately afterwards >>> it goes to MASTER+testup.sh executed. >>> >>> What can be the problem? >>> >>> cd /usr/local/etc >>> cat ifstated.conf >>> init-state one >>> >>> net = '( "ifconfig -a -u |grep carp0 > /dev/null" every 3 && "ifconfig >>> -a >>> -u >>> |grep carp1 > /dev/null" every 3 && "ifconfig -a -u |grep carp2 > >>> /dev/null" >>> every 3)' >>> >>> state one { >>> if ( ! $net ) { >>> run "/sbin/ifconfig_carp0 vhid 1 pass newpass >>> 192.xx.xx.1/24" >>> run "/sbin/ifconfig carp1 vhid 2 pass newpass >>> 192.xx.xx.2/24" >>> run "/sbin/ifconfig carp2 vhid 3 pass newpass >>> 192.xx.xx.3/24" >>> run "/usr/local/testdown.sh" >>> set-state two >>> } >>> } >>> >>> state two { >>> if ( $net ) { >>> run "/sbin/ifconfig carp0 vhid 1 advskew 100 pass >>> tnewpass 192.xx.xx.1/24" >>> run "/sbin/ifconfig carp1 vhid 2 advskew 100 pass >>> newpass 192.xx.xx.2/24" >>> run "/sbin/ifconfig carp2 vhid 3 advskew 100 pass >>> newpass 192.xx.xx.3/24" >>> run "/usr/local/testup.sh" >>> set-state one >>> } >>> } >>> >>> In addition I had to configure devd.conf to have ifdown.sh and ifup.sh >>> scripts executed when reboot is done on the master. >>> >>> notify 30 { >>> match "system" "IFNET"; >>> match "subsystem" "carp0"; >>> match "type" "LINK_UP"; >>> action "/usr/local/etc/rc.d/ifdown.sh"; >>> }; >>> >>> notify 30 { >>> match "system" "IFNET"; >>> match "subsystem" "carp0"; >>> match "type" "LINK_DOWN"; >>> action "/usr/local/etc/rc.d/ifup.sh"; >>> >>> Thanks for any suggestion in advance. >>> >>> Ardi >> >> I'm not sure I get what you're trying to do here. >> >> Is there a reason you do not set your carp interfaces' advskew, vhid and >> pass in /etc/rc.conf ? >> >> Also, I notice in state 2 your password for carp0 is tnewpass, while the >> other ones are newpass. >> >> _______________________________________________ >> freebsd-questions@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-questions >> To unsubscribe, send any mail to >> "freebsd-questions-unsubscribe@freebsd.org" >> >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAwfu_=msPLbnsxdmeZxe6ELe4VuzW2zZW5Ze6HJx0SAHhm37Q>