summaryrefslogtreecommitdiffstats
path: root/utils/env_prepare/stack_prepare.py
diff options
context:
space:
mode:
Diffstat (limited to 'utils/env_prepare/stack_prepare.py')
-rw-r--r--utils/env_prepare/stack_prepare.py47
1 files changed, 36 insertions, 11 deletions
diff --git a/utils/env_prepare/stack_prepare.py b/utils/env_prepare/stack_prepare.py
index c7dae390..6b9bc510 100644
--- a/utils/env_prepare/stack_prepare.py
+++ b/utils/env_prepare/stack_prepare.py
@@ -14,6 +14,7 @@ from utils.logger import Logger
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 @@ 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)
@@ -83,7 +74,14 @@ def _source_file(rc_file):
p = subprocess.Popen(". %s; env" % rc_file, stdout=subprocess.PIPE,
shell=True)
output = p.communicate()[0]
- env = dict((line.split('=', 1) for line in output.splitlines()))
+ output_lines = output.splitlines()
+ env = list()
+ for line in output_lines:
+ if '=' in line:
+ env.append(tuple(line.split('=', 1)))
+
+ env = dict(env)
+# env = dict((line.split('=', 1) for line in output_lines))
os.environ.update(env)
return env
@@ -103,3 +101,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