summaryrefslogtreecommitdiff
path: root/image-foundry.py
diff options
context:
space:
mode:
authorCarlos Konstanski <ckonstanski@pippiandcarlos.com>2017-11-07 16:00:14 -0700
committerCarlos Konstanski <ckonstanski@pippiandcarlos.com>2017-11-07 16:00:14 -0700
commit31dfd95a2d97086d3e56d524c53f4a5a2cf0eb45 (patch)
tree902116226857de989852fa05c64acfce670ba4f2 /image-foundry.py
parent3429744c92cf794383c2ddb5a33328e189304917 (diff)
adding glance gateway
Diffstat (limited to 'image-foundry.py')
-rwxr-xr-ximage-foundry.py16
1 files changed, 6 insertions, 10 deletions
diff --git a/image-foundry.py b/image-foundry.py
index 678f3b6..b4f38aa 100755
--- a/image-foundry.py
+++ b/image-foundry.py
@@ -12,13 +12,9 @@ import sys
import yaml
-def run_shell_command(cmd):
- return subprocess.check_output(cmd, shell=True)
-
-
def read_manifests(env):
manifests = {}
- manifests_glob = "%s/*.yaml" % env.manifests_path
+ manifests_glob = "%s/*.yaml" % env.extra_envs["manifests_path"]
for manifest_file in glob.glob(manifests_glob):
with open(manifest_file, "r") as myfile:
manifest = yaml.load(myfile.read())
@@ -29,14 +25,14 @@ def read_manifests(env):
def check_image_tag_current(glance, manifest):
- image = glance.find("%s.%s" % (manifest["image_name"], manifest["image_type"]))
+ image = glance.find("%s.%s.unvetted" % (manifest["image_name"], manifest["image_type"]))
return image and str(manifest["tag"]) in image.tags
def create_image(env, manifest):
cmd = "disk-image-create %s -t %s -o /tmp/%s.%s 2>&1" % (manifest["elements"], manifest["image_type"], manifest["image_name"], manifest["image_type"])
environ = manifest["extra_envs"] if "extra_envs" in manifest else {}
- environ["ELEMENTS_PATH"] = env.elements_path
+ environ["ELEMENTS_PATH"] = env.extra_envs["elements_path"]
p = subprocess.Popen([cmd], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=environ)
out, err = p.communicate()
if p.returncode != 0:
@@ -53,17 +49,17 @@ def main(args):
args.os_user_domain_name,
args.os_identity_api_version,
args.os_image_api_version,
- args.elements_path,
- args.manifests_path)
+ {"elements_path": args.elements_path, "manifests_path": args.manifests_path})
manifests = read_manifests(env)
keystone = Keystone(env)
glance = Glance(keystone, endpoint_type="publicURL")
for image_name, manifest in manifests.items():
if not check_image_tag_current(glance, manifest):
create_image(env, manifest)
- glance.upload("%s.%s" % (manifest["image_name"], manifest["image_type"]),
+ glance.upload("%s.%s.unvetted" % (manifest["image_name"], manifest["image_type"]),
manifest["image_type"],
"/tmp/%s.%s" % (manifest["image_name"], manifest["image_type"]),
+ "private",
manifest["tag"])