mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
[XEND] Checks to make sure the image type is valid in configuration
The 'builder' (eg. image type) should either be 'hvm' or 'linux' as image.py only supports these at the moment. Signed-off-by: Alastair Tse <atse@xensource.com>
This commit is contained in:
1 parent
3c8100f8d9
commit
4b08ed154c
1 file changed
+15
-2
@@ -328,9 +328,14 @@ class XendConfig(dict):
|
||||
raise XendConfigError('Invalid event handling mode: ' +
|
||||
event)
|
||||
|
||||
def _builder_sanity_check(self):
|
||||
if self['builder'] not in ('hvm', 'linux'):
|
||||
raise XendConfigError('Invalid builder configuration')
|
||||
|
||||
def validate(self):
|
||||
self._memory_sanity_check()
|
||||
self._actions_sanity_check()
|
||||
self._builder_sanity_check()
|
||||
|
||||
def _dominfo_to_xapi(self, dominfo):
|
||||
self['domid'] = dominfo['domid']
|
||||
@@ -665,7 +670,14 @@ class XendConfig(dict):
|
||||
officially supported by the Xen API but is required for
|
||||
the rest of Xend to function.
|
||||
"""
|
||||
pass
|
||||
|
||||
# populate image
|
||||
self['image']['type'] = self['builder']
|
||||
if self['builder'] == 'hvm':
|
||||
self['image']['hvm'] = {}
|
||||
for xapi, cfgapi in XENAPI_HVM_CFG.items():
|
||||
self['image']['hvm'][cfgapi] = self[xapi]
|
||||
|
||||
|
||||
def _get_old_state_string(self):
|
||||
"""Returns the old xm state string.
|
||||
@@ -868,13 +880,14 @@ class XendConfig(dict):
|
||||
|
||||
elif dev_type in ('vbd', 'tap'):
|
||||
if dev_type == 'vbd':
|
||||
dev_info['uname'] = cfg_xenapi.get('image', None)
|
||||
dev_info['uname'] = cfg_xenapi.get('image', '')
|
||||
dev_info['dev'] = '%s:disk' % cfg_xenapi.get('device')
|
||||
elif dev_type == 'tap':
|
||||
dev_info['uname'] = 'tap:qcow:%s' % cfg_xenapi.get('image')
|
||||
dev_info['dev'] = '%s:disk' % cfg_xenapi.get('device')
|
||||
|
||||
dev_info['driver'] = cfg_xenapi.get('driver')
|
||||
dev_info['VDI'] = cfg_xenapi.get('VDI', '')
|
||||
|
||||
if cfg_xenapi.get('mode') == 'RW':
|
||||
dev_info['mode'] = 'w'
|
||||
|
||||