mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-15 21:26:57 +00:00
ubuntu-cloud-prep: cleanup, fix bug with userdata
--userdata was broken, completely missing an implementation. This adds that implementation back in, makes 'debug' logic correct, and then also improves the doc at the top. Signed-off-by: Scott Moser <smoser@ubuntu.com> Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
parent
034a01593a
commit
79159a86dd
@ -1,21 +1,21 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
## If the container being cloned has one or more lxc.hook.clone specified,
|
## If the container being cloned has one or more lxc.hook.clone
|
||||||
## then the specified hooks will be called for the new container. The first
|
## specified, then the specified hooks will be called for the new
|
||||||
## 3 arguments passed to the clone hook will be:
|
## container. The arguments passed to the clone hook are:
|
||||||
## 1. the container name
|
## 1. the container name
|
||||||
## 2. a section ('lxc')
|
## 2. a section ('lxc')
|
||||||
## 3. hook type ('clone')
|
## 3. hook type ('clone')
|
||||||
## 4. .. additional arguments to lxc-clone
|
## 4. .. additional arguments to lxc-clone
|
||||||
## Environment variables:
|
## Environment variables:
|
||||||
## LXC_ROOTFS_MOUNT: path under which the container's root fs is mounted.
|
## LXC_ROOTFS_MOUNT: path to the root filesystem
|
||||||
## LXC_CONFIG_FILE: The configuration file pathname
|
## LXC_CONFIG_FILE: path to config file
|
||||||
## LXC_SRC_NAME: old container name
|
## LXC_SRC_NAME: old container name
|
||||||
## LXC_ROOTFS_PATH: path or device on which the root fs is located
|
## LXC_ROOTFS_PATH: path or device on which the root fs is located
|
||||||
|
|
||||||
VERBOSITY="0"
|
VERBOSITY="0"
|
||||||
|
|
||||||
error() { echo "$@" 1>&2; }
|
error() { echo "$@" 1>&2; }
|
||||||
debug() { [ "$1" -ge "$VERBOSITY" ] || return; shift; error "$@"; }
|
debug() { [ "$VERBOSITY" -ge "$1" ] || return; shift; error "$@"; }
|
||||||
fail() { [ $# -eq 0 ] || error "$@"; exit 1; }
|
fail() { [ $# -eq 0 ] || error "$@"; exit 1; }
|
||||||
|
|
||||||
prep_usage() {
|
prep_usage() {
|
||||||
@ -122,7 +122,10 @@ prep() {
|
|||||||
MIRROR="http://archive.ubuntu.com/ubuntu"
|
MIRROR="http://archive.ubuntu.com/ubuntu"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{
|
if [ -n "$userdata" ]; then
|
||||||
|
cp "$userdata" "$seed_d/user-data"
|
||||||
|
else
|
||||||
|
{
|
||||||
local lc=$(locale | awk -F= '/LANG=/ {print $NF; }')
|
local lc=$(locale | awk -F= '/LANG=/ {print $NF; }')
|
||||||
echo "#cloud-config"
|
echo "#cloud-config"
|
||||||
echo "output: {all: '| tee -a /var/log/cloud-init-output.log'}"
|
echo "output: {all: '| tee -a /var/log/cloud-init-output.log'}"
|
||||||
@ -131,8 +134,8 @@ prep() {
|
|||||||
[ -z "$LANG" ] || echo "locale: $LANG";
|
[ -z "$LANG" ] || echo "locale: $LANG";
|
||||||
echo "password: ubuntu"
|
echo "password: ubuntu"
|
||||||
echo "chpasswd: { expire: false; }"
|
echo "chpasswd: { expire: false; }"
|
||||||
|
} > "$seed_d/user-data"
|
||||||
} > "$seed_d/user-data"
|
fi
|
||||||
[ $? -eq 0 ] || {
|
[ $? -eq 0 ] || {
|
||||||
error "failed to write user-data write to '$seed_d/user-data'";
|
error "failed to write user-data write to '$seed_d/user-data'";
|
||||||
return 1;
|
return 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user