Ansible delegate_to 任务尝试 ssh
Ansible delegate_to task trying to ssh
我有一个简单的 ansible 角色,在这个角色中有几个基本任务。所有任务都定义为local_action
(或delegate_to: localhost
)。剧本中定义的主机也是localhost
。
现在,当我运行使用此剧本时,它会在执行 role/tasks 之前首先尝试测试 ssh 连接。这不是问题,但我发现在 运行 明确将 localhost
作为主机的剧本之前建立或测试 ssh 连接是不必要的。以下是我的剧本 (playbook.yml
) 的样子:
- hosts: db-servers
roles:
- role: test
角色定义 (roles/test/tasks/main.yml
) 如下所示:
---
- name: Resolve and copy test configuration
template:
src: "roles/test/templates/temp.conf"
dest: "roles/test/files/temp-4.2.0/temp.conf"
delegate_to: 127.0.0.1
become: no
- name: Run test job
delegate_to: 127.0.0.1
command: roles/test/files/test-4.2.0/test.sh
become: no
以下是我的库存文件inv/test
:
[db-servers]
localhost
我正在使用这个命令 运行 我的剧本:
ansible-playbook -i inv/test playbook.yml -vvv
在 ansible 中我是否可以阻止此 ssh 连接检查?
将 connection: local
添加为任务 属性。
- name: Run test job
delegate_to: 127.0.0.1
connection: local
command: roles/test/files/test-4.2.0/test.sh
become: no
或者在清单中定义主机并分配连接类型:
127.0.0.1 ansible_connection=local
我有一个简单的 ansible 角色,在这个角色中有几个基本任务。所有任务都定义为local_action
(或delegate_to: localhost
)。剧本中定义的主机也是localhost
。
现在,当我运行使用此剧本时,它会在执行 role/tasks 之前首先尝试测试 ssh 连接。这不是问题,但我发现在 运行 明确将 localhost
作为主机的剧本之前建立或测试 ssh 连接是不必要的。以下是我的剧本 (playbook.yml
) 的样子:
- hosts: db-servers
roles:
- role: test
角色定义 (roles/test/tasks/main.yml
) 如下所示:
---
- name: Resolve and copy test configuration
template:
src: "roles/test/templates/temp.conf"
dest: "roles/test/files/temp-4.2.0/temp.conf"
delegate_to: 127.0.0.1
become: no
- name: Run test job
delegate_to: 127.0.0.1
command: roles/test/files/test-4.2.0/test.sh
become: no
以下是我的库存文件inv/test
:
[db-servers]
localhost
我正在使用这个命令 运行 我的剧本:
ansible-playbook -i inv/test playbook.yml -vvv
在 ansible 中我是否可以阻止此 ssh 连接检查?
将 connection: local
添加为任务 属性。
- name: Run test job
delegate_to: 127.0.0.1
connection: local
command: roles/test/files/test-4.2.0/test.sh
become: no
或者在清单中定义主机并分配连接类型:
127.0.0.1 ansible_connection=local