render / rpms / libvirt

Forked from rpms/libvirt 9 months ago
Clone
99cbc7
From f10c3ad87c56db9f22cb8c1155d9355b48eebaf9 Mon Sep 17 00:00:00 2001
99cbc7
Message-Id: <f10c3ad87c56db9f22cb8c1155d9355b48eebaf9@dist-git>
99cbc7
From: Erik Skultety <eskultet@redhat.com>
99cbc7
Date: Mon, 20 Aug 2018 17:18:51 +0200
99cbc7
Subject: [PATCH] tests: sev: Test launch-security with specific QEMU version
99cbc7
MIME-Version: 1.0
99cbc7
Content-Type: text/plain; charset=UTF-8
99cbc7
Content-Transfer-Encoding: 8bit
99cbc7
99cbc7
In order to test SEV we need real QEMU capabilities. Ideally, this would
99cbc7
be tested with -latest capabilities, however, our capabilities are
99cbc7
currently tied to Intel HW, even the 2.12.0 containing SEV were edited by
99cbc7
hand, so we can only use that one for now, as splitting the capabilities
99cbc7
according to the vendor is a refactor for another day. The need for real
99cbc7
capabilities comes from the extended SEV platform data (PDH, cbitpos,
99cbc7
etc.) we'll need to cache/parse.
99cbc7
99cbc7
Signed-off-by: Erik Skultety <eskultet@redhat.com>
99cbc7
Acked-by: Peter Krempa <pkrempa@redhat.com>
99cbc7
(cherry picked from commit 6c50cef8a3e4e3407fb42a713a353e42ae3f2bc6)
99cbc7
99cbc7
https://bugzilla.redhat.com/show_bug.cgi?id=1612009
99cbc7
https://bugzilla.redhat.com/show_bug.cgi?id=1619150
99cbc7
99cbc7
Signed-off-by: Erik Skultety <eskultet@redhat.com>
99cbc7
99cbc7
 Conflicts:
99cbc7
	tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args
99cbc7
            - this wasn't a 100% clean file rename and git doesn't like
99cbc7
            that
99cbc7
99cbc7
Reviewed-by: Ján Tomko <jtomko@redhat.com>
99cbc7
---
99cbc7
 ...=> launch-security-sev.x86_64-2.12.0.args} | 19 ++++++++++++-------
99cbc7
 tests/qemuxml2argvtest.c                      |  4 +---
99cbc7
 2 files changed, 13 insertions(+), 10 deletions(-)
99cbc7
 rename tests/qemuxml2argvdata/{launch-security-sev.args => launch-security-sev.x86_64-2.12.0.args} (54%)
99cbc7
99cbc7
diff --git a/tests/qemuxml2argvdata/launch-security-sev.args b/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args
99cbc7
similarity index 54%
99cbc7
rename from tests/qemuxml2argvdata/launch-security-sev.args
99cbc7
rename to tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args
99cbc7
index db0be1a27d..6da068e1a5 100644
99cbc7
--- a/tests/qemuxml2argvdata/launch-security-sev.args
99cbc7
+++ b/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args
99cbc7
@@ -5,25 +5,30 @@ USER=test \
99cbc7
 LOGNAME=test \
99cbc7
 QEMU_AUDIO_DRV=none \
99cbc7
 /usr/bin/qemu-system-x86_64 \
99cbc7
--name QEMUGuest1 \
99cbc7
+-name guest=QEMUGuest1,debug-threads=on \
99cbc7
 -S \
99cbc7
+-object secret,id=masterKey0,format=raw,\
99cbc7
+file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
99cbc7
 -machine pc-1.0,accel=kvm,usb=off,dump-guest-core=off,memory-encryption=sev0 \
99cbc7
 -m 214 \
99cbc7
+-realtime mlock=off \
99cbc7
 -smp 1,sockets=1,cores=1,threads=1 \
99cbc7
 -uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
99cbc7
 -display none \
99cbc7
 -no-user-config \
99cbc7
 -nodefaults \
99cbc7
--chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
99cbc7
-server,nowait \
99cbc7
+-chardev socket,id=charmonitor,fd=1729,server,nowait \
99cbc7
 -mon chardev=charmonitor,id=monitor,mode=control \
99cbc7
 -rtc base=utc \
99cbc7
 -no-shutdown \
99cbc7
 -no-acpi \
99cbc7
--boot c \
99cbc7
--usb \
99cbc7
+-boot strict=on \
99cbc7
+-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \
99cbc7
 -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
99cbc7
--device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
99cbc7
+-device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
99cbc7
 -object sev-guest,id=sev0,cbitpos=47,reduced-phys-bits=1,policy=0x1,\
99cbc7
 dh-cert-file=/tmp/lib/domain--1-QEMUGuest1/dh_cert.base64,\
99cbc7
-session-file=/tmp/lib/domain--1-QEMUGuest1/session.base64
99cbc7
+session-file=/tmp/lib/domain--1-QEMUGuest1/session.base64 \
99cbc7
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
99cbc7
+resourcecontrol=deny \
99cbc7
+-msg timestamp=on
99cbc7
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
99cbc7
index e6c0120670..02bb9889ee 100644
99cbc7
--- a/tests/qemuxml2argvtest.c
99cbc7
+++ b/tests/qemuxml2argvtest.c
99cbc7
@@ -2950,9 +2950,7 @@ mymain(void)
99cbc7
     DO_TEST_CAPS_LATEST("vhost-vsock");
99cbc7
     DO_TEST_CAPS_LATEST("vhost-vsock-auto");
99cbc7
 
99cbc7
-    DO_TEST("launch-security-sev",
99cbc7
-            QEMU_CAPS_KVM,
99cbc7
-            QEMU_CAPS_SEV_GUEST);
99cbc7
+    DO_TEST_CAPS_VER("launch-security-sev", "2.12.0");
99cbc7
 
99cbc7
     if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL)
99cbc7
         virFileDeleteTree(fakerootdir);
99cbc7
-- 
99cbc7
2.18.0
99cbc7