Re: Start keepalived without IP on interface?

Paul Gildea <[email protected]> Fri, 29 Jun 2018 17:15:20 +0100
Newsgroups gmane.linux.keepalived.devel
Message-ID <CAP3D3gevf7oG0-XBPCsn2LkGBp+KhOFd-WZb2esP-keGev-tLw@mail.gmail.com>
--===============1410597918991136444==
Content-Type: multipart/alternative; boundary="0000000000008fbee1056fca274c"

--0000000000008fbee1056fca274c
Content-Type: text/plain; charset="UTF-8"

Hi,

I've tried v2.0.5 and that worked great for my interface not having an IP,
keepalived starts in a FAULT state and moves to MASTER when it gets an IP,
great, thanks!

For the other issue, I retested on v2.0.5 and got logs this time which
indicate I couldn't run a second daemon for some reason:

paul@paul:/etc$ sudo keepalived -f /etc/keepalived2.conf   -l -n -p
/var/run/test.pid
Fri Jun 29 17:06:41 2018: Starting Keepalived v2.0.5 (06/29,2018)
Fri Jun 29 17:06:41 2018: WARNING - keepalived was build for newer Linux
3.13.11, running on Linux 3.13.0-30-generic #55-Ubuntu SMP Fri Jul 4
21:40:53 UTC 2014
Fri Jun 29 17:06:41 2018: Opening file '/etc/keepalived2.conf'.
Fri Jun 29 17:06:41 2018: daemon is already running

I was thinking of having a keepalive daemon running for every interface (up
a dozen interfaces or more) and each would have it's own config file. Maybe
everything should be in one config/daemon instance.
I'll look into your above suggestion to try and understand it better,
thanks!

--
Paul

On 29 June 2018 at 15:34, Quentin Armitage <[email protected]> wrote:

