Skip to content

Commit

Permalink
test(24.04): add LXD backend to Spread (#318)
Browse files Browse the repository at this point in the history
---------

Co-authored-by: Philip Meulengracht <[email protected]>
  • Loading branch information
cjdcordeiro and Meulengracht authored Aug 28, 2024
1 parent 4bb6862 commit b80a9c4
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 5 deletions.
38 changes: 33 additions & 5 deletions spread.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,36 @@ exclude:
- .github

backends:
# We can switch back to using the official Spread LXD backend after
# https://github.com/snapcore/spread/pulls?q=is%3Apr+is%3Aopen+LXD+updated%3A%3C%3D2024-02-23+
lxd:
type: adhoc
allocate: |
set -x
release=$(echo $SPREAD_SYSTEM | awk -F '-' '{print $2}')
# Ideally, we would add the ubuntu-minimal remote
# e.g. https://cloud-images.ubuntu.com/minimal/releases/jammy/
# but that would effectively change the host's LXC configurations.
echo "Allocating $SPREAD_SYSTEM..."
lxc launch --ephemeral ubuntu:$release $SPREAD_SYSTEM
until lxc exec $SPREAD_SYSTEM -- systemctl status | grep "running"
do
sleep 5
done
lxc exec $SPREAD_SYSTEM -- systemctl enable --now ssh
lxc exec $SPREAD_SYSTEM -- sed -i 's/^\s*#\?\s*\(PermitRootLogin\|PasswordAuthentication\)\>.*/\1 yes/' /etc/ssh/sshd_config
lxc exec $SPREAD_SYSTEM -- bash -c "sed -i 's/^\s*\(PermitRootLogin\|PasswordAuthentication\)\>.*/# COMMENTED OUT BY SPREAD: \0/' /etc/ssh/sshd_config.d/* || true"
lxc exec $SPREAD_SYSTEM -- bash -c "test -d /etc/ssh/sshd_config.d && echo -e 'PermitRootLogin=yes\nPasswordAuthentication=yes' > /etc/ssh/sshd_config.d/00-spread.conf"
lxc exec $SPREAD_SYSTEM -- bash -c "echo root:${SPREAD_SYSTEM_PASSWORD} | chpasswd"
lxc exec $SPREAD_SYSTEM -- killall -HUP sshd
ADDRESS `lxc list --format=json $SPREAD_SYSTEM | jq -r '.[0].state.network.eth0.addresses[] | select(.family=="inet") | .address'`
discard: lxc stop $SPREAD_SYSTEM || true
systems:
- ubuntu-noble:
password: ubuntu

docker:
type: adhoc
allocate: |
Expand Down Expand Up @@ -48,9 +78,8 @@ backends:
password: ubuntu
- ubuntu-24.04-s390x:
password: ubuntu
# Re-enable risvc64 once we have re-enabled this arch for the Ubuntu container
# - ubuntu-24.04-riscv64:
# password: ubuntu
- ubuntu-24.04-riscv64:
password: ubuntu

prepare: |
# Deb arch to GOARCH
Expand All @@ -66,8 +95,7 @@ prepare: |
tar -xf $chisel_tar -C /usr/local/bin
prepare-each:
chisel version
prepare-each: chisel version

suites:
tests/spread/integration/:
Expand Down
9 changes: 9 additions & 0 deletions tests/spread/integration/openssl/task.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
summary: Integration tests for openssl

execute: |
rootfs="$(install-slices openssl_bins)"
chroot "$rootfs" openssl --help
test_sha1="4e1243bd22c66e76c2ba9eddc1f91394e57f9f83"
chroot "$rootfs" openssl sha1 <<< "test" | grep $test_sha1

0 comments on commit b80a9c4

Please sign in to comment.