[Kimchi-devel] [PATCH][Kimchi 2/2] Modify tests to support mem devs with different sizes

Rodrigo Trujillo rodrigo.trujillo at linux.vnet.ibm.com
Thu May 19 12:18:09 UTC 2016


Please ignore this patch

Rodrigo

On 05/17/2016 04:15 PM, Rodrigo Trujillo wrote:
> This patch makes the changes and add tests to check new memory
> behavior. It should add (hotplug) a memory device with the additional
> memory device amount (instead of devs of 1GB as before).
>
> Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo at linux.vnet.ibm.com>
> ---
>   tests/test_model.py | 42 ++++++++++++++++++++++++++++++++++++++----
>   1 file changed, 38 insertions(+), 4 deletions(-)
>
> diff --git a/tests/test_model.py b/tests/test_model.py
> index 737b39c..5f9f042 100644
> --- a/tests/test_model.py
> +++ b/tests/test_model.py
> @@ -19,6 +19,7 @@
>   # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
>
>   import grp
> +import lxml.etree as ET
>   import os
>   import pwd
>   import re
> @@ -34,7 +35,7 @@ from wok.config import config
>   from wok.exception import InvalidOperation
>   from wok.exception import InvalidParameter, NotFoundError, OperationFailed
>   from wok.rollbackcontext import RollbackContext
> -from wok.utils import add_task, get_task_id
> +from wok.utils import add_task, convert_data_size, get_task_id
>   from wok.xmlutils.utils import xpath_get_text
>
>   from wok.plugins.gingerbase import netinfo
> @@ -58,7 +59,7 @@ NON_NUMA_XML = """
>   <domain type='kvm'>
>     <name>non-numa-kimchi-test</name>
>     <maxMemory slots='2' unit='GiB'>4</maxMemory>
> -  <memory unit='GiB'>2</memory>
> +  <memory unit='GiB'>1</memory>
>     <os>
>       <type arch='ppc64'>hvm</type>
>       <boot dev='hd'/>
> @@ -805,7 +806,7 @@ class ModelTests(unittest.TestCase):
>           config.set("authentication", "method", "pam")
>           inst = model.Model(None, objstore_loc=self.tmp_store)
>           orig_params = {'name': 'test',
> -                       'memory': {'current': 1024, 'maxmemory': 3072},
> +                       'memory': {'current': 1024, 'maxmemory': 4096},
>                          'source_media': {'type': 'disk', 'path': UBUNTU_ISO}}
>           inst.templates_create(orig_params)
>
> @@ -827,9 +828,28 @@ class ModelTests(unittest.TestCase):
>                   inst.vm_update('kimchi-vm1', params)
>                   rollback.prependDefer(utils.rollback_wrapper, inst.vm_delete,
>                                         'kimchi-vm1')
> -                params['memory']['maxmemory'] = 3072
> +                params['memory']['maxmemory'] = 4096
>                   self.assertEquals(params['memory'],
>                                     inst.vm_lookup('kimchi-vm1')['memory'])
> +
> +                params['memory']['current'] = 4096
> +                del params['memory']['maxmemory']
> +                inst.vm_update('kimchi-vm1', params)
> +                vm = inst.vm_lookup('kimchi-vm1')
> +                self.assertEquals(4096, vm['memory']['current'])
> +
> +                # Test memory devices
> +                conn = inst.conn.get()
> +                xml = conn.lookupByName('kimchi-vm1').XMLDesc()
> +                root = ET.fromstring(xml)
> +                devs = root.findall('./devices/memory/target/size')
> +                self.assertEquals(2, len(devs))
> +                totMemDevs = 0
> +                for size in devs:
> +                    totMemDevs += convert_data_size(size.text,
> +                                                    size.get('unit'),
> +                                                    'MiB')
> +                self.assertEquals(3072, totMemDevs)
>               else:
>                   self.assertRaises(InvalidOperation, inst.vm_update,
>                                     'kimchi-vm1', params)
> @@ -856,11 +876,25 @@ class ModelTests(unittest.TestCase):
>               self.assertEquals(params['memory']['current'],
>                                 inst.vm_lookup(vm)['memory']['current'])
>
> +            # Test number and size of memory device added
> +            root = ET.fromstring(conn.lookupByName(vm).XMLDesc())
> +            devs = root.findall('./devices/memory/target/size')
> +            self.assertEquals(1, len(devs))
> +            self.assertEquals(2048 << 10, int(devs[0].text))
> +
>               params = {'memory': {'current': 4096}}
>               inst.vm_update(vm, params)
>               self.assertEquals(params['memory']['current'],
>                                 inst.vm_lookup(vm)['memory']['current'])
>
> +            # Test number and size of memory device added
> +            root = ET.fromstring(conn.lookupByName(vm).XMLDesc())
> +            devs = root.findall('./devices/memory/target/size')
> +            self.assertEquals(2, len(devs))
> +            self.assertEquals(1024 << 10, int(devs[1].text))
> +            self.assertEquals(3072 << 10,
> +                              int(devs[0].text) + int(devs[1].text))
> +
>               # Stop vm and test persistence
>               inst.vm_poweroff(vm)
>               self.assertEquals(params['memory']['current'],




More information about the Kimchi-devel mailing list