On Sat, Aug 25, 2012 at 10:24 PM, Fajar A. Nugraha <l...@fajar.net> wrote: > Please re-download lxc-centos.in and try again. You need to remove the > cache first (rm -rf /var/cache/lxc/centos/x86_64/6/rootfs) so that it > will be recreated.
Hmm. Is UTSNAME supposed to be defined on entry to the template? It isn't here, leading to /etc/sysconfig/network and /etc/sysconfig/network-scripts/ifcfg-eth0 containing bad HOSTNAME= lines. (The fedora template has same problem.) I worked around this with: --- lxc-centos.in 2012-08-27 10:45:56.301880000 -0700 +++ /usr/lib/lxc/templates/lxc-centos 2012-08-27 12:12:30.271501887 -0700 @@ -52,7 +52,7 @@ DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes -HOSTNAME=${UTSNAME} +HOSTNAME=${name} NM_CONTROLLED=no TYPE=Ethernet MTU=${MTU} @@ -61,7 +61,7 @@ # set the hostname cat <<EOF > ${rootfs_path}/etc/sysconfig/network NETWORKING=yes -HOSTNAME=${UTSNAME} +HOSTNAME=${name} EOF # set minimal hosts The next problem is a bug in lxc-start-ephemeral, which complains sed: can't read /var/lib/lxc/demo_centos6-temp-j4G0FcH/rootfs/etc/hostname: No such file or directory The error comes from the line # Update the ephemeral lxc's configuration to reflect the new container name. sudo sed -i -e "s/$LXC_BASE/$LXC_NAME/" $LXC_DIR/fstab $LXC_DIR/config $LXC_DIR/rootfs/etc/hostname $LXC_DIR/rootfs/etc/hosts I worked around this with --- lxc-start-ephemeral.orig 2012-08-27 12:19:03.935513119 -0700 +++ lxc-start-ephemeral 2012-08-27 12:19:54.471514479 -0700 @@ -154,7 +154,19 @@ LXC_MOUNTED=1 # Update the ephemeral lxc's configuration to reflect the new container name. - sudo sed -i -e "s/$LXC_BASE/$LXC_NAME/" $LXC_DIR/fstab $LXC_DIR/config $LXC_DIR/rootfs/etc/hostname $LXC_DIR/rootfs/etc/hosts + # Check all the places known distros keep hostnames. + # FIXME: should we sanity check the hostname to make sure it contains no bad chars? + for file in $LXC_DIR/fstab $LXC_DIR/config \ + $LXC_DIR/rootfs/etc/hostname \ + $LXC_DIR/rootfs/etc/hosts \ + $LXC_DIR/rootfs/etc/sysconfig/network \ + $LXC_DIR/rootfs/etc/sysconfig/network-scripts/ifcfg-eth0 + do + if test -f "$file" + then + sudo sed -i -e "s/$LXC_BASE/$LXC_NAME/" $file + fi + done # Update the fstab to have all bind mounts be ephemeral. sudo cp $LXC_DIR/fstab $LXC_DIR/fstab.old Thanks, Dan ------------------------------------------------------------------------------ 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