Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)