> Paul,
>
> Yes it should be possible to run more than one instance of keepalived on
> the same host, and certainly specifying a separate pid file iswhat is
> needed. There is a complication though if you want to open the same socket
> (e.g. raw socket protocol 112) on the same device.
>
> What I do to run more than one instance of keepalived on the same host is
> to use network namespaces. The script test/mk_if will add dummy interfaces
> in network namespaces high, medium and low. If you run it as test/mk_if add
> 0 10, it will add eth0..eth9 in high, medium and low, with the eth0s
> connected, etc (use interface br0 etc in medium).
>
> If your keepalived configuration file add:
> @high net_namespace high
> @medium net_namespace medium
> @low net_namespace low
>
> And when you run keepalived, specify -i high or -i low to say which
> namespace you want to be in (you won't need to specify the pid files if you
> use -i).
>
> @high etc is conditional configuration, and a line starting @high will
> only be used if -i high has been specified. @^high ... means include if not
> high.
>
> You can also do things such as in a vrrp instance:
> @high priority 100
> @medium priority 90
> @low priority 80
>
> so that the same configuration file can be used on multiple systems.
>
> I hope this helps,
>
> Quentin
>
> P.S. Instread of --dont-fork and --log-console you might like to use
> -gLOG_FILE -G --flush-log-file and then you could do tail -f LOG_FILE (the
> log files are created with _vrrp, _check, _bfd and high/medium/low (i.e.
> what is specified with -i ) added to their names).
>
> On Fri, 2018-06-29 at 15:18 +0100, Paul Gildea wrote:
>
> Thanks Quentin, I'll download and try that. Seems promising.
> Another question, is it possible to run multiple instances of the
> keepalive daemon on the same host? I tried setting a pidfile for it and the
> command seemed to take (no errors), however the second instance didn't
> start and there were no logs printed.
>
> paul@paul:/etc$ keepalived -f /etc/keepalived2.conf --dont-fork
> --log-console -p /var/run/test.pid
> paul@paul:/etc$
> paul@paul:/etc$ ps ax | grep keep
> 18248 pts/39   Z    0:00 [keepalived] <defunct>
> 21726 ?        Ss    0:00 /usr/sbin/keepalived -f /etc/keepalived.conf
> 21727 ?        S      0:00 /usr/sbin/keepalived -f /etc/keepalived.conf
> 21728 ?        S      0:00 /usr/sbin/keepalived -f /etc/keepalived.conf
>
> --
> Paul
>
>
> On 29 June 2018 at 12:10, Quentin Armitage <[email protected]>
> wrote:
>
> Can you try keepalived v2.0.5. The version 2.0.x series supports "dynamic"
> interfaces, in other words using an interface that doesn't exist when
> keepalived starts, but is subsequently created. You might need to add the
> keyword "dynamic_interfaces" in the global_defs section of your
> configuration.
>
> To be honest, I'm not sure if it will work, since I have never thought
> about this situation. If it doesn't work, then I think keepalived should be
> modified so that the vrrp instance is in fault state until the underlying
> interface has an address.
>
> Quentin Armitage
>
> On Fri, 2018-06-29 at 11:02 +0100, Paul Gildea wrote:
>
> I'm new to keepalived. I want to use keepalived on an interface that will
> get an IP at some point but will not have one initially, can I set this up
> somehow in the config? If I try to start it now keepalived errors out as
> keepalived doesn't know what source IP address to use when sending VRRP
> packets. If this is not possible I presume I could set up a dummy IP and
> remove it after keepalived starts or script keepalived to start after the
> interface gets a valid IP, just wondering is it possible to start without
> said IP and I just can't find out how to do it.
>
> Conf:
>
> ! Configuration File for keepalived
>
>     vrrp_instance VI_1 {
>         state MASTER
>         interface eth0
>         virtual_router_id 51
>         priority 150
>         advert_int 1
>         authentication {
>             auth_type PASS
>             auth_pass pwd
>         }
>         virtual_ipaddress {
>            192.168.0.13
>         }
>         notify /etc/state_change.py
>     }
>
> Log:
>
>     keepalived -f /etc/keepalived.conf --log-console --dont-fork
>     Thu Jun 28 11:25:53 2018: Starting Keepalived v1.4.4 (05/08,2018)
>
>     Thu Jun 28 11:25:53 2018: Running on Linux 4.7.8 #9 SMP Wed Jun 27
> 17:25:18 IST
>     2018 (built for Linux 4.7.8)
>
>     Thu Jun 28 11:25:53 2018: Opening file '/etc/keepalived.conf'.
>
>     Thu Jun 28 11:25:53 2018: Starting Healthcheck child process,
> pid=18886
>     Thu Jun 28 11:25:53 2018: Starting VRRP child process, pid=18887
>
>     Thu Jun 28 11:25:53 2018: Opening file '/etc/keepalived.conf'.
>
>     Thu Jun 28 11:25:53 2018: Registering Kernel netlink reflector
>
>     Thu Jun 28 11:25:53 2018: Registering Kernel netlink command channel
>
>     Thu Jun 28 11:25:53 2018: Registering gratuitous ARP shared channel
>
>     Thu Jun 28 11:25:53 2018: Opening file '/etc/keepalived.conf'.
>
>     Thu Jun 28 11:25:53 2018: WARNING - default user 'keepalived_script'
> for script
>     execution does not exist - please create.
>
>     Thu Jun 28 11:25:53 2018: (VI_1): Cannot find an IP address to use for
> interface
>      eth0
>
>     Thu Jun 28 11:25:54 2018: Stopped
>
>     Thu Jun 28 11:25:54 2018: Keepalived_vrrp exited with permanent error
> CONFIG. Te
>     rminating
>
>     Thu Jun 28 11:25:54 2018: Stopping
>
>     Thu Jun 28 11:25:54 2018: Stopped
>
> Thanks,
>
> --
> Paul
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>
> _______________________________________________
> Keepalived-devel mailing [email protected]://lists.sourceforge.net/lists/listinfo/keepalived-devel
>
>
>

--0000000000008fbee1056fca274c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><span style=3D"font-size:12.8px">Hi,</span><div style=3D"f=
ont-size:12.8px"><br></div><div style=3D"font-size:12.8px">I&#39;ve tried v=
2.0.5 and that worked great for my interface not having an IP, keepalived s=
tarts in a FAULT state and moves to MASTER when it gets an IP, great, thank=
s!</div><div style=3D"font-size:12.8px"><br></div><div style=3D"font-size:1=
2.8px">For the other issue, I retested on v2.0.5 and got logs this time whi=
ch indicate I couldn&#39;t run a second daemon for some reason:</div><div s=
tyle=3D"font-size:12.8px"><br></div><div style=3D"font-size:12.8px"><div>pa=
ul@paul:/etc$ sudo keepalived -f /etc/keepalived2.conf =C2=A0 -l -n -p /var=
/run/test.pid</div><div>Fri Jun 29 17:06:41 2018: Starting Keepalived v2.0.=
5 (06/29,2018)</div><div>Fri Jun 29 17:06:41 2018: WARNING - keepalived was=
 build for newer Linux 3.13.11, running on Linux 3.13.0-30-generic #55-Ubun=
