# XXX fixme : when creating a 32bits VM we need to call linux32 as appropriate...s
-DEFAULT_FCDISTRO=f20
+DEFAULT_FCDISTRO=f21
DEFAULT_PLDISTRO=lxc
DEFAULT_PERSONALITY=linux64
-DEFAULT_MEMORY=512
+DEFAULT_MEMORY=1024
##########
# constant
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|trusty) echo debootstrap ;;
+ squeeze|wheezy|jessie|oneiric|precise|quantal|raring|saucy|trusty|utopic) echo debootstrap ;;
*) echo Unknown distro $fcdistro ;;
esac
}
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"
+ # first try the second version of fedora-release first
+ RELEASE_URL2="$MIRROR_URL/Packages/f/fedora-release-$release-2.noarch.rpm"
+ RELEASE_URL3="$MIRROR_URL/Packages/f/fedora-release-$release-1.noarch.rpm"
+
RELEASE_TARGET=$INSTALL_ROOT/fedora-release-$release.noarch.rpm
found=""
- for attempt in $RELEASE_URL1 $RELEASE_URL2; do
+ for attempt in $RELEASE_URL1 $RELEASE_URL2 $RELEASE_URL3; do
if curl -f $attempt -o $RELEASE_TARGET ; then
echo "Retrieved $attempt"
found=true
case $fcdistro in
squeeze|wheezy|jessie)
echo http://ftp2.fr.debian.org/debian/ ;;
- oneiric|precise|quantal|raring|saucy|trusty)
+ oneiric|precise|quantal|raring|saucy|trusty|utopic)
echo http://mir1.ovh.net/ubuntu/ubuntu/ ;;
*) echo unknown distro $fcdistro; exit 1;;
esac
# Enable cgroup -- xxx -- is this really useful ?
[ -d $lxc_root/cgroup ] || mkdir $lxc_root/cgroup
- # set up resolv.conf
+ ### set up resolv.conf from host
+ # ubuntu precise and on, /etc/resolv.conf is a symlink to ../run/resolvconf/resolv.conf
+ [ -h $lxc_root/etc/resolv.conf ] && rm -f $lxc_root/etc/resolv.conf
cp /etc/resolv.conf $lxc_root/etc/resolv.conf
- # and /etc/hosts for at least localhost
+ ### and /etc/hosts for at least localhost
[ -f $lxc_root/etc/hosts ] || echo "127.0.0.1 localhost localhost.localdomain" > $lxc_root/etc/hosts
# grant ssh access from host to guest
return 0
}
+# this part does not belong in a domain any more
+# but goes in a network object of its own existence
+# <network>
+# <name>host-bridge</name>
+# <forward mode="bridge"/>
+# <bridge name="br0"/>
+# </network>
+#
+
function write_lxc_xml_test () {
lxc=$1; shift
cat <<EOF
</interface>
<console type='pty' />
</devices>
- <network>
- <name>host-bridge</name>
- <forward mode="bridge"/>
- <bridge name="$PUBLIC_BRIDGE"/>
- </network>
</domain>
EOF
}
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 /usr/bin/$personality /bin/bash -c "dhclient $VIF_GUEST"
+ # we need the --noseclabel flag with recent libvirt's
+ # was not required with f20/libvirt-1.2.5
+ # but is now with f21/libvirt-1.2.9
+ virsh -c lxc:/// lxc-enter-namespace --noseclabel $lxc /usr/bin/$personality /bin/bash -c "dhclient $VIF_GUEST"
fi
else
post_install_myplc $lxc $personality