VIF_GUEST=eth0
##########
+FEDORA_MIRROR_BASE="http://mirror.onelab.eu/fedora/"
+FEDORA_MIRROR_KEYS="http://mirror.onelab.eu/keys/"
FEDORA_PREINSTALLED="yum initscripts passwd rsyslog vim-minimal dhclient chkconfig rootfiles policycoreutils openssh-server openssh-clients"
DEBIAN_PREINSTALLED="openssh-server openssh-client"
fcdistro=$1; shift
case $fcdistro in
f[0-9]*|centos[0-9]*|sl[0-9]*) echo yum ;;
- squeeze|wheezy|jessie|oneiric|precise|quantal|raring|saucy) echo debootstrap ;;
+ squeeze|wheezy|jessie|oneiric|precise|quantal|raring|saucy|trusty) echo debootstrap ;;
*) echo Unknown distro $fcdistro ;;
esac
}
sed -i "s/\$basearch/$arch/g; s/\$releasever/$release/g;" $f
done
- MIRROR_URL=http://mirror.onelab.eu/fedora/releases/$release/Everything/$arch/os
+ MIRROR_URL=$FEDORA_MIRROR_BASE/releases/$release/Everything/$arch/os
RELEASE_URL1="$MIRROR_URL/Packages/fedora-release-$release-1.noarch.rpm"
# with fedora18 the rpms are scattered by first name
RELEASE_URL2="$MIRROR_URL/Packages/f/fedora-release-$release-1.noarch.rpm"
cat > $lxc_root/etc/yum.repos.d/building.repo <<EOF
[fedora]
-name=Fedora $release - $arch
-baseurl=http://mirror.onelab.eu/fedora/releases/$release/Everything/$arch/os/
+name=Fedora \$releasever - \$basearch
+baseurl=$FEDORA_MIRROR_BASE/releases/\$releasever/Everything/\$basearch/os/
enabled=1
metadata_expire=7d
gpgcheck=1
-gpgkey=http://mirror.onelab.eu/keys/RPM-GPG-KEY-fedora-$release-primary
+gpgkey=$FEDORA_MIRROR_KEYS/RPM-GPG-KEY-fedora-$release-primary
[updates]
-name=Fedora $release - $arch - Updates
-baseurl=http://mirror.onelab.eu/fedora/updates/$release/$arch/
+name=Fedora \$releasever - \$basearch - Updates
+baseurl=$FEDORA_MIRROR_BASE/updates/\$releasever/\$basearch/
enabled=1
metadata_expire=7d
gpgcheck=1
-gpgkey=http://mirror.onelab.eu/keys/RPM-GPG-KEY-fedora-$release-primary
+gpgkey=$FEDORA_MIRROR_KEYS/RPM-GPG-KEY-fedora-$release-primary
EOF
-
+
# for using vtest-init-lxc.sh as a general-purpose lxc creation wrapper
# just mention 'none' as the repo url
if [ -n "$REPO_URL" ] ; then
case $fcdistro in
squeeze|wheezy|jessie)
echo http://ftp2.fr.debian.org/debian/ ;;
- oneiric|precise|quantal|raring|saucy)
+ oneiric|precise|quantal|raring|saucy|trusty)
echo http://mir1.ovh.net/ubuntu/ubuntu/ ;;
*) echo unknown distro $fcdistro; exit 1;;
esac
function post_install () {
lxc=$1; shift
personality=$1; shift
+ # setup localtime from the host
+ cp /etc/localtime $lxc_root/etc/localtime
if [ -n "$BUILD_MODE" ] ; then
post_install_build $lxc $personality
- virsh -c lxc:/// start $lxc
- # manually run dhclient in guest - somehow this network won't start on its own
- virsh -c lxc:/// lxc-enter-namespace $lxc /bin/bash -c "dhclient $VIF_GUEST"
+ if [ -n "$START_VM" ] ; then
+ virsh -c lxc:/// start $lxc
+ # manually run dhclient in guest - somehow this network won't start on its own
+ virsh -c lxc:/// lxc-enter-namespace $lxc /bin/bash -c "dhclient $VIF_GUEST"
+ fi
else
post_install_myplc $lxc $personality
- virsh -c lxc:/// start $lxc
-# it sounds like we don't need ssh per se any more
-# it still makes sense to wait for network readiness though
-# some day maybe...
- wait_for_ssh $lxc
+ if [ -n "$START_VM" ] ; then
+ virsh -c lxc:/// start $lxc
+ # it sounds like we don't need ssh per se any more
+ # it still makes sense to wait for network readiness though
+ # some day maybe...
+ wait_for_ssh $lxc
+ fi
fi
- # setup localtime from the host
- cp /etc/localtime $lxc_root/etc/localtime
}
function post_install_build () {
echo " by default we use devel.pkgs (build mode) or runtime.pkgs (test mode)"
echo " -i image - the location of the rootfs"
echo " -m memory - the amount of allocated memory in MB - defaults to $DEFAULT_MEMORY MB"
+ echo " -s do not start VM"
echo " -v be verbose"
exit 1
}
exit 1
fi
- while getopts "n:f:d:p:r:P:i:m:v" opt ; do
+ START_VM=true
+ while getopts "n:f:d:p:r:P:i:m:sv" opt ; do
case $opt in
n) GUEST_HOSTNAME=$OPTARG;;
f) fcdistro=$OPTARG;;
P) PREINSTALLED=$OPTARG;;
i) IMAGE=$OPTARG;;
m) MEMORY=$OPTARG;;
+ s) START_VM= ;;
v) VERBOSE=true; set -x;;
*) usage ;;
esac
MEMORY=$(($MEMORY * 1024))
# the set of preinstalled packages - depends on mode
- if [ -z "$PREINSTALLED"] ; then
+ if [ -z "$PREINSTALLED" ] ; then
if [ -n "$BUILD_MODE" ] ; then
PREINSTALLED=devel.pkgs
else