COMMAND_MYPLC="vtest-init-lxc.sh"
lxc_version="0.8.0-rc2"
+lxc_git_repo="git://lxc.git.sourceforge.net/gitroot/lxc/lxc"
function bridge_init () {
sleep 2
echo "Setting bridge address=$address broadcast=$broadcast"
# static
- /sbin/ifconfig $INTERFACE_BRIDGE $address broadcast $broadcast up
+ #/sbin/ifconfig $INTERFACE_BRIDGE $address broadcast $broadcast up
+ dhclient $INTERFACE_BRIDGE
sleep 1
#Reconfigure the routing table
check_yum_installed libvirt
#retrieve and install lxc from sources
- #raw_version=$(lxc-version ||: )
- #lxc_installed_version=$(echo $raw_version | sed -e 's,.*: ,,')
- #if [ "$lxc_installed_version" != "$lxc_version" ] ; then
- if [ ! -f /usr/bin/lxc-ls ] ; then
- #echo "Expecting version" '['$lxc_version']'
- #echo "Found version" '['$lxc_installed_version']'
+ raw_version=$(lxc-version ||: )
+ lxc_installed_version=$(echo $raw_version | sed -e 's,.*: ,,')
+ if [ "$lxc_installed_version" != "$lxc_version" ] ; then
+ echo "Expecting version" '['$lxc_version']'
+ echo "Found version" '['$lxc_installed_version']'
echo "Installing lxc ..."
cd /root
- [ -d lxc ] || git clone git://lxc.git.sourceforge.net/gitroot/lxc/lxc
+ [ -d lxc ] || git clone "$lxc_git_repo"
cd lxc
git pull
git checkout $lxc_version
lxc.network.name = $IFNAME
lxc.network.mtu = 1500
lxc.network.ipv4 = $IP/$CIDR
+lxc.network.veth.pair = $veth_pair
#cgroups
#lxc.cgroup.devices.deny = a
# /dev/null and zero
# start container
lxc-start -d -n $lxc
- lxc-wait -n $lxc -s RUNNING
-
echo $IP is up, waiting for ssh...
- for i in $(seq 1 10); do
- echo "ssh attempt $i ..."
- ssh -o "StrictHostKeyChecking no" $IP 'uname -i' && break || :
- sleep 2
+ # wait max 5 min for sshd to start
+ ssh_up=""
+ stop_time=$(($(date +%s) + 300))
+ current_time=$(date +%s)
+
+ while [ "$current_time" -lt "$stop_time" ] ; do
+ echo "ssh attempt ..."
+ ssh -o "StrictHostKeyChecking no" $IP 'uname -i' && { ssh_up=true; echo "SSHD in container $lxc is UP"; break ; } || :
+ sleep 10
+ current_time=$(($current_time + 10))
done
[ -z $ssh_up ] && echo "SSHD in container $lxc is not running"
lxc_network_type=veth
lxc_network_link=virbr0
+ veth_pair="veth$z"
echo "the IP address of container $lxc is $IP "
else
[[ -z "$REPO_URL" ]] && usage
[[ -z "$HOSTNAME" ]] && usage
lxc_network_type=veth
lxc_network_link=br0
+ veth_pair="i$(echo $HOSTNAME | cut -d. -f1)"
fi
CIDR=$(cidr_notation $NETMASK)