diff --git a/manila_tempest_tests/tests/scenario/test_share_basic_ops.py b/manila_tempest_tests/tests/scenario/test_share_basic_ops.py index 7d9b9199..8c44b119 100644 --- a/manila_tempest_tests/tests/scenario/test_share_basic_ops.py +++ b/manila_tempest_tests/tests/scenario/test_share_basic_ops.py @@ -29,6 +29,9 @@ from manila_tempest_tests.tests.api import base from manila_tempest_tests.tests.scenario import manager_share as manager from manila_tempest_tests import utils +from tempfile import mkstemp +from urllib2 import urlopen + CONF = config.CONF LOG = logging.getLogger(__name__) @@ -72,7 +75,10 @@ class ShareBasicOpsBase(manager.ShareScenarioTest): raise self.skipException(message) if not hasattr(self, 'flavor_ref'): self.flavor_ref = CONF.share.client_vm_flavor_ref - if CONF.share.image_with_share_tools: + + if CONF.share.image_with_share_tools == 'centos': + self.image_ref = self._create_centos_based_glance_image() + elif CONF.share.image_with_share_tools: images = self.compute_images_client.list_images()["images"] for img in images: if img["name"] == CONF.share.image_with_share_tools: @@ -296,6 +302,24 @@ class ShareBasicOpsBase(manager.ShareScenarioTest): return locations + def _create_centos_based_glance_image(self): + imagepath = mkstemp(suffix='.qcow2')[1] + imagefile = open(imagepath, 'wb+') + image_response = urlopen('http://cloud.centos.org/centos/7/images/' + + 'CentOS-7-x86_64-GenericCloud.qcow2') + + LOG.info('Downloading CentOS7 image') + while True: + imagecopy = image_response.read(100 * 1024 * 1024) + if imagecopy == '': + break + imagefile.write(imagecopy) + + imagefile.close() + + LOG.info('Creating Glance image using the downloaded image file') + return self._image_create('centos', 'bare', imagepath, 'qcow2') + @tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND) def test_mount_share_one_vm(self): instance = self.boot_instance(wait_until="BUILD")