[Lxc-users] Containers are all getting same IP address
Jay Taylor
jay at jaytaylor.com
Wed Aug 14 20:22:32 UTC 2013
Hi Serge,
I added zfs support to the application and systems creating/hosting the
containers, and I have subsequently been unable to reproduce any issues.
As far as trying to reproduce it with btrfs, I've had some success.
The general system state is something like:
N containers already running happily
Launch N+ more containers in rapid succession (in parallell, not serially).
I've modified your test script to reflect more closely what my application
is actually doing, by slowly launching 10 containers, and then using "&" to
rapidly fork and additional 10 clone/start operations. I have it doing 2
cycles of this and it eventually triggers the problem (it's taken up to 3
runs for to trigger the problem).
And for reference, here is an exact copy the scripts I used to reproduce
the problem:
test.sh:
#!/usr/bin/env bash
prefix=$1
test -z "${prefix}" && echo 'error: missing required parameter: prefix'
1>&2 && exit 1
path=/mnt
sudo lxc-destroy -n c1 2>/dev/null
sudo lxc-create -t ubuntu -B btrfs -n c1
for i in `seq 1 10`; do
sudo lxc-clone -s -B btrfs -P $path -o c1 -n $prefix$i
sudo lxc-start -d -n $prefix$i
done
for i in `seq 11 20`; do
echo $(sudo lxc-clone -s -B btrfs -P $path -o c1 -n $prefix$i; sudo
lxc-start -d -n $prefix$i) &
done
sleep 10
# Create even more.
for i in `seq 21 30`; do
sudo lxc-clone -s -B btrfs -P $path -o c1 -n $prefix$i
sudo lxc-start -d -n $prefix$i
done
for i in `seq 31 40`; do
echo $(sudo lxc-clone -s -B btrfs -P $path -o c1 -n $prefix$i; sudo
lxc-start -d -n $prefix$i) &
done
stop.sh:
#!/usr/bin/env bash
prefix=$1
test -z "${prefix}" && echo 'error: missing required parameter: prefix'
1>&2 && exit 1
sudo lxc-destroy -n c1;
for i in `seq 1 40`; do
echo $(sudo lxc-stop -k -n $prefix$i; sudo lxc-destroy -n $prefix$i) &
done
bash ./test.sh x
bash ./test.sh y
bash ./test.sh z
If it doesn't manifest at first, try stopping/starting varying quantities
of containers for several cycles. Eventually I consistently end up not
ever getting ip addresses:
x1 RUNNING - - NO
x10 RUNNING - - NO
x11 RUNNING - - NO
x12 RUNNING - - NO
x13 RUNNING - - NO
x14 RUNNING - - NO
x15 RUNNING - - NO
x16 RUNNING - - NO
x17 RUNNING - - NO
x18 RUNNING - - NO
x19 RUNNING - - NO
x2 RUNNING - - NO
x20 RUNNING - - NO
x21 RUNNING - - NO
x22 RUNNING - - NO
x23 RUNNING - - NO
x24 RUNNING - - NO
x25 RUNNING - - NO
x26 RUNNING - - NO
x27 RUNNING - - NO
x28 RUNNING - - NO
x29 RUNNING - - NO
x3 RUNNING - - NO
x30 RUNNING - - NO
x31 RUNNING - - NO
x32 RUNNING - - NO
x33 RUNNING - - NO
x34 RUNNING - - NO
x35 RUNNING - - NO
x36 RUNNING - - NO
x37 RUNNING - - NO
x38 RUNNING - - NO
x39 RUNNING - - NO
x4 RUNNING - - NO
x40 RUNNING - - NO
x5 RUNNING - - NO
x6 RUNNING - - NO
x7 RUNNING - - NO
x8 RUNNING - - NO
x9 RUNNING - - NO
On Wed, Aug 14, 2013 at 10:12 AM, Serge Hallyn <serge.hallyn at ubuntu.com>wrote:
> Quoting Serge Hallyn (serge.hallyn at ubuntu.com):
> > Quoting Jay Taylor (jay at jaytaylor.com):
> > > After further investigation yesterday, I am not convinced it is an
> > > IP-address issue. The affected host machines are unable to start any
> > > existing or newly created containers. The incident that triggered the
> > > issue was cloning 1 container into 10 new ones, and then launching
> them all
> > > simultaneously. Are there any known concurrency issues with LXC which
> > > would explain why executing a lot of clone/start LXC commands at the
> same
> >
> > Known, no, but that doesn't mean they're not there :)
> >
> > However, could you try to reproduce this with non-btrfs?
> >
> > I'll try to reproduce with btrfs...
>
> In a fresh raring instance I mounted a btrfs disk on /mnt, and did
>
> lxc-create -t ubuntu -B btrfs -P /mnt -n c1
> for i in `seq 1 10`; do
> lxc-clone -s -p /mnt -o c1 -n x$i
> done
> for i in `seq 1 10`; do
> lxc-start -d -P /mnt -n x$i
> done
>
> Then connected to two of the containers with lxc-console,
> lxc-console -P /mnt -n x2
> lxc-console -P /mnt -n x9
>
> both were up and had unique ip addresses.
>
> Again this was a raring instance with ppa:ubuntu-lxc/daily installed.
>
> -serge
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxcontainers.org/pipermail/lxc-users/attachments/20130814/36f500a1/attachment.html>
More information about the lxc-users
mailing list