
From: Daniel Henrique Barboza <dhbarboza82@gmail.com> Unit tests must consider the scenario where the user set a default disk format other than 'qcow2'. Signed-off-by: Daniel Henrique Barboza <dhbarboza82@gmail.com> --- src/kimchi/vmtemplate.py | 7 ++++--- tests/test_model.py | 5 ++++- tests/test_template.py | 4 +++- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/kimchi/vmtemplate.py b/src/kimchi/vmtemplate.py index 28c6448..2646573 100644 --- a/src/kimchi/vmtemplate.py +++ b/src/kimchi/vmtemplate.py @@ -159,7 +159,8 @@ class VMTemplate(object): dev, xml = get_disk_xml(params) return xml - def _get_default_disk0_format(self): + @staticmethod + def get_default_disk0_format(): config_file = os.path.join(paths.conf_dir, 'template.conf') config = ConfigObj(config_file) @@ -174,7 +175,7 @@ class VMTemplate(object): base_disk_params = {'type': 'disk', 'disk': 'file', 'bus': self.info['disk_bus'], - 'format': self._get_default_disk0_format()} + 'format': self.get_default_disk0_format()} logical_disk_params = {'format': 'raw'} iscsi_disk_params = {'disk': 'block', 'format': 'raw'} @@ -202,7 +203,7 @@ class VMTemplate(object): return unicode(disks_xml, 'utf-8') def to_volume_list(self, vm_uuid): - default_vol_format = self._get_default_disk0_format() + default_vol_format = self.get_default_disk0_format() storage_path = self._get_storage_path() ret = [] for i, d in enumerate(self.info['disks']): diff --git a/tests/test_model.py b/tests/test_model.py index bc71c50..717b9bc 100644 --- a/tests/test_model.py +++ b/tests/test_model.py @@ -738,8 +738,11 @@ class ModelTests(unittest.TestCase): inst = model.Model(None, objstore_loc=self.tmp_store) + # template disk format must be qcow2 because vmsnapshot + # only supports this format orig_params = {'name': 'test', 'memory': 1024, 'cpus': 1, - 'cdrom': UBUNTU_ISO} + 'cdrom': UBUNTU_ISO, + 'disks': [{'size': 1, 'format': 'qcow2'}]} inst.templates_create(orig_params) with RollbackContext() as rollback: diff --git a/tests/test_template.py b/tests/test_template.py index acdb7c6..83561c1 100644 --- a/tests/test_template.py +++ b/tests/test_template.py @@ -24,6 +24,7 @@ import unittest from functools import partial +from kimchi.vmtemplate import VMTemplate from kimchi.config import READONLY_POOL_TYPE from kimchi.mockmodel import MockModel from utils import get_free_port, patch_auth, request, run_server @@ -87,7 +88,8 @@ class TemplateTests(unittest.TestCase): self.assertEquals(sorted(tmpl.keys()), sorted(keys)) # Verify if default disk format was configured - self.assertEquals(tmpl['disks'][0]['format'], 'qcow2') + default_disk_format = VMTemplate.get_default_disk0_format() + self.assertEquals(tmpl['disks'][0]['format'], default_disk_format) # Clone a template resp = self.request('/templates/test/clone', '{}', 'POST') -- 2.4.3