def install_env_vars(region, stack_name): ec2_conn = create_ec2_connection(region) # get information about the cluster manager_instance = get_manager_instance(ec2_conn, stack_name) with cm_tunnel_ctx(manager_instance) as local_port: env_vars = generate_eggo_env_vars('localhost', local_port, 'admin', 'admin') env_var_exports = ['export {0}={1}'.format(k, v) for (k, v) in env_vars.iteritems()] def do(): append('/home/ec2-user/eggo_env_vars.sh', env_var_exports) append('/home/ec2-user/.bash_profile', 'source /home/ec2-user/eggo_env_vars.sh') master_host = get_master_instance(ec2_conn, stack_name).ip_address execute(do, hosts=[master_host])
def gen_env_vars(cm_host, cm_port, username, password, output): """Generate env vars required for eggo scripts to run""" env_vars = operations.generate_eggo_env_vars(cm_host, cm_port, username, password) for (k, v) in env_vars.iteritems(): output.write("export {0}={1}\n".format(k, v))