Add tests for DNS

main
Brian Picciano 8 months ago
parent 96a3ecfe14
commit 5ee80b1b7d
  1. 1
      default.nix
  2. 3
      tests.sh
  3. 3
      tests/NOTES.txt
  4. 20
      tests/cases/dnsmasq/00-hosts.sh
  5. 10
      tests/utils/with-1-data-1-empty-node-cluster.sh

@ -170,6 +170,7 @@ in rec {
pkgs.busybox
pkgs.yq-go
pkgs.jq
pkgs.dig
]}
export SHELL=${pkgs.bash}/bin/bash
exec ${pkgs.bash}/bin/bash ${./tests}/entrypoint.sh "$@"

@ -8,8 +8,9 @@ this_user="$(whoami)"
echo "Requesting sudo in order to set thread capabilities, will drop back down to user '$this_user' immediately"
sudo -E capsh \
--caps="cap_net_admin+eip cap_setpcap,cap_setuid,cap_setgid+ep" \
--caps="cap_net_admin,cap_net_bind_service+eip cap_setpcap,cap_setuid,cap_setgid+ep" \
--keep=1 \
--user="$this_user" \
--addamb=cap_net_admin \
--addamb=cap_net_bind_service \
-- "$entrypoint" "$@"

@ -0,0 +1,3 @@
Ctrl+A X -> exits
qemu-system-aarch64 -M virt -nographic -cdrom tests/alpine-virt-3.17.3-aarch64.iso

@ -0,0 +1,20 @@
# shellcheck source=../../utils/with-1-data-1-empty-node-cluster.sh
source "$UTILS"/with-1-data-1-empty-node-cluster.sh
function assert_a {
want_ip="$1"
hostname="$2"
r="$(dig @"$current_ip" +noall +answer "$hostname")"
echo "$r" | grep -q "$want_ip"
}
as_primus
assert_a "$primus_ip" primus.hosts.shared.test
# TODO This doesn't work at present, there would need to be some mechanism to
# block the test until secondus' bootstrap info can propagate to primus.
#assert_a "$secondus_ip" secondus.hosts.shared.test
as_secondus
assert_a "$primus_ip" primus.hosts.shared.test
assert_a "$secondus_ip" secondus.hosts.shared.test

@ -1,14 +1,20 @@
set -e
base="shared/1-data-1-empty"
primus_base="$base/primus"
primus_ip="10.6.9.1"
secondus_base="$base/secondus"
secondus_ip="10.6.9.2"
function as_primus {
current_ip="$primus_ip"
eval "$($SHELL "$UTILS/shared-daemon-env.sh" "$primus_base")"
}
function as_secondus {
current_ip="$secondus_ip"
eval "$($SHELL "$UTILS/shared-daemon-env.sh" "$secondus_base")"
}
@ -48,7 +54,7 @@ EOF
--config-path daemon.yml \
--domain shared.test \
--hostname primus \
--ip-net "10.6.9.1/24" \
--ip-net "$current_ip/24" \
--name "testing" \
> admin.yml
@ -64,7 +70,7 @@ EOF
isle admin create-bootstrap \
--admin-path admin.yml \
--hostname secondus \
--ip 10.6.9.2 \
--ip "$secondus_ip" \
> "$secondus_bootstrap"
(

Loading…
Cancel
Save