Mailing List Archive

loopback
Hi,

I have spread configured with this segment only:
Spread_Segment 139.184.15.255:4803 {
karpinski 139.184.14.85
chip 139.184.14.86
lynndie 139.184.14.87
sivits 139.184.14.88
}

And wackamole configured to share about 20 IP addresses between those four
machines. Sometimes, when I use wackatrl -l, I get output like this:

Owner: 127.0.0.1
* lo0:139.184.14.101/32
-> lo0:139.184.14.70/32

Implying that the loopback interface (on some host) has control of one of
my VIFs. My guess is that this happens because spread and wackamole are
starting before en0 is up.

It seems to me that this is probably an issue with spread - it shouldn't
really start before it's own interfaces are configured, should it? Or is
there some configuration option in spread or wackamole that I'm missing.

My proposed solution (using launchd on OSX, which doesn't let me specify
launch order or dependencies) is to start a script (instead of spread)
which waits for en0 to come up, then execs spread.

If I get that right, can I rely on wackamole to wait for spread? Or, do I
need a similar script to wait for spread to start before execing wackamole?

--
Ian Eiloart
IT Services, University of Sussex

_______________________________________________
wackamole-users mailing list
wackamole-users@lists.backhand.org
http://lists.backhand.org/mailman/listinfo/wackamole-users
Re: loopback [ In reply to ]
--On 22 September 2006 17:04:13 +0100 Ian Eiloart <iane@sussex.ac.uk> wrote:

> Sometimes, when I use wackatrl -l, I get output like this:
>
> Owner: 127.0.0.1
> * lo0:139.184.14.101/32
> -> lo0:139.184.14.70/32
>
> Implying that the loopback interface (on some host) has control of one of
> my VIFs. My guess is that this happens because spread and wackamole are
> starting before en0 is up.

Actually, if I restart wackamole, but leave spread alone, then the problem
goes away, so this must be a wackamole issue, not a spread issue.

--
Ian Eiloart
IT Services, University of Sussex

_______________________________________________
wackamole-users mailing list
wackamole-users@lists.backhand.org
http://lists.backhand.org/mailman/listinfo/wackamole-users
Re: loopback [ In reply to ]
On Sep 28, 2006, at 6:37 AM, Ian Eiloart wrote:
> --On 22 September 2006 17:04:13 +0100 Ian Eiloart
> <iane@sussex.ac.uk> wrote:
>
>> Sometimes, when I use wackatrl -l, I get output like this:
>>
>> Owner: 127.0.0.1
>> * lo0:139.184.14.101/32
>> -> lo0:139.184.14.70/32
>>
>> Implying that the loopback interface (on some host) has control of
>> one of
>> my VIFs. My guess is that this happens because spread and
>> wackamole are
>> starting before en0 is up.
>
> Actually, if I restart wackamole, but leave spread alone, then the
> problem goes away, so this must be a wackamole issue, not a spread
> issue.

Wackamole requires a few things to be configured/running when it is
started:

o IP networking and static IPs with established routes on the
interfaces that will host the VIFs.
o It's hostname to be set and the IP address to which that resolves
(gethostbyname) should be an identifying IP address (not 127.0.0.1)
o Spread must be running.

Wackamole doesn't ship with startup scripts for Mac OS X, so you are
on your own to implement the startup procedure and satsisfy the above
requirements.

It's worth noting that I think the issue is that the hostname is
referring to localhost (or at least resolving there) when wackamole
starts which means host level networking has not yet been completely
configured and you are trying to start a networked service that needs
it.

// Theo Schlossnagle
// CTO -- http://www.omniti.com/~jesus/
// OmniTI Computer Consulting, Inc. -- http://www.omniti.com/



_______________________________________________
wackamole-users mailing list
wackamole-users@lists.backhand.org
http://lists.backhand.org/mailman/listinfo/wackamole-users
Re: loopback [ In reply to ]
--On 28 September 2006 09:14:11 -0400 Theo Schlossnagle <jesus@omniti.com>
wrote:


>
> Wackamole requires a few things to be configured/running when it is
> started:
>
> o IP networking and static IPs with established routes on the interfaces
> that will host the VIFs.
> o It's hostname to be set and the IP address to which that resolves
> (gethostbyname) should be an identifying IP address (not 127.0.0.1)
> o Spread must be running.
>
> Wackamole doesn't ship with startup scripts for Mac OS X, so you are on
> your own to implement the startup procedure and satsisfy the above
> requirements.
>
> It's worth noting that I think the issue is that the hostname is
> referring to localhost (or at least resolving there) when wackamole
> starts which means host level networking has not yet been completely
> configured and you are trying to start a networked service that needs it.
>

That sounds about right. What I'm planning on doing is writing a wrapper
script that will wait until an interface other than lo0 is available, then
exec wackamole. This will allow me to use OSX's launchd, which has no way
of specifying dependencies when launching daemons. Launchd expects daemons
to be robust to missing dependencies.

My rough plan is to check for a useful interface every second, up to some
timeout period.

I don't know if spread lets you ask what the Spread_Segment members are,
but if it does, then it would be a neat for wackamole to ask for the IP
addresses in the segment, and wait until it has local access to one of
those IP addresses before proceeding. Otherwise, it could at least wait
until it has access to an interface that isn't lo0.


--
Ian Eiloart
IT Services, University of Sussex

_______________________________________________
wackamole-users mailing list
wackamole-users@lists.backhand.org
http://lists.backhand.org/mailman/listinfo/wackamole-users
Re: loopback [ In reply to ]
--On 28 September 2006 15:07:54 +0100 Ian Eiloart <iane@sussex.ac.uk> wrote:

> What I'm planning on doing is writing a wrapper script that will wait
> until an interface other than lo0 is available, then exec wackamole.

And, here it is - attached. Also attached is my launchd plist which calls
the script on startup. launchd will restart the script process if it quits
for any reason, so the script uses 'exec' which ensures that wackamole
replaces the script in the same process - so launchd is now monitoring the
wackamole process.

The scripts assume that the wackamole config is at
/opt/local/etc/wackamole.conf, and the executable at
/opt/local/sbin/wackamole. It's also assumed that your primary IP address
is on en0 - but this can be easily modified.




--
Ian Eiloart
IT Services, University of Sussex
Re: loopback [ In reply to ]
--On 3 October 2006 17:09:18 +0100 Ian Eiloart <iane@sussex.ac.uk> wrote:

>
>
> --On 28 September 2006 15:07:54 +0100 Ian Eiloart <iane@sussex.ac.uk>
> wrote:
>
>> What I'm planning on doing is writing a wrapper script that will wait
>> until an interface other than lo0 is available, then exec wackamole.
>
> And, here it is - attached. Also attached is my launchd plist which calls
> the script on startup. launchd will restart the script process if it
> quits for any reason, so the script uses 'exec' which ensures that
> wackamole replaces the script in the same process - so launchd is now
> monitoring the wackamole process.

Oh, but actually it doesn't work. Where does wackamole get its IP address
from?



--
Ian Eiloart
IT Services, University of Sussex

_______________________________________________
wackamole-users mailing list
wackamole-users@lists.backhand.org
http://lists.backhand.org/mailman/listinfo/wackamole-users