Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
 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")