aboutsummaryrefslogtreecommitdiffstats
path: root/external_policy_checker/external_policy_checker/conf_installer.py
diff options
context:
space:
mode:
Diffstat (limited to 'external_policy_checker/external_policy_checker/conf_installer.py')
-rw-r--r--external_policy_checker/external_policy_checker/conf_installer.py83
1 files changed, 0 insertions, 83 deletions
diff --git a/external_policy_checker/external_policy_checker/conf_installer.py b/external_policy_checker/external_policy_checker/conf_installer.py
deleted file mode 100644
index ec45003b..00000000
--- a/external_policy_checker/external_policy_checker/conf_installer.py
+++ /dev/null
@@ -1,83 +0,0 @@
-import shutil
-import logging
-import argparse
-import os
-from uuid import uuid4
-import glob
-
-logger = logging.getLogger(__name__)
-
-COMPONENTS = (
- "cinder",
- "nova",
- "neutron",
- "glance",
- "keystone"
-)
-
-
-def init():
- parser = argparse.ArgumentParser()
- parser.add_argument("--verbose", '-v', action='store_true', help='verbose mode')
- parser.add_argument("--debug", '-d', action='store_true', help='debug mode')
- parser.add_argument("--templates", '-t', help='set template directory', default="templates/")
- parser.add_argument("--out-dir", '-o', help='if set, copy the files in this directory', default=None)
- parser.add_argument("wrapper_url", help='Wrapper URL to use', nargs="*",
- default=["http://127.0.0.1:8080/policy_checker"])
- args = parser.parse_args()
- logging_format = "%(levelname)s: %(message)s"
- if args.verbose:
- logging.basicConfig(level=logging.INFO, format=logging_format)
- if args.debug:
- logging.basicConfig(level=logging.DEBUG, format=logging_format)
- return args
-
-
-def update_templates(templates_dir, wrapper_url):
- tmp_dir = os.path.join("/tmp", str(uuid4()))
- wrapper_url = wrapper_url[0].strip('"').strip("'")
- os.mkdir(tmp_dir)
- for comp in COMPONENTS:
- input_file = os.path.join(templates_dir, comp + ".policy.json")
- output_file = os.path.join(tmp_dir, comp + ".policy.json")
- output_fd = open(output_file, "w")
- for line in open(input_file):
- output_fd.write(line.replace("{{wrapper}}", wrapper_url))
- return tmp_dir
-
-
-def remove_tmp_files(tmp_dir):
- for _filename in glob.glob(os.path.join(tmp_dir, "*")):
- logger.debug("{} {}".format(_filename, os.path.isfile(_filename)))
- if os.path.isfile(_filename):
- logger.debug("Trying to delete {}".format(_filename))
- os.remove(_filename)
- logger.debug("Delete done")
- os.removedirs(tmp_dir)
-
-
-def main(templates_dir, wrapper_url, out_dir=None):
- logger.info("Moving configuration files")
- tmp_dir = update_templates(templates_dir, wrapper_url)
- if out_dir:
- logger.info("Moving to {}".format(out_dir))
- try:
- os.mkdir(out_dir)
- except FileExistsError:
- logger.warning("Output directory exists, writing on it!")
- for comp in COMPONENTS:
- logger.info("Moving {}".format(comp))
- shutil.copy(os.path.join(tmp_dir, comp + ".policy.json"),
- os.path.join(out_dir, comp + ".policy.json"))
- else:
- logger.info("Moving to /etc")
- for comp in COMPONENTS:
- logger.info("Moving {}".format(comp))
- shutil.copy(os.path.join(tmp_dir, comp + ".policy.json"),
- os.path.join("etc", comp, "policy.json"))
- remove_tmp_files(tmp_dir)
-
-
-if __name__ == "__main__":
- args = init()
- main(args.templates, args.wrapper_url, args.out_dir)