Exemplo n.º 1
0
def deploy_emperor(user, host):
    d = {
            "templ_rabbit_ip": host,
            "templ_rabbit_user": config.rabbit_user,
            "templ_rabbit_pass": config.rabbit_pass,
            "templ_rabbit_vhost": config.rabbit_vhost
        }
    di.deploy('emperor', user, host, d)
Exemplo n.º 2
0
def deploy_stormtrooper(user, host, nosql, worker_name, concurrency, worker_number):

    emperor_ip = 0

    for key in config.stormtrooper_emperors:
        if host in config.stormtrooper_emperors[key]:
            emperor_ip = key
            break

    extra_pip_packages = {
        "mongodb": "pymongo",
        "cassandra": "pycassa",
        "hbase": "happybase",
        "redis": "redis",
        "riak": "riak",
        "bigcouch": "couchdbkit"
    }

    extra_apt_packages = {
        "mongodb": "",
        "cassandra": "",
        "hbase": "",
        "redis": "",
        "riak": ["build-essential", "libssl-dev", "libffi-dev", "python-dev"],
        "bigcouch": ""
    }

    if nosql not in const.nosql_list:
        return "Nope"

    nosql_string = '"'
    for ip in config.nosql_ips:
        nosql_string += ip + '","'

    nosql_string = nosql_string[:-2]

    d = {
            "templ_rabbit_ip": emperor_ip,
            "templ_rabbit_user": config.rabbit_user,
            "templ_rabbit_pass": config.rabbit_pass,
            "templ_rabbit_vhost": config.rabbit_vhost,
            "templ_nosql_ip": nosql_string,
            "templ_deploy_home": "/home/opennebula",  # TODO: temporary, change back once not using opennebula
            # "templ_deploy_home": "/home/" + user,
            "templ_handler_name": nosql + "_handler",
            "templ_handler_class": const.nosql_classes[nosql],
            "templ_extra_pip_packages": extra_pip_packages[nosql],
            "templ_extra_apt_packages": extra_apt_packages[nosql],
            "templ_worker_name": worker_name,
            "templ_worker_number": range(0, worker_number),
            "templ_concurrency": concurrency,
            "templ_current_ip": host,
            "templ_user_ip": config.user_ip
        }

    di.deploy('stormtrooper', user, host, d)