aboutsummaryrefslogtreecommitdiffstats
path: root/tools/xm-test/tests/vtpm/09_vtpm-xapi.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/xm-test/tests/vtpm/09_vtpm-xapi.py')
-rw-r--r--tools/xm-test/tests/vtpm/09_vtpm-xapi.py158
1 files changed, 0 insertions, 158 deletions
diff --git a/tools/xm-test/tests/vtpm/09_vtpm-xapi.py b/tools/xm-test/tests/vtpm/09_vtpm-xapi.py
deleted file mode 100644
index a1aa8b3c70..0000000000
--- a/tools/xm-test/tests/vtpm/09_vtpm-xapi.py
+++ /dev/null
@@ -1,158 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) International Business Machines Corp., 2006
-# Author: Stefan Berger <stefanb@us.ibm.com>
-
-# Test to test the vtpm class through the Xen-API
-#
-# Tested methods:
-# VTPM: get_uuid, get_backend, get_by_uuid, get_record
-# create, destroy, get_VM
-# VM: get_VTPMS
-
-from XmTestLib import xapi
-from XmTestLib.XenAPIDomain import XmTestAPIDomain
-from XmTestLib import *
-from vtpm_utils import *
-import commands
-import os
-
-VTPM_RECORD_KEYS = [ 'backend', 'VM', 'uuid', 'other_config' ]
-
-try:
- # XmTestAPIDomain tries to establish a connection to XenD
- domain = XmTestAPIDomain()
-except Exception, e:
- SKIP("Skipping test. Error: %s" % str(e))
-vm_uuid = domain.get_uuid()
-
-vtpmcfg = {}
-vtpmcfg['backend'] = DOM0_UUID
-vtpmcfg['VM'] = vm_uuid
-
-session = xapi.connect()
-
-vtpm_uuid = session.xenapi.VTPM.create(vtpmcfg)
-
-vtpm_be = session.xenapi.VTPM.get_backend(vtpm_uuid)
-if vtpm_be != vtpmcfg['backend']:
- FAIL("vTPM's backend is in '%s', expected: '%s'" %
- (vtpm_be, vtpmcfg['backend']))
-
-vtpm_rec = session.xenapi.VTPM.get_record(vtpm_uuid)
-
-miss_keys = []
-for k in VTPM_RECORD_KEYS:
- if k not in vtpm_rec.keys():
- miss_keys.append(k)
-if len(miss_keys) > 0:
- FAIL("vTPM record is missing key(s): %s" % miss_keys)
-
-if vtpm_rec['uuid'] != vtpm_uuid:
- FAIL("vTPM record shows vtpm uuid '%s', expected: '%s'" %
- (vtpm_rec['uuid'], vtpm_uuid))
-if vtpm_rec['VM'] != vm_uuid:
- FAIL("vTPM record shows VM uuid '%s', expected: '%s'" %
- (vtpm_rec['VM'], vm_uuid))
-if vtpm_rec['backend'] != vtpmcfg['backend']:
- FAIL("vTPM record shows VM bakcned '%s', expected: '%s'" %
- (vtpm_rev['backend'], vtpmcfg['backend']))
-
-badkeys = []
-keys = vtpm_rec.keys()
-for k in keys:
- if k not in VTPM_RECORD_KEYS:
- badkeys.append(k)
-if len(badkeys) > 0:
- FAIL("Unexpected attributes in result: %s" % badkeys)
-
-if vm_uuid != session.xenapi.VTPM.get_VM(vtpm_uuid):
- FAIL("VM uuid from VTPM.get_VM different (%s) than expected (%s)." %
- (vm_ref, vm_uuid))
-
-uuid = session.xenapi.VTPM.get_uuid(vtpm_uuid)
-if uuid != vtpm_uuid:
- FAIL("vTPM from VTPM.get_uuid different (%s) than expected (%s)." %
- (uuid, vtpm_uuid))
-
-vtpm_ref = session.xenapi.VTPM.get_by_uuid(vtpm_uuid)
-if vtpm_ref != vtpm_uuid:
- FAIL("vTPM from VTPM.get_by_uuid different (%s) than expected (%s)." %
- (vtpm_ref, vtpm_uuid))
-
-vm_vtpms = session.xenapi.VM.get_VTPMs(vm_uuid)
-if len(vm_vtpms) != 1:
- FAIL("Number of vTPMs from get_VTPMs is (%d) not what was expected (%d)" %
- (len(vm_vtpms), 1))
-if vtpm_uuid not in vm_vtpms:
- FAIL("Other vTPM uuid (%s) returned from VM.get_VTPMs than expected (%s)" %
- (vm_vtpms[0], vtpm_uuid))
-
-try:
- console = domain.start()
-except DomainError, e:
- FAIL("Unable to create domain.")
-
-try:
- console.sendInput("input")
-except ConsoleError, e:
- saveLog(console.getHistory())
- FAIL(str(e))
-
-try:
- run = console.runCmd("cat /sys/devices/xen/vtpm-0/pcrs")
-except ConsoleError, e:
- saveLog(console.getHistory())
- FAIL("1. No result from dumping the PCRs")
-
-if re.search("No such file",run["output"]):
- FAIL("TPM frontend support not compiled into (domU?) kernel")
-
-if not re.search("PCR-00:",run["output"]):
- saveLog(console.getHistory())
- FAIL("1. Virtual TPM is not working correctly on /dev/vtpm on backend side: \n%s" % run["output"])
-
-try:
- session.xenapi.VTPM.destroy(vtpm_uuid)
- #Should never get here
- FAIL("Could destroy vTPM while VM is running")
-except:
- pass
-
-rc = session.xenapi.VM.suspend(vm_uuid)
-if rc:
- FAIL("Could not suspend VM")
-
-try:
- session.xenapi.VTPM.destroy(vtpm_uuid)
- #May not throw an exception in 'suspend' state
-except:
- pass
-
-rc = session.xenapi.VM.resume(vm_uuid, False)
-if rc:
- FAIL("Could not resume VM")
-
-try:
- console = domain.getConsole()
-except ConsoleError, e:
- FAIL(str(e))
-
-try:
- run = console.runCmd("cat /sys/devices/xen/vtpm-0/pcrs")
-except ConsoleError, e:
- saveLog(console.getHistory())
- FAIL("2. No result from dumping the PCRs. vTPM has been removed?")
-
-if not re.search("PCR-00:",run["output"]):
- saveLog(console.getHistory())
- FAIL("2. Virtual TPM is not working correctly on /dev/vtpm on backend side: \n%s" % run["output"])
-
-domain.stop()
-
-try:
- session.xenapi.VTPM.destroy(vtpm_uuid)
-except:
- FAIL("Could NOT destroy vTPM while domain is halted.")
-
-domain.destroy()