hvm: propagate qrexec/guiagent setting from template
Do it only in one way - i.e. support the situation where template doesn't have tools installed, but child VM does.
This commit is contained in:
parent
ac9823e6f1
commit
73c38d8d1c
@ -60,8 +60,12 @@ class QubesHVm(QubesVm):
|
||||
attrs['drive'] = { 'save': 'str(self.drive)' }
|
||||
attrs['maxmem'].pop('save')
|
||||
attrs['timezone'] = { 'default': 'localtime', 'save': 'str(self.timezone)' }
|
||||
attrs['qrexec_installed'] = { 'default': False, 'save': 'str(self.qrexec_installed)' }
|
||||
attrs['guiagent_installed'] = { 'default' : False, 'save': 'str(self.guiagent_installed)' }
|
||||
attrs['qrexec_installed'] = { 'default': False,
|
||||
'attr': '_qrexec_installed',
|
||||
'save': 'str(self._qrexec_installed)' }
|
||||
attrs['guiagent_installed'] = { 'default' : False,
|
||||
'attr': '_guiagent_installed',
|
||||
'save': 'str(self._guiagent_installed)' }
|
||||
attrs['_start_guid_first']['eval'] = 'True'
|
||||
attrs['services']['default'] = "{'meminfo-writer': False}"
|
||||
|
||||
@ -110,6 +114,28 @@ class QubesHVm(QubesVm):
|
||||
attrs += [ 'guiagent_installed' ]
|
||||
return attrs
|
||||
|
||||
@property
|
||||
def qrexec_installed(self):
|
||||
return self._qrexec_installed or \
|
||||
bool(self.template and self.template.qrexec_installed)
|
||||
|
||||
@qrexec_installed.setter
|
||||
def qrexec_installed(self, value):
|
||||
if self.template and self.template.qrexec_installed and not value:
|
||||
print >>sys.stderr, "WARNING: When qrexec_installed set in template, it will be propagated to the VM"
|
||||
self._qrexec_installed = value
|
||||
|
||||
@property
|
||||
def guiagent_installed(self):
|
||||
return self._guiagent_installed or \
|
||||
bool(self.template and self.template.guiagent_installed)
|
||||
|
||||
@guiagent_installed.setter
|
||||
def guiagent_installed(self, value):
|
||||
if self.template and self.template.guiagent_installed and not value:
|
||||
print >>sys.stderr, "WARNING: When guiagent_installed set in template, it will be propagated to the VM"
|
||||
self._guiagent_installed = value
|
||||
|
||||
def create_on_disk(self, verbose, source_template = None):
|
||||
if dry_run:
|
||||
return
|
||||
|
Loading…
Reference in New Issue
Block a user