diff --git a/test/integration/smoke/test_templates.py b/test/integration/smoke/test_templates.py
index bd5f522e440..66008b1a8f3 100644
--- a/test/integration/smoke/test_templates.py
+++ b/test/integration/smoke/test_templates.py
@@ -989,6 +989,8 @@ class TestTemplates(cloudstackTestCase):
)
for template in list_template_response:
+ if template.directdownload == True:
+ continue
self.assertNotEqual(
len(template.downloaddetails),
0,
@@ -1248,11 +1250,7 @@ class TestCreateTemplateWithDirectDownload(cloudstackTestCase):
@classmethod
def tearDownClass(cls):
- try:
- cleanup_resources(cls.apiclient, cls._cleanup)
- except Exception as e:
- raise Exception("Warning: Exception during cleanup : %s" % e)
- return
+ super(TestCreateTemplateWithDirectDownload, cls).tearDownClass()
def setUp(self):
self.apiclient = self.testClient.getApiClient()
@@ -1264,13 +1262,7 @@ class TestCreateTemplateWithDirectDownload(cloudstackTestCase):
return
def tearDown(self):
- try:
- #Clean up, terminate the created templates
- cleanup_resources(self.apiclient, self.cleanup)
-
- except Exception as e:
- raise Exception("Warning: Exception during cleanup : %s" % e)
- return
+ super(TestCreateTemplateWithDirectDownload, self).tearDown()
@attr(tags=["advanced", "smoke"], required_hardware="true")
def test_01_register_template_direct_download_flag(self):
@@ -1323,10 +1315,11 @@ class TestCreateTemplateWithDirectDownload(cloudstackTestCase):
"""
Deploy a VM from a Direct Download registered template with wrong checksum
"""
- self.template["checksum"]="{MD5}XXXXXXX"
+ self.template["checksum"]="{MD5}" + ("X" * 32)
tmpl = Template.register(self.apiclient, self.template, zoneid=self.zone.id, hypervisor=self.hypervisor, randomize_name=False)
self.cleanup.append(tmpl)
+ failed = False
try:
virtual_machine = VirtualMachine.create(
self.apiclient,
@@ -1337,8 +1330,19 @@ class TestCreateTemplateWithDirectDownload(cloudstackTestCase):
serviceofferingid=self.service_offering.id
)
self.cleanup.append(virtual_machine)
- self.fail("Expected to fail deployment")
+ failed = True
except Exception as e:
self.debug("Expected exception")
+ list_virtual_machine_response = VirtualMachine.list(
+ self.apiclient,
+ templateid=tmpl.id,
+ listall=True
+ )
+ if type(list_virtual_machine_response) == list and len(list_virtual_machine_response) > 0:
+ for virtual_machine_response in list_virtual_machine_response:
+ VirtualMachine.delete(virtual_machine_response, self.apiclient, expunge=True)
+
+ if failed == True:
+ self.fail("Expected to fail VM deployment with wrong checksum template")
return
diff --git a/tools/marvin/marvin/lib/base.py b/tools/marvin/marvin/lib/base.py
index 5906d2f1e3d..7f234e0f208 100755
--- a/tools/marvin/marvin/lib/base.py
+++ b/tools/marvin/marvin/lib/base.py
@@ -1522,6 +1522,8 @@ class Template:
if "directdownload" in services:
cmd.directdownload = services["directdownload"]
+ if "checksum" in services:
+ cmd.checksum = services["checksum"]
# Register Template
template = apiclient.registerTemplate(cmd)
diff --git a/ui/src/components/view/ListView.vue b/ui/src/components/view/ListView.vue
index 8352a179afe..b3405d8eda1 100644
--- a/ui/src/components/view/ListView.vue
+++ b/ui/src/components/view/ListView.vue
@@ -176,7 +176,7 @@
- {{ parseFloat(parseFloat(text) / 1024.0 / 1024.0 / 1024.0).toFixed(2) }} GiB
+ {{ isNaN(text) ? text : (parseFloat(parseFloat(text) / 1024.0 / 1024.0 / 1024.0).toFixed(2) + ' GiB') }}
diff --git a/ui/src/config/section/storage.js b/ui/src/config/section/storage.js
index 228def0a763..5a4a88de0d4 100644
--- a/ui/src/config/section/storage.js
+++ b/ui/src/config/section/storage.js
@@ -42,11 +42,7 @@ export default {
const metricsFields = ['diskkbsread', 'diskkbswrite', 'diskiopstotal']
if (store.getters.userInfo.roletype === 'Admin') {
- metricsFields.push({
- physicalsize: (record) => {
- return record.physicalsize ? parseFloat(record.physicalsize / (1024.0 * 1024.0 * 1024.0)).toFixed(2) + 'GB' : ''
- }
- })
+ metricsFields.push('physicalsize')
}
metricsFields.push('utilization')
diff --git a/ui/src/views/image/TemplateZones.vue b/ui/src/views/image/TemplateZones.vue
index 92b992df20d..29a88f5208c 100644
--- a/ui/src/views/image/TemplateZones.vue
+++ b/ui/src/views/image/TemplateZones.vue
@@ -200,7 +200,7 @@