[Kimchi-devel] [PATCH] Template disk format test fixes

dhbarboza82 at gmail.com dhbarboza82 at gmail.com
Mon Jul 20 12:43:35 UTC 2015


From: Daniel Henrique Barboza <dhbarboza82 at 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 at 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




More information about the Kimchi-devel mailing list