From: Mohamed Larabi Date: Mon, 2 Apr 2012 22:02:42 +0000 (+0200) Subject: check container starting and SSHD inside it X-Git-Tag: 5.0-rc27~64 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=04e1cfd64d98d1f4a40bb946f02be0ef7cbee222;p=build.git check container starting and SSHD inside it --- diff --git a/vbuild-init-lxc.sh b/vbuild-init-lxc.sh index a2b52e0c..e29c5335 100755 --- a/vbuild-init-lxc.sh +++ b/vbuild-init-lxc.sh @@ -555,9 +555,20 @@ function setup_lxc() { mkdir $rootfs_path/root/.ssh cat /root/.ssh/id_rsa.pub >> $rootfs_path/root/.ssh/authorized_keys + # start container lxc-start -d -n $lxc - sleep 20 + lxc-wait -n $lxc -s RUNNING + + for i in $(seq 1 5); do + echo "ssh ..." + ssh_up=$(ssh -o "StrictHostKeyChecking no" $IP 'uname -i') + [ -n $ssh_up ] && break + sleep 3 + done + + [ -z $ssh_up ] && echo "SSHD in container $lxc is not running" + # rpm --rebuilddb chroot $rootfs_path rpm --rebuilddb @@ -865,17 +876,16 @@ function main () { exit 1 fi - # be strict on lxc-lines matching name exactly using ^$ - # as otherwise the timestamps may show up here - lxc-ls -1 | grep -q '^'"$lxc"'$' && { echo "container $lxc already exists - exiting" ; exit 1 ; } - path=/var/lib/lxc rootfs_path=$path/$lxc/rootfs config_path=$path/$lxc cache_base=/var/cache/lxc/fedora/$arch cache=$cache_base/$release root_password=root - + + # check whether the rootfs directory is created to know if the container exists + # bacause /var/lib/lxc/$lxc is already created while putting $lxc.timestamp + [ -d $rootfs_path ] && { echo "container $lxc already exists - exiting" ; exit 1 ; } setup_lxc $lxc $fcdistro $pldistro $personality