disk: Support <seclabel> overrides

This commit is contained in:
Cole Robinson 2015-09-05 14:40:45 -04:00
parent 68962f48f7
commit 3f6081abe5
5 changed files with 25 additions and 6 deletions

View File

@ -334,7 +334,10 @@ Foo bar baz &amp; yeah boii &lt; &gt; yeahfoo
<!-- bus fdc -->
<disk type='block' device='floppy'>
<source dev='/dev/null'/>
<source dev='/dev/null'>
<seclabel model='selinux' relabel='no'/>
<seclabel model='dac' relabel='no'/>
</source>
<target dev='fda' bus='fdc'/>
<boot order='5'/>
</disk>
@ -688,8 +691,10 @@ Foo bar baz &amp; yeah boii &lt; &gt; yeahfoo
<memballoon model='virtio'/>
</devices>
<seclabel model='selinux' type='dynamic'/>
<seclabel model='dac' type='none'/>
<seclabel model='selinux' type='dynamic' relabel='yes'/>
<seclabel model='dac' type='static' relabel='yes'>
<label type='qemu'>107:107</label>
</seclabel>
</domain>

View File

@ -24,7 +24,10 @@
<serial>WD-WMAP9A966149</serial>
</disk>
<disk type="block" device="disk">
<source dev="/dev/null"/>
<source dev="/dev/null">
<seclabel model='selinux' relabel='no'/>
<seclabel model='dac' type='dynamic'/>
</source>
<target dev="hdb" bus="ide"/>
</disk>
<disk type="block" device="cdrom">

View File

@ -25,7 +25,10 @@
<driver name="test" type="raw"/>
</disk>
<disk type="block" device="disk">
<source dev="/dev/null"/>
<source dev="/dev/null">
<seclabel model="selinux" relabel="no"/>
<seclabel model="dac" type="none"/>
</source>
<target dev="hdb" bus="ide"/>
</disk>
<disk type="block" device="floppy">

View File

@ -345,6 +345,11 @@ class XMLParseTest(unittest.TestCase):
check("bus", "ide", "usb")
check("removable", None, False, True)
disk = guest.get_devices("disk")[1]
check = self._make_checker(disk.seclabel[1])
check("model", "dac")
check("type", "dynamic", "none")
disk = _get_disk("hdc")
check = self._make_checker(disk)
check("type", "block", "dir", "file", "block")

View File

@ -31,8 +31,9 @@ import urlgrabber.progress as progress
from . import diskbackend
from . import util
from .device import VirtualDevice
from .seclabel import Seclabel
from .uri import URISplit
from .xmlbuilder import XMLProperty
from .xmlbuilder import XMLChildProperty, XMLProperty
def _qemu_sanitize_drvtype(phystype, fmt, manual_format=False):
@ -766,6 +767,8 @@ class VirtualDisk(VirtualDevice):
iotune_wbs = XMLProperty("./iotune/write_bytes_sec", is_int=True)
iotune_wis = XMLProperty("./iotune/write_iops_sec", is_int=True)
seclabel = XMLChildProperty(Seclabel, relative_xpath="./source")
#################################
# Validation assistance methods #