[Kimchi-devel] [PATCH 4/4] Add tests to verify if cache and io of a disk can be changed
Aline Manera
alinefm at linux.vnet.ibm.com
Mon Mar 13 21:39:35 UTC 2017
On 03/10/2017 08:19 PM, Ramon Medeiros wrote:
> Tests run both on update and template creation
>
> Signed-off-by: Ramon Medeiros <ramonn at linux.vnet.ibm.com>
> ---
> tests/test_rest.py | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 55 insertions(+), 1 deletion(-)
>
> diff --git a/tests/test_rest.py b/tests/test_rest.py
> index 852e4bd..a704283 100644
> --- a/tests/test_rest.py
> +++ b/tests/test_rest.py
> @@ -151,8 +151,17 @@ class RestTests(unittest.TestCase):
> self.assertEquals(200, resp.status)
>
> def test_edit_vm(self):
> + disks = [
> + {'index': 0, 'size': 10, 'format': 'qcow2',
> + 'pool': {"name": "/plugins/kimchi/storagepools/default-pool"}},
> + {'index': 1, 'size': 10, 'format': 'qcow2', 'io': 'threads',
> + 'cache': 'unsafe', 'bus': 'scsi',
> + 'pool': {"name": "/plugins/kimchi/storagepools/default-pool"}}]
> +
> req = json.dumps({'name': 'test',
> - 'source_media': {'type': 'disk', 'path': fake_iso}})
> + 'source_media': {'type': 'disk', 'path': fake_iso},
> + 'disks': disks})
> +
> resp = self.request('/plugins/kimchi/templates', req, 'POST')
> self.assertEquals(201, resp.status)
>
Please, add tests to update an existing Template to change io, cache and
bus disk information.
> @@ -166,6 +175,23 @@ class RestTests(unittest.TestCase):
> vm = json.loads(self.request('/plugins/kimchi/vms/vm-1').read())
> self.assertEquals('vm-1', vm['name'])
>
> + # test vm storage
> + storages = json.loads(
> + self.request('/plugins/kimchi/vms/vm-1/storages').read())
> + self.assertEquals(len(storages), 3)
> +
> + # test sdb disk
> + resp = self.request('/plugins/kimchi/vms/vm-1/storages/sdb', 'GET')
> + self.assertEquals(resp.status, 200)
> + scsi_disk = json.loads(resp.read())
> + self.assertEquals(scsi_disk['cache'], 'unsafe')
> + self.assertEquals(scsi_disk['io'], 'threads')
> +
> + # remove sdb disk
> + resp = self.request('/plugins/kimchi/vms/vm-1/storages/sdb',
> + '', 'DELETE')
> + self.assertEquals(resp.status, 204)
> +
> req = json.dumps({'cpu_info': {'maxvcpus': 5, 'vcpus': 3}})
> resp = self.request('/plugins/kimchi/vms/vm-1', req, 'PUT')
> self.assertEquals(200, resp.status)
> @@ -330,6 +356,34 @@ class RestTests(unittest.TestCase):
> resp = self.request('/plugins/kimchi/vms/∨м-црdαtеd', req, 'PUT')
> self.assertEquals(400, resp.status)
>
> + # add volume as scsi
> + mock_base = '/tmp/mock.img'
> + os.system("qemu-img create -f qcow2 %s 100M" % mock_base)
> + req = json.dumps({'type': 'disk',
> + 'path': mock_base,
> + 'bus': 'scsi'})
> + resp = self.request('/plugins/kimchi/vms/∨м-црdαtеd/storages',
> + req, 'POST')
> + self.assertEquals(201, resp.status)
> + resp = json.loads(resp.read())
> + self.assertEquals("scsi", resp["bus"])
> + dev = resp["dev"]
> +
> + # change io/cache
> + req = json.dumps({"io": "threads", "cache": "unsafe"})
> + resp = self.request('/plugins/kimchi/vms/∨м-црdαtеd/storages/' +
> + str(dev), req, 'PUT')
> + self.assertEquals(200, resp.status)
> + resp = json.loads(resp.read())
> + self.assertEquals('threads', resp['io'])
> + self.assertEquals('unsafe', resp['cache'])
> +
> + # remove disk
> + resp = self.request('/plugins/kimchi/vms/∨м-црdαtеd/storages/' +
> + str(dev), req, 'DELETE')
> + os.system("rm -rf " + mock_base)
> + self.assertEquals(204, resp.status)
> +
> def test_vm_lifecycle(self):
> # Create a Template
> req = json.dumps({'name': 'test',
More information about the Kimchi-devel
mailing list