On Sun, Aug 26, 2012 at 3:06 AM, Dan Kegel <d...@kegel.com> wrote:
> Trying the same thing with your centos template:
>    cd /usr/lib/lxc/templates/
>    wget 
> https://raw.github.com/fajarnugraha/lxc/centos-template/templates/lxc-centos.in
>    mv lxc-centos.in lxc-centos
>    lxc-create -t centos -n democ6
>    lxc-start -n democ6
> resulted in a session without working network.

What host are you using?

An ubuntu host will automatically add a networking section like this,
which works

lxc.network.type=veth
lxc.network.link=lxcbr0
lxc.network.flags=up

The default networking config section from lxc-fedora (upstream
version), when used in Ubuntu host would add an additional interface
in the container (because it's basically a separate, additional
networking section) and will result in "failed to rename
vethXXXXXX->eth0 : File exists" error, so I commented it out. Which is
why I'm surprised if you say lxc-fedora works for you, because its
default networking section should be the same (i.e. should also cause
"eth0: File exists" error).

> According to ifconfig inside the Centos session, eth0
> didn't have an ip address.   I dimly recall that the network
> doesn't start by default on Centos desktops, so I did
>   /etc/init.d/network start
> inside the centos session.  That at least got eth0 an ip address,

Weird. I tested it on my ubuntu host, and guest container networking
is up automatically.

Try replacing your container config networking section (lxc.network.*)
with the ones from your working ubuntu container, or the one I pasted
earlier (i.e. you should NOT have any line that says "lxc.network.name
= eth0", only those three lines above for lxc.network.*).

> but dns still wasn't working.  And it looks like part of the machinery
> is missing:
> # ls -l /etc/resolv.conf
> lrwxrwxrwx 1 root root 29 Mar 12 12:45 /etc/resolv.conf ->
> ../run/resolvconf/resolv.conf
> Adding a real file there made dns work, and I was able to do simple 
> networking.

This one is partly my fault.

Ones a template is used, the resulting rootfs is cached on
/var/lib/lxc, and in the case of centos/fedora, it will be updated
(yum update) every time you use it to install new containers with that
template. Doing "yum --installroot" for update is bad, since the
host's yum version may do "bad stuff" (e.g. uses incompatible rpmdb
version), so I changed it to "chroot ... yum". However for that to
work, I need a working resolv.conf inside the rootfs, so I simply do a
"cp -a" from the host's resolv.conf, which works for me because I
uninstalled resolvconf. In your case it resulted in a non-working
resolv.conf :)

Since you already have a working /etc/resolv.conf (i.e. NOT a symlink)
inside the container, can you try rebooting the container? If it works
(i.e. got networking on boot), I can push a simple fix (which
basically would just change "cp -a" to just "cp").

-- 
Fajar

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users

Reply via email to