tu SMP Fri Jul 4 21:40:53 UTC 2014</div><div>Fri Jun 29 17:06:41 2018: Open=
ing file &#39;/etc/keepalived2.conf&#39;.</div><div>Fri Jun 29 17:06:41 201=
8: daemon is already running</div></div><div style=3D"font-size:12.8px"><br=
></div><div style=3D"font-size:12.8px">I was thinking of having a keepalive=
 daemon running for every interface (up a dozen interfaces or more) and eac=
h would have it&#39;s own config file. Maybe everything should be in one co=
nfig/daemon instance.</div><div style=3D"font-size:12.8px">I&#39;ll look in=
to your above suggestion to try and understand it better, thanks!</div><div=
 style=3D"font-size:12.8px"><br></div><div style=3D"font-size:12.8px">--</d=
iv><div style=3D"font-size:12.8px">Paul</div></div><div class=3D"gmail_extr=
a"><br><div class=3D"gmail_quote">On 29 June 2018 at 15:34, Quentin Armitag=
e <span dir=3D"ltr">&lt;<a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a>&gt;</span> wrote:<br><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex"><div bgcolor=3D"#ffffff" text=3D"#2e3436" link=3D"#2a76c6"=
 vlink=3D"#2e3436"><div>Paul,</div><div><br></div><div>Yes it should be pos=
sible to run more than one instance of keepalived on the same host, and cer=
tainly specifying a separate pid file iswhat is needed. There is a complica=
tion though if you want to open the same socket (e.g. raw socket protocol 1=
12) on the same device.</div><div><br></div><div>What I do to run more than=
 one instance of keepalived on the same host is to use network namespaces. =
The script test/mk_if will add dummy interfaces in network namespaces high,=
 medium and low. If you run it as test/mk_if add 0 10, it will add eth0..et=
h9 in high, medium and low, with the eth0s connected, etc (use interface br=
0 etc in medium).</div><div><br></div><div>If your keepalived configuration=
 file add:</div><div>@high net_namespace high</div><div>@medium net_namespa=
