Skip to content

Instantly share code, notes, and snippets.

@lindig
Last active September 23, 2016 20:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lindig/df2127e32141a9dd1aa428be3343ad9e to your computer and use it in GitHub Desktop.
Save lindig/df2127e32141a9dd1aa428be3343ad9e to your computer and use it in GitHub Desktop.
Run tests on XenServer by downloading and installing micro-kernel VM
#! /bin/sh
set -ex
VERSION="0.1.17"
GH="https://github.com/lindig"
VM="$GH/xen-test-vm/releases/download/$VERSION/test-vm.xen.gz"
KERNEL="xen-test-vm-${VERSION//./-}.xen.gz"
GUEST="/boot/guest"
IMG="$GUEST/$KERNEL"
get()
{
mkdir -p "$GUEST"
curl --fail -s -L "$VM" > "$IMG" || rm -f "$IMG"
}
vm()
{
uuid=$(xe vm-create name-label="$1")
xe vm-param-set PV-kernel="$IMG" uuid="$uuid"
echo "$uuid"
}
test -f $IMG || get
uuid=$(vm "vm-1")
xe vm-start uuid=$uuid
xe vm-shutdown uuid=$uuid
xe vm-param-set uuid=$uuid platform:nested-virt=true
xe vm-param-set uuid=$uuid memory-dynamic-min=268435456
xe vm-param-set uuid=$uuid memory-static-min=268435456
xe vm-start uuid=$uuid
xe vm-shutdown uuid=$uuid
xe vm-destroy uuid=$uuid
uuid=$(vm "vm-2")
xe vm-param-set uuid=$uuid platform:nested-virt=true
echo "this should fail"
xe vm-start uuid=$uuid || true
xe vm-destroy uuid=$uuid
uuid=$(vm "vm-3")
xe vm-param-set uuid=$uuid memory-dynamic-min=268435456
xe vm-param-set uuid=$uuid memory-static-min=268435456
xe vm-param-set uuid=$uuid platform:nested-virt=true
xe vm-start uuid=$uuid
xe vm-shutdown uuid=$uuid
xe vm-destroy uuid=$uuid
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment