diff options
| author | Carlos Konstanski <ckonstanski@pippiandcarlos.com> | 2017-11-07 16:00:14 -0700 |
|---|---|---|
| committer | Carlos Konstanski <ckonstanski@pippiandcarlos.com> | 2017-11-07 16:00:14 -0700 |
| commit | 31dfd95a2d97086d3e56d524c53f4a5a2cf0eb45 (patch) | |
| tree | 902116226857de989852fa05c64acfce670ba4f2 /image-foundry.py | |
| parent | 3429744c92cf794383c2ddb5a33328e189304917 (diff) | |
adding glance gateway
Diffstat (limited to 'image-foundry.py')
| -rwxr-xr-x | image-foundry.py | 16 |
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"]) |