ce medium</div><div>@low net_namespace low</div><div><br></div><div>And whe=
n you run keepalived, specify -i high or -i low to say which namespace you =
want to be in (you won&#39;t need to specify the pid files if you use -i).<=
/div><div><br></div><div>@high etc is conditional configuration, and a line=
 starting @high will only be used if -i high has been specified. @^high ...=
 means include if not high.</div><div><br></div><div>You can also do things=
 such as in a vrrp instance:</div><div>@high priority 100</div><div>@medium=
 priority 90</div><div>@low priority 80</div><div><br></div><div>so that th=
e same configuration file can be used on multiple systems.</div><div><br></=
div><div>I hope this helps,</div><div><br></div><div>Quentin</div><div><br>=
</div><div>P.S. Instread of --dont-fork and --log-console you might like to=
 use -gLOG_FILE -G --flush-log-file and then you could do tail -f LOG_FILE =
(the log files are created with _vrrp, _check, _bfd and high/medium/low (i.=
e. what is specified with -i ) added to their names).</div><div><div class=
=3D"h5"><div><br></div><div>On Fri, 2018-06-29 at 15:18 +0100, Paul Gildea =
wrote:</div><blockquote type=3D"cite" style=3D"margin:0 0 0 .8ex;border-lef=
t:2px #729fcf solid;padding-left:1ex"><div dir=3D"ltr">Thanks Quentin, I&#3=
9;ll download and try that. Seems promising.<div>Another question, is it po=
ssible to run multiple instances of the keepalive daemon on the same host? =
I tried setting a pidfile for it and the command seemed to take (no errors)=
, however the second instance didn&#39;t start and there were no logs print=
ed.</div><div><font face=3D"monospace, monospace"><br></font></div><div><di=
v><font face=3D"monospace, monospace">paul@paul:/etc$ keepalived -f /etc/ke=
epalived2.conf --dont-fork --log-console -p /var/run/test.pid</font></div><=
div><font face=3D"monospace, monospace">paul@paul:/etc$=C2=A0</font></div><=
/div><div><div><font face=3D"monospace, monospace">paul@paul:/etc$ ps ax | =
grep keep</font></div><div><font face=3D"monospace, monospace">18248 pts/39=
 =C2=A0 Z =C2=A0 =C2=A00:00 [keepalived] &lt;defunct&gt;</font></div><div><=
font face=3D"monospace, monospace">21726 ? =C2=A0 =C2=A0 =C2=A0 =C2=A0Ss =
=C2=A0 =C2=A00:00 /usr/sbin/keepalived -f /etc/keepalived.conf</font></div>=
<div><font face=3D"monospace, monospace">21727 ? =C2=A0 =C2=A0 =C2=A0 =C2=
=A0S =C2=A0 =C2=A0 =C2=A00:00 /usr/sbin/keepalived -f /etc/keepalived.conf<=
/font></div><div><font face=3D"monospace, monospace">21728 ? =C2=A0 =C2=A0 =
=C2=A0 =C2=A0S =C2=A0 =C2=A0 =C2=A00:00 /usr/sbin/keepalived -f /etc/keepal=
ived.conf</font></div></div><div><font face=3D"arial, helvetica, sans-serif=
"><br></font></div><div><font face=3D"arial, helvetica, sans-serif">--</fon=
t></div><div><font face=3D"arial, helvetica, sans-serif">Paul</font></div><=
div><br></div></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quot=
e">On 29 June 2018 at 12:10, Quentin Armitage <span dir=3D"ltr">&lt;<a href=
=3D"mailto:[email protected]" target=3D"_blank">[email protected].=
uk</a>&gt;</span> wrote:<br><blockquote type=3D"cite" style=3D"margin:0 0 0=
 .8ex;border-left:2px #729fcf solid;padding-left:1ex"><div bgcolor=3D"#ffff=
ff" text=3D"#2e3436" link=3D"#2a76c6" vlink=3D"#2e3436"><div>Can you try ke=
epalived v2.0.5. The version 2.0.x series supports &quot;dynamic&quot; inte=
rfaces, in other words using an interface that doesn&#39;t exist when keepa=
lived starts, but is subsequently created. You might need to add the keywor=
d &quot;dynamic_interfaces&quot; in the global_defs section of your configu=
ration.</div><div><br></div><div>To be honest, I&#39;m not sure if it will =
work, since I have never thought about this situation. If it doesn&#39;t wo=
rk, then I think keepalived should be modified so that the vrrp instance is=
 in fault state until the underlying interface has an address.</div><div><b=
r></div><div>Quentin Armitage</div><div><div class=3D"m_5287802451220458545=
h5"><div><br></div><div>On Fri, 2018-06-29 at 11:02 +0100, Paul Gildea wrot=
e:</div></div></div><blockquote type=3D"cite" style=3D"margin:0 0 0 .8ex;bo=
rder-left:2px #729fcf solid;padding-left:1ex"><div><div class=3D"m_52878024=
51220458545h5"><div dir=3D"ltr"><div>I&#39;m new to keepalived. I want to u=
se keepalived on an interface that will get an IP at some point but will no=
t have one initially, can I set this up somehow in the config? If I try to =
start it now keepalived errors out as keepalived doesn&#39;t know what sour=
ce IP address to use when sending VRRP packets. If this is not possible I p=
resume I could set up a dummy IP and remove it after keepalived starts or s=
cript keepalived to start after the interface gets a valid IP, just wonderi=
ng is it possible to start without said IP and I just can&#39;t find out ho=
w to do it.=C2=A0</div><div><br></div><div>Conf:</div><div><br></div><div>!=
 Configuration File for keepalived</div><div><br></div><div>=C2=A0 =C2=A0 v=
rrp_instance VI_1 {</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 state MASTER</div=
><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 interface eth0</div><div>=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 virtual_router_id 51</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 pr=
iority 150</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 advert_int 1</div><div>=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 authentication {</div><div>=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 auth_type PASS</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 auth_pass pwd</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 }</div><d=
iv>=C2=A0 =C2=A0 =C2=A0 =C2=A0 virtual_ipaddress {</div><div>=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0192.168.0.13</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 }</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 notify /etc/state_change.py</di=
v><div>=C2=A0 =C2=A0 }</div><div><br></div><div>Log:</div><div><br></div><d=
iv>=C2=A0 =C2=A0 keepalived -f /etc/keepalived.conf --log-console --dont-fo=
rk =C2=A0</div><div>=C2=A0 =C2=A0 Thu Jun 28 11:25:53 2018: Starting Keepal=
ived v1.4.4 (05/08,2018) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0</div><div>=C2=A0 =C2=A0 Thu Jun 28 11:25:53 2018: Running on Linux 4=
.7.8 #9 SMP Wed Jun 27 17:25:18 IST=C2=A0</div><div>=C2=A0 =C2=A0 2018 (bui=
lt for Linux 4.7.8) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</div><div>=C2=A0 =C2=
=A0 Thu Jun 28 11:25:53 2018: Opening file &#39;/etc/keepalived.conf&#39;. =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</div><div>=
=C2=A0 =C2=A0 Thu Jun 28 11:25:53 2018: Starting Healthcheck child process,=
 pid=3D18886 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0</div><div>=C2=A0 =C2=A0 Thu =
