run netplan generate --root .subiquity after each integration test

This commit is contained in:
Michael Hudson-Doyle 2020-04-29 14:50:39 +12:00
parent 43081d0dd5
commit 05ca96d7ba
1 changed files with 26 additions and 13 deletions

View File

@ -1,17 +1,8 @@
#!/bin/bash
set -eux
python3 -m unittest discover
export SUBIQUITY_REPLAY_TIMESCALE=100
for answers in examples/answers*.yaml; do
rm -f .subiquity/subiquity-curtin-install.conf
rm -f .subiquity/subiquity-debug.log
rm -f .subiquity/run/subiquity/updating
config=$(sed -n 's/^#machine-config: \(.*\)/\1/p' $answers || true)
if [ -z "$config" ]; then
config=examples/simple.json
fi
# The --foreground is important to avoid subiquity getting SIGTTOU-ed.
timeout --foreground 60 sh -c "LANG=C.UTF-8 python3 -m subiquity.cmd.tui --answers $answers --dry-run --snaps-from-examples --machine-config $config"
validate () {
python3 scripts/validate-yaml.py .subiquity/subiquity-curtin-install.conf
if [ ! -e .subiquity/subiquity-debug.log ]; then
echo "log file not created"
@ -21,12 +12,33 @@ for answers in examples/answers*.yaml; do
echo "password leaked into log file"
exit 1
fi
netplan generate --root .subiquity
}
clean () {
rm -f .subiquity/subiquity-curtin-install.conf
rm -f .subiquity/subiquity-debug.log
rm -f .subiquity/run/subiquity/updating
}
export SUBIQUITY_REPLAY_TIMESCALE=100
for answers in examples/answers*.yaml; do
clean
config=$(sed -n 's/^#machine-config: \(.*\)/\1/p' $answers || true)
if [ -z "$config" ]; then
config=examples/simple.json
fi
# The --foreground is important to avoid subiquity getting SIGTTOU-ed.
timeout --foreground 60 sh -c "LANG=C.UTF-8 python3 -m subiquity.cmd.tui --answers $answers --dry-run --snaps-from-examples --machine-config $config"
validate
done
TTY=$(tty || true)
clean
timeout --foreground 60 sh -c "LANG=C.UTF-8 python3 -m subiquity.cmd.tui --autoinstall examples/autoinstall.yaml \
--dry-run --machine-config examples/simple.json \
--kernel-cmdline 'autoinstall console=\"${TTY#/dev/}\"'"
python3 scripts/validate-yaml.py .subiquity/subiquity-curtin-install.conf
validate
python3 scripts/check-yaml-fields.py .subiquity/subiquity-curtin-install.conf \
debconf_selections.subiquity='"eek"'
python3 scripts/check-yaml-fields.py .subiquity/var/lib/cloud/seed/nocloud-net/user-data \
@ -37,7 +49,8 @@ grep -q 'finish: subiquity/InstallProgress/postinstall/install_package2: SUCCESS
.subiquity/subiquity-debug.log
grep -q 'switching subiquity to edge' .subiquity/subiquity-debug.log
clean
timeout --foreground 60 sh -c "LANG=C.UTF-8 python3 -m subiquity.cmd.tui --autoinstall examples/autoinstall-user-data.yaml \
--dry-run --machine-config examples/simple.json \
--kernel-cmdline 'autoinstall console=\"${TTY#/dev/}\"'"
python3 scripts/validate-yaml.py .subiquity/subiquity-curtin-install.conf
validate