From: Yu Yang (Gabriel) Date: Mon, 12 Mar 2018 02:51:26 +0000 (+0000) Subject: Merge "bottlenecks offiline support" X-Git-Tag: opnfv-6.0.0~10 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=75bf3ebba105798ce450b321a5d770fcee985896;hp=-c;p=bottlenecks.git Merge "bottlenecks offiline support" --- 75bf3ebba105798ce450b321a5d770fcee985896 diff --combined utils/env_prepare/stack_prepare.py index c1604f4d,98308849..c1ac395a --- a/utils/env_prepare/stack_prepare.py +++ b/utils/env_prepare/stack_prepare.py @@@ -14,6 -14,7 +14,7 @@@ from utils.logger import Logge from utils.parser import Parser as config import utils.infra_setup.heat.manager as utils import utils.infra_setup.runner.docker_env as docker_env + import utils.infra_setup.heat.manager as client_manager LOG = Logger(__name__).getLogger() @@@ -37,16 -38,6 +38,6 @@@ def _prepare_env_daemon(test_yardstick) config.bottlenecks_config["yardstick_rc_dir"]) docker_env.docker_exec_cmd(yardstick_contain, cmd) - file_orig = ("/home/opnfv/repos/yardstick/etc" - "/yardstick/yardstick.conf.sample") - file_after = "/etc/yardstick/yardstick.conf" - cmd = "cp %s %s" % (file_orig, - file_after) - docker_env.docker_exec_cmd(yardstick_contain, - cmd) - cmd = "sed -i '12s/http/file/g' /etc/yardstick/yardstick.conf" - docker_env.docker_exec_cmd(yardstick_contain, - cmd) # update the external_network _source_file(rc_file) @@@ -84,6 -75,7 +75,6 @@@ def _source_file(rc_file) shell=True) output = p.communicate()[0] output_lines = output.splitlines() - del output_lines[5] env = dict((line.split('=', 1) for line in output_lines)) os.environ.update(env) return env @@@ -104,3 -96,30 +95,30 @@@ def _append_external_network(rc_file) except OSError as e: if e.errno != errno.EEXIST: raise + + + def prepare_image(image_name, image_dir): + glance_client = client_manager._get_glance_client() + if not os.path.isfile(image_dir): + LOG.error("Error: file %s does not exist.", image_dir) + return None + try: + images = glance_client.images.list() + image_id = next((i.id for i in images if i.name == image_name), None) + if image_id is not None: + LOG.info("Image %s already exists.", image_name) + else: + LOG.info("Creating image '%s' from '%s'...", image_name, image_dir) + + image = glance_client.images.create( + name=image_name, visibility="public", disk_format="qcow2", + container_format="bare") + image_id = image.id + with open(image_dir) as image_data: + glance_client.images.upload(image_id, image_data) + return image_id + except Exception: # pylint: disable=broad-except + LOG.error( + "Error [create_glance_image(glance_client, '%s', '%s')]", + image_name, image_dir) + return None