Jun 28 11:25:53 2018: Starting VRRP child process, pid=3D18887 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</div><div>=C2=A0 =C2=A0 Thu J=
un 28 11:25:53 2018: Opening file &#39;/etc/keepalived.conf&#39;. =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</div><div>=C2=A0 =
=C2=A0 Thu Jun 28 11:25:53 2018: Registering Kernel netlink reflector =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</div><div>=C2=
=A0 =C2=A0 Thu Jun 28 11:25:53 2018: Registering Kernel netlink command cha=
nnel =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</div><div>=C2=A0 =C2=A0 Thu =
Jun 28 11:25:53 2018: Registering gratuitous ARP shared channel =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0</div><div>=C2=A0 =C2=A0 Thu Jun 28 11=
:25:53 2018: Opening file &#39;/etc/keepalived.conf&#39;. =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</div><div>=C2=A0 =C2=A0 Thu J=
un 28 11:25:53 2018: WARNING - default user &#39;keepalived_script&#39; for=
 script=C2=A0</div><div>=C2=A0 =C2=A0 execution does not exist - please cre=
ate. =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0</div><=
div>=C2=A0 =C2=A0 Thu Jun 28 11:25:53 2018: (VI_1): Cannot find an IP addre=
ss to use for interface</div><div>=C2=A0 =C2=A0 =C2=A0eth0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0</div><div>=C2=A0 =C2=A0 Thu Jun 28 11:25:54 =
2018: Stopped =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0</div><div>=C2=A0 =C2=A0 Thu Jun 28 11:25:=
54 2018: Keepalived_vrrp exited with permanent error CONFIG. Te</div><div>=
=C2=A0 =C2=A0 rminating =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0</div><div>=C2=A0 =C2=
=A0 Thu Jun 28 11:25:54 2018: Stopping =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</div><div>=C2=A0 =C2=
=A0 Thu Jun 28 11:25:54 2018: Stopped=C2=A0</div><div><br></div><div>Thanks=
,</div><div><br></div><div>--</div><div>Paul</div></div>
</div></div><pre>------------------------------<wbr>-----------------------=
-------<wbr>------------------
Check out the vibrant tech community on one of the world&#39;s most
engaging tech sites, Slashdot.org! <a href=3D"http://sdm.link/slashdot" tar=
get=3D"_blank">http://sdm.link/slashdot</a></pre><pre>_____________________=
_________<wbr>_________________
Keepalived-devel mailing list
<a href=3D"mailto:[email protected]" target=3D"_blank"=
>[email protected]<wbr>orge.net</a>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/keepalived-devel" t=
arget=3D"_blank">https://lists.sourceforge.net/<wbr>lists/listinfo/keepaliv=
ed-deve<wbr>l</a>
</pre></blockquote></div></blockquote></div><br></div>
</blockquote></div></div></div></blockquote></div><br></div>

--0000000000008fbee1056fca274c--


--===============1410597918991136444==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
--===============1410597918991136444==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Keepalived-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/keepalived-devel

--===============1410597918991136444==--