mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
xm-test: various fixes
- recently I added an other_config field to the VTPM record which now needs to be accounted for otherwise the test determines a bad key - the dry-run command was throwing a different type of exception (ACMError) than what was caught (XSMError) - the tests based on the raw Xen-API need to build the PV_args parameters from the old 'root' and 'extra' parameters. Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
This commit is contained in:
1 parent
78c593d291
commit
61d0b64c6c
4 files changed
+15
-5
No files matched your search
@@ -1228,7 +1228,7 @@ def config_security_check(config, verbose):
|
||||
if verbose:
|
||||
print " %s: PERMITTED" % (resource)
|
||||
|
||||
except security.XSMError:
|
||||
except security.ACMError:
|
||||
print " %s: DENIED" % (resource)
|
||||
(poltype, res_label, res_policy) = security.get_res_label(resource)
|
||||
if not res_label:
|
||||
|
||||
@@ -38,7 +38,8 @@ class XenAPIConfig:
|
||||
'memory_dynamic_max' ],
|
||||
'kernel' : 'PV_kernel',
|
||||
'ramdisk': 'PV_ramdisk',
|
||||
'root' : 'PV_args'}
|
||||
'root' : 'PV_args',
|
||||
'extra' : 'PV_args' }
|
||||
if isACMEnabled():
|
||||
#A default so every VM can start with ACM enabled
|
||||
self.opts["security_label"] = "ACM:xm-test:red"
|
||||
@@ -47,6 +48,8 @@ class XenAPIConfig:
|
||||
"""Set an option in the config"""
|
||||
if name == "memory":
|
||||
value <<= 20
|
||||
if name == "root":
|
||||
value = "root=" + value
|
||||
if name in self.opttrlate.keys():
|
||||
_name = self.opttrlate[name]
|
||||
else:
|
||||
@@ -56,7 +59,11 @@ class XenAPIConfig:
|
||||
for _n in _name:
|
||||
self.opts[_n] = value
|
||||
else:
|
||||
self.opts[_name] = value
|
||||
if not self.opts.get(_name) or \
|
||||
not _name in [ "PV_args" ]:
|
||||
self.opts[_name] = value
|
||||
else:
|
||||
self.opts[_name] += " " + value
|
||||
|
||||
def getOpt(self, name):
|
||||
"""Return the value of a config option"""
|
||||
|
||||
@@ -19,6 +19,9 @@ vm_label_green = xsconstants.ACM_POLICY_ID + ":xm-test:green"
|
||||
vdi_label_red = xsconstants.ACM_POLICY_ID + ":xm-test:red"
|
||||
vdi_label_green = xsconstants.ACM_POLICY_ID + ":xm-test:green"
|
||||
|
||||
vm_label_unlabeled = xsconstants.ACM_POLICY_ID + ":xm-test:" + \
|
||||
acmpolicy.ACM_LABEL_UNLABELED
|
||||
|
||||
vdi_file = "/dev/ram0"
|
||||
vdi_path = "phy:" + vdi_file
|
||||
|
||||
@@ -105,7 +108,7 @@ if int(res) != 0:
|
||||
FAIL("Should be able to unlabel the domain while it's halted.")
|
||||
|
||||
res = session.xenapi.VM.get_security_label(vm_uuid)
|
||||
if res != "":
|
||||
if res != vm_label_unlabeled:
|
||||
FAIL("Unexpected VM security label after removal: %s" % res)
|
||||
|
||||
res = session.xenapi.VM.set_security_label(vm_uuid, vm_label_red, res)
|
||||
|
||||
@@ -17,7 +17,7 @@ from vtpm_utils import *
|
||||
import commands
|
||||
import os
|
||||
|
||||
VTPM_RECORD_KEYS = [ 'backend', 'VM', 'uuid' ]
|
||||
VTPM_RECORD_KEYS = [ 'backend', 'VM', 'uuid', 'other_config' ]
|
||||
|
||||
try:
|
||||
# XmTestAPIDomain tries to establish a connection to XenD
|
||||
|
||||