[Kimchi-devel] [PATCH v2] Does not list non-bootable images
Aline Manera
alinefm at linux.vnet.ibm.com
Mon Jun 1 17:22:01 UTC 2015
oh alright... the libvirt Test Driver does not see the file created as a
volumes unless you create it.
On 01/06/2015 12:35, Ramon Medeiros wrote:
> Hi,
>
> removing the lines that you mentioned results in errors in the test
> framework:
>
> ======================================================================
> ERROR: test_iso_scan_shallow (test_rest.HttpsRestTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "test_rest.py", line 925, in test_iso_scan_shallow
> '/storagepools/kimchi_isos/storagevolumes/').read())[0]
> IndexError: list index out of range
>
> ======================================================================
> ERROR: test_iso_scan_shallow (test_rest.RestTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "test_rest.py", line 925, in test_iso_scan_shallow
> '/storagepools/kimchi_isos/storagevolumes/').read())[0]
> IndexError: list index out of range
>
> ======================================================================
> FAIL: test_storagevolume_action
> (test_model_storagevolume.StorageVolumeTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "test_model_storagevolume.py", line 269, in
> test_storagevolume_action
> _do_volume_test(self, model, host, ssl_port, 'default')
> File "test_model_storagevolume.py", line 120, in _do_volume_test
> self.assertEquals(0, storagevolume['allocation'])
> AssertionError: 0 != 1024
>
>
> On 05/29/2015 04:41 PM, Aline Manera wrote:
>>
>>
>> On 29/05/2015 11:13, Ramon Medeiros wrote:
>>> Also fix tests that were using non-bootable isos.
>>>
>>> Signed-off-by: Ramon Medeiros <ramonn at linux.vnet.ibm.com>
>>>
>>> Changes
>>>
>>> v2:
>>> Fix tests that were listing non-bootable isos
>>>
>>> ---
>>> src/kimchi/model/storagevolumes.py | 2 +-
>>> tests/test_rest.py | 16 ++++++++--------
>>> 2 files changed, 9 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/src/kimchi/model/storagevolumes.py
>>> b/src/kimchi/model/storagevolumes.py
>>> index dc807e4..e88c2cb 100644
>>> --- a/src/kimchi/model/storagevolumes.py
>>> +++ b/src/kimchi/model/storagevolumes.py
>>> @@ -530,7 +530,7 @@ class IsoVolumesModel(object):
>>> for volume in volumes:
>>> res = self.storagevolume.lookup(pool_name,
>>> volume.decode("utf-8"))
>>> - if res['format'] == 'iso':
>>> + if res['format'] == 'iso' and res['bootable']:
>>> res['name'] = '%s' % volume
>>> iso_volumes.append(res)
>>> return iso_volumes
>>> diff --git a/tests/test_rest.py b/tests/test_rest.py
>>> index 914b602..9e5988b 100644
>>> --- a/tests/test_rest.py
>>> +++ b/tests/test_rest.py
>>> @@ -61,13 +61,14 @@ def setUpModule():
>>>
>>> # Create fake ISO to do the tests
>>> iso_gen.construct_fake_iso(fake_iso, True, '12.04', 'ubuntu')
>>> -
>>> + iso_gen.construct_fake_iso("/var/lib/libvirt/images/fedora.iso",
>>> True,
>>> + "17", "fedora")
>>>
>>> def tearDownModule():
>>> test_server.stop()
>>> os.unlink('/tmp/obj-store-test')
>>> os.unlink(fake_iso)
>>> -
>>> + os.unlink("/var/lib/libvirt/images/fedora.iso")
>>>
>>> class RestTests(unittest.TestCase):
>>> def _async_op(self, cb, opaque):
>>> @@ -926,9 +927,9 @@ class RestTests(unittest.TestCase):
>>> storagevolume['path'])
>>
>> The first lines of this test are:
>>
>> def test_iso_scan_shallow(self):
>> # fake environment preparation
>> self._create_pool('pool-3')
>> self.request('/storagepools/pool-3/activate', '{}', 'POST')
>> params = {'name': 'fedora.iso',
>> 'capacity': 1073741824, # 1 GiB
>> 'type': 'file',
>> 'format': 'iso'}
>> task_info = model.storagevolumes_create('pool-3', params)
>> wait_task(self._task_lookup, task_info['id'])
>>
>> Which means a volume fedora.iso will be created on pool-3.
>> I think it is the same you did by calling iso_gen.contruct_fake_iso()
>>
>> So you can remove the volume creation step here.
>>
>>> self.assertEquals(1073741824, storagevolume['capacity'])
>>> # 1 GiB
>>> self.assertEquals(0, storagevolume['allocation'])
>>> - self.assertEquals('unknown', storagevolume['os_version'])
>>> - self.assertEquals('unknown', storagevolume['os_distro'])
>>> - self.assertEquals(False, storagevolume['bootable'])
>>> + self.assertEquals('17', storagevolume['os_version'])
>>> + self.assertEquals('fedora', storagevolume['os_distro'])
>>> + self.assertEquals(True, storagevolume['bootable'])
>>>
>>> # Create a template
>>> # In real model os distro/version can be omitted
>>> @@ -943,8 +944,8 @@ class RestTests(unittest.TestCase):
>>> # Verify the template
>>> t = json.loads(self.request('/templates/test').read())
>>> self.assertEquals('test', t['name'])
>>> - self.assertEquals('unknown', t['os_distro'])
>>> - self.assertEquals('unknown', t['os_version'])
>>> + self.assertEquals('fedora', t['os_distro'])
>>> + self.assertEquals('17', t['os_version'])
>>> self.assertEquals(get_template_default('old', 'memory'),
>>> t['memory'])
>>>
>>> # Deactivate or destroy scan pool return 405
>>> @@ -1187,7 +1188,6 @@ class RestTests(unittest.TestCase):
>>> resp = self.request('%s/fedora-fake' % base_uri, '{}',
>>> 'DELETE')
>>> self.assertEquals(204, resp.status)
>>>
>>> -
>>> class HttpsRestTests(RestTests):
>>> """
>>> Run all of the same tests as above, but use https instead
>>
>
More information about the Kimchi-devel
mailing list