
On 02/04/2016 02:36 PM, Lucio Correia wrote:
Signed-off-by: Lucio Correia <luciojhc@linux.vnet.ibm.com> --- tests/test_mockmodel.py | 7 ++++--- tests/test_model.py | 17 ++++++++++------- tests/test_rest.py | 14 ++++++++------ tests/test_template.py | 43 ++++++++++++++++++++++++------------------- tests/test_vmtemplate.py | 17 +++++++++-------- 5 files changed, 55 insertions(+), 43 deletions(-)
diff --git a/tests/test_mockmodel.py b/tests/test_mockmodel.py index ce6e837..b7f8f23 100644 --- a/tests/test_mockmodel.py +++ b/tests/test_mockmodel.py @@ -1,7 +1,7 @@ # # Project Kimchi # -# Copyright IBM, Corp. 2013-2015 +# Copyright IBM, Corp. 2013-2016 # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -122,7 +122,7 @@ class MockModelTests(unittest.TestCase): self.assertEquals(2, len(vms)) self.assertIn(u'test-vm', vms)
- keys = set(('name', 'state', 'stats', 'uuid', 'memory', 'cpus', + keys = set(('name', 'state', 'stats', 'uuid', 'memory', 'cpu_info', 'screenshot', 'icon', 'graphics', 'users', 'groups', 'access', 'persistent'))
@@ -136,7 +136,8 @@ class MockModelTests(unittest.TestCase): self.assertEquals('test-vm', info['name']) self.assertEquals(get_template_default('old', 'memory'), info['memory']) - self.assertEquals(1, info['cpus']) + self.assertEquals(1, info['cpu_info']['vcpus']) + self.assertEquals(1, info['cpu_info']['maxvcpus']) self.assertEquals('plugins/kimchi/images/icon-vm.png', info['icon']) self.assertEquals(stats_keys, set(info['stats'].keys())) self.assertEquals('vnc', info['graphics']['type']) diff --git a/tests/test_model.py b/tests/test_model.py index 762f0f8..5d4b99e 100644 --- a/tests/test_model.py +++ b/tests/test_model.py @@ -2,7 +2,7 @@ # # Project Kimchi # -# Copyright IBM, Corp. 2013-2015 +# Copyright IBM, Corp. 2013-2016 # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -102,7 +102,7 @@ class ModelTests(unittest.TestCase): self.assertEquals(1, len(vms)) self.assertEquals('test', vms[0])
- keys = set(('name', 'state', 'stats', 'uuid', 'memory', 'cpus', + keys = set(('name', 'state', 'stats', 'uuid', 'memory', 'cpu_info', 'screenshot', 'icon', 'graphics', 'users', 'groups', 'access', 'persistent'))
@@ -114,7 +114,8 @@ class ModelTests(unittest.TestCase): self.assertEquals('running', info['state']) self.assertEquals('test', info['name']) self.assertEquals(2048, info['memory']) - self.assertEquals(2, info['cpus']) + self.assertEquals(2, info['cpu_info']['vcpus']) + self.assertEquals(2, info['cpu_info']['maxvcpus']) self.assertEquals(None, info['icon']) self.assertEquals(stats_keys, set(info['stats'].keys())) self.assertRaises(NotFoundError, inst.vm_lookup, 'nosuchvm') @@ -267,10 +268,10 @@ class ModelTests(unittest.TestCase): # Create template based on IMG file tmpl_name = "img-tmpl" pool_uri = "/plugins/kimchi/storagepools/default" - tmpl_info = {"cpus": 1, "cdrom": "", "name": tmpl_name, + tmpl_info = {"cpu_info": {"vcpus": 1}, "name": tmpl_name, "graphics": {"type": "vnc", "listen": "127.0.0.1"}, "networks": ["default"], "memory": 1024, "folder": [],
- "icon": "images/icon-vm.png", + "icon": "images/icon-vm.png", "cdrom": "",
Why did you add 'cdrom'?
"os_distro": "unknown", "os_version": "unknown", "disks": [{"base": vol_path, "size": 10, "format": "qcow2", @@ -768,7 +769,8 @@ class ModelTests(unittest.TestCase):
# template disk format must be qcow2 because vmsnapshot # only supports this format - orig_params = {'name': 'test', 'memory': 1024, 'cpus': 1, + orig_params = {'name': 'test', 'memory': 1024, + 'cpu_info': {'vcpus': 1}, 'cdrom': UBUNTU_ISO, 'disks': [{'size': 1, 'format': 'qcow2', 'pool': { 'name': '/plugins/kimchi/storagepools/default'}}]} @@ -838,7 +840,8 @@ class ModelTests(unittest.TestCase): self.assertRaises(OperationFailed, inst.vm_update, 'kimchi-vm1', {'name': 'kimchi-vm2'})
- params = {'name': u'пeω-∨м', 'cpus': 4, 'memory': 2048} + params = {'name': u'пeω-∨м', 'cpu_info': {'vcpus': 4}, + 'memory': 2048} inst.vm_update('kimchi-vm1', params) rollback.prependDefer(utils.rollback_wrapper, inst.vm_delete, u'пeω-∨м') diff --git a/tests/test_rest.py b/tests/test_rest.py index f4c4f4e..1fc0f71 100644 --- a/tests/test_rest.py +++ b/tests/test_rest.py @@ -148,7 +148,7 @@ class RestTests(unittest.TestCase): vm = json.loads(self.request('/plugins/kimchi/vms/vm-1').read()) self.assertEquals('vm-1', vm['name'])
- req = json.dumps({'cpus': 3}) + req = json.dumps({'cpu_info': {'maxvcpus': 5, 'vcpus': 3}}) resp = self.request('/plugins/kimchi/vms/vm-1', req, 'PUT') self.assertEquals(200, resp.status)
@@ -164,7 +164,7 @@ class RestTests(unittest.TestCase): self.assertEquals(400, resp.status)
# Unable to do CPU hotplug - req = json.dumps({'cpus': 5}) + req = json.dumps({'cpu_info': {'vcpus': 5}}) resp = self.request('/plugins/kimchi/vms/vm-1', req, 'PUT') self.assertEquals(400, resp.status)
@@ -203,11 +203,11 @@ class RestTests(unittest.TestCase): resp = self.request('/plugins/kimchi/vms/vm-1', req, 'PUT') self.assertEquals(400, resp.status)
- req = json.dumps({'cpus': -2}) + req = json.dumps({'cpu_info': {'vcpus': -2}}) resp = self.request('/plugins/kimchi/vms/vm-1', req, 'PUT') self.assertEquals(400, resp.status)
- req = json.dumps({'cpus': 'four'}) + req = json.dumps({'cpu_info': {'vcpus': 'four'}}) resp = self.request('/plugins/kimchi/vms/vm-1', req, 'PUT') self.assertEquals(400, resp.status)
@@ -219,11 +219,13 @@ class RestTests(unittest.TestCase): resp = self.request('/plugins/kimchi/vms/vm-1', req, 'PUT') self.assertEquals(400, resp.status)
- req = json.dumps({'name': 'new-name', 'cpus': 5, 'UUID': 'notallowed'}) + req = json.dumps({'name': 'new-name', 'cpu_info': {'vcpus': 5}, + 'UUID': 'notallowed'}) resp = self.request('/plugins/kimchi/vms/vm-1', req, 'PUT') self.assertEquals(400, resp.status)
- params = {'name': u'∨м-црdαtеd', 'cpus': 5, 'memory': 3072} + params = {'name': u'∨м-црdαtеd', 'cpu_info': {'vcpus': 5}, + 'memory': 3072} req = json.dumps(params) resp = self.request('/plugins/kimchi/vms/vm-1', req, 'PUT') self.assertEquals(303, resp.status) diff --git a/tests/test_template.py b/tests/test_template.py index 0b3dd98..3b9f26a 100644 --- a/tests/test_template.py +++ b/tests/test_template.py @@ -2,7 +2,7 @@ # # Project Kimchi # -# Copyright IBM, Corp. 2015 +# Copyright IBM, Corp. 2015-2016 # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -70,7 +70,7 @@ class TemplateTests(unittest.TestCase):
# Create a template without cdrom and disk specified fails with 400 t = {'name': 'test', 'os_distro': 'ImagineOS', - 'os_version': '1.0', 'memory': 1024, 'cpus': 1} + 'os_version': '1.0', 'memory': 1024, 'cpu_info': {'vcpus': 1}} req = json.dumps(t) resp = self.request('/plugins/kimchi/templates', req, 'POST') self.assertEquals(400, resp.status) @@ -82,9 +82,8 @@ class TemplateTests(unittest.TestCase): self.assertEquals(201, resp.status)
# Verify the template - keys = ['name', 'icon', 'invalid', 'os_distro', 'os_version', 'cpus', - 'memory', 'cdrom', 'disks', 'networks', - 'folder', 'graphics', 'cpu_info'] + keys = ['name', 'icon', 'invalid', 'os_distro', 'os_version', 'memory', + 'cdrom', 'disks', 'networks', 'folder', 'graphics', 'cpu_info'] tmpl = json.loads( self.request('/plugins/kimchi/templates/test').read() ) @@ -193,34 +192,40 @@ class TemplateTests(unittest.TestCase): self.assertEquals('fedora', update_tmpl['os_distro']) self.assertEquals('21', update_tmpl['os_version'])
- # Update cpus - req = json.dumps({'cpus': 2}) + # Update maxvcpus only + req = json.dumps({'cpu_info': {'maxvcpus': 2}}) resp = self.request(new_tmpl_uri, req, 'PUT') self.assertEquals(200, resp.status) update_tmpl = json.loads(resp.read()) - self.assertEquals(2, update_tmpl['cpus']) + self.assertEquals(2, update_tmpl['cpu_info']['maxvcpus'])
- # Update memory - req = json.dumps({'memory': 2048}) + # Update vcpus only + req = json.dumps({'cpu_info': {'vcpus': 2}}) resp = self.request(new_tmpl_uri, req, 'PUT') self.assertEquals(200, resp.status) update_tmpl = json.loads(resp.read()) - self.assertEquals(2048, update_tmpl['memory']) + self.assertEquals(2, update_tmpl['cpu_info']['vcpus'])
# Update cpu_info - resp = self.request(new_tmpl_uri) - cpu_info = json.loads(resp.read())['cpu_info'] - self.assertEquals(cpu_info, {}) - self.assertEquals(cpu_info.get('topology'), None) - - cpu_info_data = {'cpu_info': {'topology': {'sockets': 1, - 'cores': 2, - 'threads': 1}}} + cpu_info_data = { + 'cpu_info': { + 'maxvcpus': 2, + 'vcpus': 2, + 'topology': {'sockets': 1, 'cores': 2, 'threads': 1} + } + } resp = self.request(new_tmpl_uri, json.dumps(cpu_info_data), 'PUT') self.assertEquals(200, resp.status) update_tmpl = json.loads(resp.read()) self.assertEquals(update_tmpl['cpu_info'], cpu_info_data['cpu_info'])
+ # Update memory + req = json.dumps({'memory': 2048}) + resp = self.request(new_tmpl_uri, req, 'PUT') + self.assertEquals(200, resp.status) + update_tmpl = json.loads(resp.read()) + self.assertEquals(2048, update_tmpl['memory']) + # Update cdrom cdrom_data = {'cdrom': '/tmp/mock2.iso'} resp = self.request(new_tmpl_uri, json.dumps(cdrom_data), 'PUT') diff --git a/tests/test_vmtemplate.py b/tests/test_vmtemplate.py index de2d542..e157198 100644 --- a/tests/test_vmtemplate.py +++ b/tests/test_vmtemplate.py @@ -1,7 +1,7 @@ # # Project Kimchi # -# Copyright IBM, Corp. 2013-2015 +# Copyright IBM, Corp. 2013-2016 # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -45,12 +45,12 @@ class VMTemplateTests(unittest.TestCase): disk_bus = get_template_default('old', 'disk_bus') memory = get_template_default('old', 'memory') nic_model = get_template_default('old', 'nic_model') - fields = (('name', 'test'), ('os_distro', 'unknown'), - ('os_version', 'unknown'), ('cpus', 1), + fields = (('name', 'test'), ('cdrom', self.iso), + ('os_distro', 'unknown'), ('os_version', 'unknown'), + ('cpu_info', {'vcpus': 1, 'maxvcpus': 1}), ('memory', memory), ('networks', ['default']), ('disk_bus', disk_bus), ('nic_model', nic_model), - ('graphics', {'type': 'vnc', 'listen': '127.0.0.1'}), - ('cdrom', self.iso)) + ('graphics', {'type': 'vnc', 'listen': '127.0.0.1'}))
args = {'name': 'test', 'cdrom': self.iso} t = VMTemplate(args) @@ -121,10 +121,11 @@ class VMTemplateTests(unittest.TestCase): """ graphics = {'type': 'vnc', 'listen': '127.0.0.1'} args = {'name': 'test', 'os_distro': 'opensuse', 'os_version': '12.3', - 'cpus': 2, 'memory': 2048, 'networks': ['foo'], - 'cdrom': self.iso, 'graphics': graphics} + 'cpu_info': {'vcpus': 2, 'maxvcpus': 4}, 'memory': 2048, + 'networks': ['foo'], 'cdrom': self.iso, 'graphics': graphics} t = VMTemplate(args) - self.assertEquals(2, t.info.get('cpus')) + self.assertEquals(2, t.info.get('cpu_info', {}).get('vcpus')) + self.assertEquals(4, t.info.get('cpu_info', {}).get('maxvcpus')) self.assertEquals(2048, t.info.get('memory')) self.assertEquals(['foo'], t.info.get('networks')) self.assertEquals(self.iso, t.info.get('cdrom'))