#!/bin/sh set -e # dep8 qemu + virtualbmc test for ipmitool # Start by defining and creating a qemu vm, then attach vbmc to it. # Afterward test ipmitool commands on the vm. XML=debian/tests/vbmc-qemu-vm-session.xml DOMAIN=bmctest # Clean vm setup on exit cleanup() { if [ -z "$CLEANED_UP" ]; then virsh destroy ${DOMAIN} > /dev/null 2>&1 || true virsh undefine ${DOMAIN} > /dev/null 2>&1 || true CLEANED_UP=1 fi } trap cleanup EXIT # Confirm the test is running on amd64 if [ $(uname -m) != "x86_64" ]; then echo "Not on x86_64...skipping" exit 77 fi # Confirm kernel and initrd are available for running vm if [ ! -f /boot/vmlinuz ] || [ ! -f /boot/initrd.img ]; then echo "Kernel or initrd not found...fail". exit 1 fi # We don't want libvirt using xattrs # https://discuss.linuxcontainers.org/t/cant-run-libvirt-qemu-kvm-in-an-unprivileged-domain-anymore-unable-to-set-xattr/9466/3 sed -r -i 's,^(#|[[:blank:]])*(remember_owner).*$,\2 = 0,' /etc/libvirt/qemu.conf systemctl restart libvirtd.service # Setup vm virt-xml-validate ${XML} virsh define ${XML} virsh start ${DOMAIN} # Attach virtualbmc to vm vbmc add ${DOMAIN} --port 6230 --username testuser --password pass vbmc start ${DOMAIN} # Test ipmitool ipmitool -I lanplus -U testuser -P pass -H 127.0.0.1 -p 6230 power up ipmitool -I lanplus -U testuser -P pass -H 127.0.0.1 -p 6230 power status ipmitool -I lanplus -U testuser -P pass -H 127.0.0.1 -p 6230 chassis status ipmitool -I lanplus -U testuser -P pass -H 127.0.0.1 -p 6230 power down ipmitool -I lanplus -U testuser -P pass -H 127.0.0.1 -p 6230 power status