Index: root/xen-unstable.hg/tools/xm-test/tests/vtpm/09_vtpm-xapi.py =================================================================== --- root.orig/xen-unstable.hg/tools/xm-test/tests/vtpm/09_vtpm-xapi.py +++ root/xen-unstable.hg/tools/xm-test/tests/vtpm/09_vtpm-xapi.py @@ -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 Index: root/xen-unstable.hg/tools/xm-test/tests/security-acm/08_security-acm_xapi.py =================================================================== --- root.orig/xen-unstable.hg/tools/xm-test/tests/security-acm/08_security-acm_xapi.py +++ root/xen-unstable.hg/tools/xm-test/tests/security-acm/08_security-acm_xapi.py @@ -19,6 +19,9 @@ vm_label_green = xsconstants.ACM_POLICY 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) Index: root/xen-unstable.hg/tools/python/xen/xm/create.py =================================================================== --- root.orig/xen-unstable.hg/tools/python/xen/xm/create.py +++ root/xen-unstable.hg/tools/python/xen/xm/create.py @@ -1228,7 +1228,7 @@ def config_security_check(config, verbos 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: Index: root/xen-unstable.hg/tools/xm-test/lib/XmTestLib/XenAPIDomain.py =================================================================== --- root.orig/xen-unstable.hg/tools/xm-test/lib/XmTestLib/XenAPIDomain.py +++ root/xen-unstable.hg/tools/xm-test/lib/XmTestLib/XenAPIDomain.py @@ -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"""