Example #1
0
def open_cssh_connection(options, user_config, instances):
	print_instances(instances)
	config = get_overridden_config(user_config, instances[0][4])
	args = ['cssh', '-o', '-o StrictHostKeyChecking=no']
	code = config.get('cssh_command', '')
	if code:
		try:
			args = eval(code)
		except TypeError:
			pass
	per_host_args = []
	code = config.get('cssh_per_host_args', '[]')
	if code:
		try:
			per_host_args = eval(code)
		except TypeError:
			pass
	for instance in instances:
		hargs = []
		hargs.extend(per_host_args)
		hargs.append(instance[0].public_dns_name)
		args.extend(hargs)
	if options.ssh_command is not None:
		flag = config.get('cssh_command_flag', '-a')
		if flag:
			args.append(flag)
		args.append(options.ssh_command)
	subprocess.call(args)
Example #2
0
	def group_prompt(self):
		retstr = ""
		if self.group:
			config = get_overridden_config(self.user_config, self.group)
			code = config.get('group_prompt', '')
			if code:
				try:
					return eval(code)
				except TypeError:
					pass
		return retstr
Example #3
0
	def prompt(self):
		config = get_overridden_config(self.user_config)
		code = config.get('prompt', '')
		if code:
			try:
				pstr = eval(code)
				if pstr.strip() != '':
					return ['-t', "export PS1='%s' && bash --norc -i" % pstr]
			except TypeError:
				pass
		return []
Example #4
0
def open_ssh_connection(options, user_config, instance):
	print print_instance(instance)
	config = get_overridden_config(user_config, instance[4])
	args = ['ssh', '-o', 'StrictHostKeyChecking=no']
	code = config.get('ssh_command', '')
	if code:
		try:
			args = eval(code)
		except TypeError:
			pass
	args.append(instance[0].public_dns_name)
	if options.ssh_args:
		args.extend(shlex.split(options.ssh_args))
	if options.ssh_command is not None:
		args.append(options.ssh_command)
	else:
		args.extend(Prompt(user_config, instance).prompt())
	subprocess.call(args)