mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-08 20:35:42 +00:00
ubuntu-cloud template cleanups
Fix for quantal images which do not have the user 'ubuntu' present. Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1045955 Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
parent
fbef4590b7
commit
b942e67226
@ -230,6 +230,15 @@ if [ -n "$userdata" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$auth_key" ]; then
|
||||
if [ ! -f "$auth_key" ]; then
|
||||
echo "--auth-key=${auth_key} must reference a file"
|
||||
exit 1
|
||||
fi
|
||||
auth_key=$(readlink -f "${auth_key}") ||
|
||||
{ echo "failed to get full path for auth_key"; exit 1; }
|
||||
fi
|
||||
|
||||
if [ -z "$path" ]; then
|
||||
echo "'path' parameter is required"
|
||||
exit 1
|
||||
@ -338,8 +347,16 @@ mkdir -p /var/lock/subsys/
|
||||
mkdir -p $seed_d
|
||||
|
||||
cat > "$seed_d/meta-data" <<EOF
|
||||
instance_id: lxc-$host_id
|
||||
instance-id: lxc-$host_id
|
||||
EOF
|
||||
if [ -n "$auth_key" ]; then
|
||||
{
|
||||
echo "public-keys:" &&
|
||||
sed -e '/^$/d' -e 's,^,- ,' "$auth_key" "$auth_key"
|
||||
} >> "$seed_d/meta-data"
|
||||
[ $? -eq 0 ] ||
|
||||
{ echo "failed to write public keys to metadata"; exit 1; }
|
||||
fi
|
||||
|
||||
rm $rootfs/etc/hostname
|
||||
|
||||
@ -347,17 +364,6 @@ EOF
|
||||
cp /usr/lib/locale/locale-archive $rootfs/usr/lib/locale/locale-archive
|
||||
fi
|
||||
|
||||
|
||||
if [ -n "$auth_key" -a -f "$auth_key" ]; then
|
||||
u_path="/home/ubuntu/.ssh"
|
||||
root_u_path="$rootfs/$u_path"
|
||||
mkdir -p $root_u_path
|
||||
cp $auth_key "$root_u_path/authorized_keys"
|
||||
chroot $rootfs chown -R ubuntu: "$u_path"
|
||||
|
||||
echo "Inserted SSH public key from $auth_key into /home/ubuntu/.ssh/authorized_keys"
|
||||
fi
|
||||
|
||||
if [ -f "$userdata" ]; then
|
||||
echo "Using custom user-data"
|
||||
cp $userdata $seed_d/user-data
|
||||
@ -370,26 +376,24 @@ EOF
|
||||
cat > "$seed_d/user-data" <<EOF
|
||||
#cloud-config
|
||||
output: {all: '| tee -a /var/log/cloud-init-output.log'}
|
||||
apt-mirror: $MIRROR
|
||||
apt_mirror: $MIRROR
|
||||
manage_etc_hosts: localhost
|
||||
locale: $(/usr/bin/locale | awk -F= '/LANG=/ {print$NF}')
|
||||
password: ubuntu
|
||||
chpasswd: { expire: False }
|
||||
EOF
|
||||
fi
|
||||
|
||||
chroot $rootfs /usr/sbin/usermod -U ubuntu
|
||||
echo "ubuntu:ubuntu" | chroot $rootfs chpasswd
|
||||
echo "Please login as user ubuntu with password ubuntu."
|
||||
|
||||
else
|
||||
|
||||
echo "Configured for running in a cloud environment."
|
||||
echo "If you do not have a meta-data service, this container will likely be useless."
|
||||
|
||||
fi
|
||||
|
||||
) 200>/var/lock/subsys/lxc-ubucloud
|
||||
|
||||
copy_configuration $path $rootfs $name $arch $release
|
||||
|
||||
echo "Container $name created."
|
||||
exit 0
|
||||
|
||||
# vi: ts=4 expandtab
|
||||
|
Loading…
Reference in New Issue
Block a user