Example #1
0
def build(name="autotest", branch="master", provisioner="rackspace",
          template_path=None, config=None, destroy=False,
          dry=False, log=None, log_level="INFO"):

    """ Builds an OpenStack Swift storage cluster
    """
    util.set_log_level(log_level)

    # provisiong deployment
    util.config = Config(config)
    class_name = util.config["provisioners"][provisioner]
    cprovisioner = util.module_classes(provisioners)[class_name]()
    deployment = Chef.fromfile(name, branch, cprovisioner, template_path)
    if dry:
        # build environment
        try:
            deployment.update_environment()
        except Exception:
            util.logger.error(traceback.print_exc())
            deployment.destroy()
            sys.exit(1)

    else:
        util.logger.info(deployment)
        # build deployment
        try:
            deployment.build()
        except Exception:
            util.logger.error(traceback.print_exc())
            deployment.destroy()
            sys.exit(1)

    util.logger.info(deployment)
    if destroy:
        deployment.destroy()
Example #2
0
def build(name="autotest", template="ubuntu-default", branch="master",
          template_path=None, config="pubcloud-neutron.yaml",
          dry=False, log=None, log_level="INFO", provisioner="rackspace",
          secret_path=None):
    """
    Build an OpenStack Cluster
    """
    util.set_log_level(log_level)

    # Provision deployment
    _load_config(config, secret_path)
    cprovisioner = get_provisioner(provisioner)

    util.logger.info("Building deployment object for {0}".format(name))
    deployment = MonsterChefDeployment.fromfile(
        name, template, branch, cprovisioner, template_path)

    if dry:
        try:
            deployment.update_environment()
        except Exception:
            error = traceback.print_exc()
            util.logger.error(error)
            raise

    else:
        util.logger.info(deployment)
        try:
            deployment.build()
        except Exception:
            error = traceback.print_exc()
            util.logger.error(error)
            raise

    util.logger.info(deployment)
Example #3
0
def load(name, config="config.yaml"):
    """
    Load function for iPython
    """

    util.config = Config(config)
    return Chef.from_chef_environment(name)
Example #4
0
def build(name="build", template="precise-default", branch="master",
          config=None, destroy=False, dry=False, log=None, log_level="INFO",
          provisioner="razor", test=False, secret_path=None):
    """
    Builds an OpenStack Cluster
    """
    _set_log(log, log_level)

    # Magic to get the template location from the branch
    if branch == "master":
        template_file = "default"
    else:
        temp_branch = branch.lstrip('v')
        if "rc" in temp_branch:
            template_file = temp_branch.rstrip("rc").replace('.', '_')
        else:
            template_file = temp_branch.replace('.', '_')

    # provisiong deployment
    util.config = Config(config, secret_path=secret_path)
    cprovisioner = get_provisioner(provisioner)
    deployment = MonsterChefDeployment.fromfile(
        name, template, branch, cprovisioner, template_file)
    if dry:
        # build environment
        try:
            deployment.update_environment()
        except Exception:
            util.logger.error(traceback.print_exc())
            if destroy:
                deployment.destroy()
            sys.exit(1)

    else:
        util.logger.info(deployment)
        # build deployment
        try:
            deployment.build()
        except Exception:
            util.logger.error(traceback.print_exc())
            if destroy:
                deployment.destroy()
            sys.exit(1)

    util.logger.info(deployment)

    if test:
        try:
            TempestNeutron(deployment).test()
        except Exception:
            util.logger.error(traceback.print_exc())
            if destroy:
                deployment.destroy()
            sys.exit(1)

    if destroy:
        deployment.destroy()
Example #5
0
def _load(name="build", config=None, secret_path=None):
    # load deployment and source openrc
    util.config = Config(config, secret_path=secret_path)
    return MonsterChefDeployment.from_chef_environment(name)
Example #6
0
def _load(name="autotest", config=None, provisioner="razor"):
    # load deployment and source openrc
    util.config = Config(config)
    class_name = util.config["provisioners"][provisioner]
    cprovisioner = util.module_classes(provisioners)[class_name]()
    return Chef.from_chef_environment(environment=cprovisioner)
Example #7
0
def _load(name="autotest", config="config.yaml", secret_path=None):
    # Load deployment and source openrc
    _load_config(config, secret_path)
    return MonsterChefDeployment.from_chef_environment(name)