Split up creating hosts and running tests

This commit is contained in:
Brian Cain 2020-02-19 16:27:18 -08:00
parent f207754694
commit 0101a1798c
No known key found for this signature in database
GPG Key ID: 9FC4639B2E4510A0
3 changed files with 64 additions and 14 deletions

58
.ci/spec/create-hosts.sh Executable file
View File

@ -0,0 +1,58 @@
#!/usr/bin/env bash
# packet and job configuration
export SLACK_USERNAME="Vagrant"
export SLACK_ICON="https://media.giphy.com/media/yIQ5glQeheYE0/200.gif"
export SLACK_TITLE="Vagrant-Spec Test Runner"
export PACKET_EXEC_DEVICE_NAME="${PACKET_EXEC_DEVICE_NAME:-spec-ci-boxes}"
export PACKET_EXEC_DEVICE_SIZE="${PACKET_EXEC_DEVICE_SIZE:-baremetal_0,baremetal_1,baremetal_1e}"
export PACKET_EXEC_PREFER_FACILITIES="${PACKET_EXEC_PREFER_FACILITIES:-iad1,iad2,ewr1,dfw1,dfw2,sea1,sjc1,lax1}"
export PACKET_EXEC_OPERATING_SYSTEM="${PACKET_EXEC_OPERATING_SYSTEM:-ubuntu_18_04}"
export PACKET_EXEC_PRE_BUILTINS="${PACKET_EXEC_PRE_BUILTINS:-InstallVagrant,InstallVirtualBox,InstallVmware,InstallHashiCorpTool,InstallVagrantVmware}"
export PACKET_EXEC_QUIET="1"
export PKT_VAGRANT_CLOUD_TOKEN="${VAGRANT_CLOUD_TOKEN}"
export VAGRANT_PKG_VERSION="2.2.7" # need to figure out how to make this latest instead
###
csource="${BASH_SOURCE[0]}"
while [ -h "$csource" ] ; do csource="$(readlink "$csource")"; done
root="$( cd -P "$( dirname "$csource" )/../" && pwd )"
. "${root}/.ci/common.sh"
pushd "${root}" > "${output}"
# Assumes packet is already set up
# job_id is provided by common.sh
export PACKET_EXEC_REMOTE_DIRECTORY="${job_id}"
# spec test configuration, defined by action runners, used by Vagrant on packet
export PKT_VAGRANT_HOST_BOXES="${VAGRANT_HOST_BOXES}"
export PKT_VAGRANT_GUEST_BOXES="${VAGRANT_GUEST_BOXES}"
# other vagrant-spec options
export PKT_VAGRANT_HOST_MEMORY=10000
export PKT_VAGRANT_CWD="/test/vagrant-spec/"
export PKT_VAGRANT_VAGRANTFILE=Vagrantfile.spec
###
# Grab vagrant-spec gem
###
echo "Syncing up remote packet device for current job... "
# NOTE: We only need to call packet-exec with the -upload option once
# since we are persisting the job directory. This command
# is used simply to seed the work directory.
wrap_stream packet-exec run -upload -- /bin/true \
"Failed to setup project on remote packet instance"
# Run the job
echo "Running vagrant spec tests..."
# Need to make memory customizable for windows hosts
wrap_stream packet-exec run -upload -- "cd vagrant;vagrant up --no-provision --provider vmware_desktop" \
"Vagrant Blackbox host creation command failed"
echo "Finished vagrant spec tests"

View File

@ -42,8 +42,4 @@ if [ $? -ne 0 ]; then
"Failed to create packet device"
fi
# job_id is provided by common.sh
export PACKET_EXEC_REMOTE_DIRECTORY="${job_id}"
export PACKET_EXEC_PERSIST="1"
echo "Finished creating spec test packet instance"

View File

@ -36,26 +36,22 @@ function cleanup() {
# job_id is provided by common.sh
export PACKET_EXEC_REMOTE_DIRECTORY="${job_id}"
export PACKET_EXEC_PERSIST="1"
# spec test configuration, defined by action runners, used by Vagrant on packet
export PKT_VAGRANT_HOST_BOXES="${VAGRANT_HOST_BOXES}"
export PKT_VAGRANT_GUEST_BOXES="${VAGRANT_GUEST_BOXES}"
# other vagrant-spec options
export PKT_VAGRANT_HOST_MEMORY=10000
export PKT_VAGRANT_CWD="/test/vagrant-spec/"
export PKT_VAGRANT_VAGRANTFILE=Vagrantfile.spec
###
echo "Syncing up remote packet device for current job... "
# NOTE: We only need to call packet-exec with the -upload option once
# since we are persisting the job directory. This command
# is used simply to seed the work directory.
wrap_stream packet-exec run -upload -- /bin/true \
"Failed to setup project on remote packet instance"
# Run the job
echo "Running vagrant spec tests..."
# Need to make memory customizable for windows hosts
pkt_wrap_stream "cd vagrant;VAGRANT_HOST_MEMORY=5000 VAGRANT_CWD=test/vagrant-spec/ VAGRANT_VAGRANTFILE=Vagrantfile.spec vagrant up --provider vmware_desktop" \
"Vagrant command failed"
pkt_wrap_stream "cd vagrant;vagrant provision --provider vmware_desktop" \
"Vagrant Blackbox testing command failed"
echo "Finished vagrant spec tests"