def initialize(manifest_fie): init = list() utils.log_info("Initialization....") key = utils.do_deploy_dir(manifest_fie) for stack in utils.initdir(key): for project in key["stack"][stack]: template = key["data"][stack][project]["template"] try: parameters = key["data"][stack][project]["parameters"] except: parameters = None url = False try: url = utils.repodata()[stack][template]["url"] except: utils.log_err("template {} is not exist!".format(template)) exit() dest = "{}/{}/{}".format(key["deploy_dir"], stack, project) utils.log_info("Build {} {} template".format(project, stack)) if not utils.template_url(url, dest): utils.log_err("Check your internet connection!") exit() utils.log_info("Done...") """ Stack init dict """ stack_init = {} stack_init["dir"] = dest stack_init["project"] = project stack_init["stack"] = stack stack_init["env_file"] = False if parameters: utils.log_info("Create {} {} environment file".format( project, stack)) utils.yaml_create("{}/env.yml".format(dest), { "parameters": parameters }) utils.log_info("Done...") stack_init["env_file"] = "{}/env.yml".format(dest) init.append(stack_init) """ Reformat squences deploy """ if utils.check_key(key["data"], "deploy"): if len(key["data"]["deploy"]) > 0: set_sequence = list() for deploy in key["data"]["deploy"]: set_deploy = deploy.split(".") set_stack = set_deploy[0] set_project = set_deploy[1] set_sequence.append([ new_init for new_init in init if (new_init["stack"] == set_stack) and ( new_init["project"] == set_project) ][0]) init = set_sequence utils.yaml_create("{}/deploy.yml".format(key["deploy_dir"]), init) return init
def test_template_url_local(self, monkeypatch): monkeypatch.setattr(neo.libs.utils, "template_git", self.fake_template_git) url = "local+https://github.com/BiznetGIO/neo-heat-kubernetes.git" dest = "path/to/deploy/dir" branch = "0.1.17" assert (utils.template_url( url, dest, branch) == "https://github.com/BiznetGIO/neo-heat-kubernetes.git")