core: inherit default_user from template

This commit is contained in:
Marek Marczykowski-Górecki 2014-09-16 01:46:41 +02:00
parent 17cf9f7a9b
commit 9ad4e15c66

View File

@ -153,7 +153,7 @@ class QubesVm(object):
"default": {}, "default": {},
"func": lambda value: eval(str(value)) }, "func": lambda value: eval(str(value)) },
"debug": { "default": False }, "debug": { "default": False },
"default_user": { "default": "user" }, "default_user": { "default": "user", "attr": "_default_user" },
"qrexec_timeout": { "default": 60 }, "qrexec_timeout": { "default": 60 },
"autostart": { "default": False, "attr": "_autostart" }, "autostart": { "default": False, "attr": "_autostart" },
"backup_content" : { 'default': False }, "backup_content" : { 'default': False },
@ -189,7 +189,7 @@ class QubesVm(object):
'uses_default_kernel', 'kernel', 'uses_default_kernelopts',\ 'uses_default_kernel', 'kernel', 'uses_default_kernelopts',\
'kernelopts', 'services', 'installed_by_rpm',\ 'kernelopts', 'services', 'installed_by_rpm',\
'uses_default_netvm', 'include_in_backups', 'debug',\ 'uses_default_netvm', 'include_in_backups', 'debug',\
'default_user', 'qrexec_timeout', 'autostart', 'qrexec_timeout', 'autostart',
'backup_content', 'backup_size', 'backup_path' ]: 'backup_content', 'backup_size', 'backup_path' ]:
attrs[prop]['save'] = lambda prop=prop: str(getattr(self, prop)) attrs[prop]['save'] = lambda prop=prop: str(getattr(self, prop))
# Simple paths # Simple paths
@ -202,6 +202,8 @@ class QubesVm(object):
attrs['mac']['save'] = lambda: str(self._mac) attrs['mac']['save'] = lambda: str(self._mac)
attrs['mac']['save_skip'] = lambda: self._mac is None attrs['mac']['save_skip'] = lambda: self._mac is None
attrs['default_user']['save'] = lambda: str(self._default_user)
attrs['backup_timestamp']['save'] = \ attrs['backup_timestamp']['save'] = \
lambda: self.backup_timestamp.strftime("%s") lambda: self.backup_timestamp.strftime("%s")
attrs['backup_timestamp']['save_skip'] = \ attrs['backup_timestamp']['save_skip'] = \
@ -490,6 +492,17 @@ class QubesVm(object):
def is_updateable(self): def is_updateable(self):
return self.updateable return self.updateable
@property
def default_user(self):
if self.template is not None:
return self.template.default_user
else:
return self._default_user
@default_user.setter
def default_user(self, value):
self._default_user = value
def is_networked(self): def is_networked(self):
if self.is_netvm(): if self.is_netvm():
return True return True