def __init__(self, host, user_info,play_tasks_list, forks_number=5): self.Options = namedtuple('Options', ['remote_user','connection','module_path', 'forks', 'become', 'become_method', 'become_user', 'check', 'transport','host_key_checking']) self.variable_manager = VariableManager() self.loader = DataLoader() self.host = list() if isinstance(host, str): self.host.append(host) elif isinstance(host, list): self.host = host self.remote_user = user_info['remote_user'] if 'remote_user' in user_info else 'root' self.password_dict['conn_pass'] = user_info['conn_pass'] if 'conn_pass' in user_info else None self.options = self.Options(remote_user=self.remote_user, connection=DEFAULT_CONNECTION, module_path=None, forks=forks_number, become=None, become_method=None, become_user=None, check=False, transport=DEFAULT_TRANSPORT, host_key_checking=False) self.results_callback = ResultCallback() self.inventory = Inventory(loader=self.loader, variable_manager=self.variable_manager, host_list=self.host) self.variable_manager.set_inventory(self.inventory) self.play_tasks_list = play_tasks_list TaskQueueManager.__init__(self, self.inventory, self.variable_manager, self.loader, self.options, self.password_dict, self.results_callback)
def __init__(self, host, user, tasks, port, connection=None, forks_number=5): self.Options = namedtuple('Options', [ 'remote_port', 'remote_user', 'connection', 'module_path', 'forks', 'become', 'become_method', 'become_user', 'check', 'transport', 'host_key_checking', 'private_key_file', 'record_host_keys', 'diff' ]) self.variable_manager = VariableManager() self.loader = DataLoader() self.port = port self.host = list() if isinstance(host, str): self.host.append(host) elif isinstance(host, list): self.host = host if user is None: self.remote_user = '******' self.password_dict['password'] = None else: self.remote_user = user['name'] if 'name' in user else 'root' self.password_dict[ 'conn_pass'] = user['password'] if 'password' in user else None # ssh key self.ssh_key_file = None if options.ssh_key_file is None else options.ssh_key_file self.options = self.Options(remote_port=self.port, remote_user=self.remote_user, connection=DEFAULT_CONNECTION if connection is None else LOCAL_CONNECTION, module_path=None, forks=forks_number, become=None, become_method=None, become_user=None, check=False, transport=DEFAULT_TRANSPORT, host_key_checking=False, record_host_keys=False, private_key_file=self.ssh_key_file, diff=False) self.results_callback = ResultCallback() self.inventory = InnerInventoryManager(loader=self.loader, hosts=self.host) self.variable_manager = VariableManager(loader=self.loader, inventory=self.inventory) self.play_tasks_list = tasks TaskQueueManager.__init__(self, self.inventory, self.variable_manager, self.loader, self.options, self.password_dict, self.results_callback)