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:
Keir Fraser committed 2007-10-25 09:22:28 +01:00
1 parent 78c593d291
commit 61d0b64c6c
4 files changed
+15 -5

No files matched your search

+1 -1
View File
@@ -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:
+9 -2
View File
@@ -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)
+1 -1
View File
@@ -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
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.