2019-02-27 13:01:28 +00:00
|
|
|
#!/bin/bash
|
|
|
|
# Note: execute this file from the project root directory
|
|
|
|
|
|
|
|
#####
|
|
|
|
#
|
|
|
|
# Builds live-iso image and test it with QEMU-KVM
|
|
|
|
#
|
|
|
|
#####
|
|
|
|
|
2019-06-02 13:20:42 +00:00
|
|
|
set -e
|
|
|
|
|
2019-02-27 13:01:28 +00:00
|
|
|
. /usr/share/beakerlib/beakerlib.sh
|
2019-05-21 13:39:33 +00:00
|
|
|
. $(dirname $0)/lib/lib.sh
|
2019-02-27 13:01:28 +00:00
|
|
|
|
2019-03-08 10:29:11 +00:00
|
|
|
CLI="${CLI:-./src/bin/composer-cli}"
|
2019-02-27 13:01:28 +00:00
|
|
|
|
|
|
|
rlJournalStart
|
|
|
|
rlPhaseStartTest "compose start"
|
|
|
|
rlAssertEquals "SELinux operates in enforcing mode" "$(getenforce)" "Enforcing"
|
|
|
|
|
2019-10-15 23:48:13 +00:00
|
|
|
TMP_DIR=$(mktemp -d /tmp/composer.XXXXX)
|
|
|
|
SSH_KEY_DIR=$(mktemp -d /tmp/composer-ssh-keys.XXXXXX)
|
|
|
|
|
|
|
|
rlRun -t -c "ssh-keygen -t rsa -N '' -f $SSH_KEY_DIR/id_rsa"
|
|
|
|
PUB_KEY=$(cat "$SSH_KEY_DIR/id_rsa.pub")
|
|
|
|
|
|
|
|
cat > "$TMP_DIR/with-ssh.toml" << __EOF__
|
|
|
|
name = "with-ssh"
|
|
|
|
description = "HTTP image with SSH"
|
|
|
|
version = "0.0.1"
|
|
|
|
|
|
|
|
[[packages]]
|
|
|
|
name = "httpd"
|
|
|
|
version = "*"
|
|
|
|
|
|
|
|
[[packages]]
|
|
|
|
name = "openssh-server"
|
|
|
|
version = "*"
|
|
|
|
|
|
|
|
[[packages]]
|
|
|
|
name = "beakerlib"
|
|
|
|
version = "*"
|
|
|
|
|
|
|
|
[customizations.services]
|
|
|
|
enabled = ["sshd"]
|
|
|
|
|
|
|
|
[[customizations.user]]
|
|
|
|
name = "root"
|
|
|
|
key = "$PUB_KEY"
|
|
|
|
|
|
|
|
[customizations.kernel]
|
|
|
|
append = "custom_cmdline_arg"
|
|
|
|
__EOF__
|
|
|
|
|
|
|
|
rlRun -t -c "$CLI blueprints push $TMP_DIR/with-ssh.toml"
|
|
|
|
|
2019-02-27 13:01:28 +00:00
|
|
|
# NOTE: live-iso.ks explicitly disables sshd but test_cli.sh enables it
|
2019-10-15 23:48:13 +00:00
|
|
|
UUID=$($CLI compose start with-ssh live-iso)
|
2019-02-27 13:01:28 +00:00
|
|
|
rlAssertEquals "exit code should be zero" $? 0
|
|
|
|
|
2019-10-15 23:48:13 +00:00
|
|
|
UUID=$(echo "$UUID" | cut -f 2 -d' ')
|
2019-02-27 13:01:28 +00:00
|
|
|
rlPhaseEnd
|
|
|
|
|
|
|
|
rlPhaseStartTest "compose finished"
|
2019-10-15 23:48:13 +00:00
|
|
|
wait_for_compose "$UUID"
|
2019-02-27 13:01:28 +00:00
|
|
|
|
2019-10-15 23:48:13 +00:00
|
|
|
# Save the results for boot test
|
|
|
|
rlAssertExists "/var/lib/lorax/composer/results/$UUID/live.iso"
|
|
|
|
rlRun -t -c "mkdir -p /var/tmp/test-results/"
|
|
|
|
rlRun -t -c "cp /var/lib/lorax/composer/results/$UUID/live.iso /var/tmp/test-results/"
|
|
|
|
# Include the ssh key needed to log into the image
|
|
|
|
rlRun -t -c "cp $SSH_KEY_DIR/* /var/tmp/test-results"
|
2019-02-27 13:01:28 +00:00
|
|
|
rlPhaseEnd
|
|
|
|
|
|
|
|
rlPhaseStartCleanup
|
|
|
|
rlRun -t -c "$CLI compose delete $UUID"
|
2019-10-15 23:48:13 +00:00
|
|
|
rlRun -t -c "rm -rf $TMP_DIR $SSH_KEY_DIR"
|
2019-02-27 13:01:28 +00:00
|
|
|
rlPhaseEnd
|
|
|
|
|
|
|
|
rlJournalEnd
|
|
|
|
rlJournalPrintText
|