[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