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)
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)