- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个非常简单的剧本:
- hosts: test
gather_facts: no
tasks:
- name: debug
debug: msg="{{ inventory_hostname }}"
run_once: yes
delegate_to: "host2"
和 list 文件:
host1 ansible_ssh_host="1.2.3.4"
host2 ansible_ssh_host="1.2.3.5"
[test]
host1
host2
播放结果:
TASK [debug] *************************************************************************************************************************************************************************
ok: [host1 -> host2] => {
"changed": false,
"msg": "host1"
}
为了完整起见,无论我向 delegate_to
添加什么,即使是一些随机字符串,结果始终是 "msg": "host1"
。
如何正确地将此任务委派给 groups.test.1 或任何其他主机?
编辑:
- hosts: test
gather_facts: no
tasks:
- name: 1
shell: "hostname -f"
run_once: yes
delegate_to: "host2"
register: result
- name: debug
debug: msg="{{ ansible_host }} {{ inventory_hostname }} {{ result.stdout }}"
run_once: yes
播放输出:
TASK [command] ***************************************************************************************************************************************************************************************
changed: [host1 -> None]
TASK [debug] *****************************************************************************************************************************************************************************************
ok: [host1] => {
"msg": "1.2.3.4 host1 host2"
}
Ansible 2.3.x
Ansible 2.4.0
最佳答案
inventory_hostname
在您使用 delegate_to
以允许您“跟踪”您所处的环境时不会改变,但其他变量会改变。
你可以测试:
- name: debug
debug: msg="{{ inventory_hostname }} {{ ansible_host }}"
run_once: yes
delegate_to: "host2"
你应该得到:host1 1.2.3.5
关于ansible - 为什么 Ansible 会忽略 delegate_to 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46326978/
我有一个 Ansible (2.1.1.) list : build_machine ansible_host=localhost ansible_connection=local staging_m
我使用带有嵌套循环的 delegate_to 在一组主机之间分发文件。 但在某些情况下存在性能问题,因为任务必须在一台主机上完成才能在下一台主机上执行,依此类推。 为了减少完成任务所需的时间,有没有办
作为用户,我想将文件从 node1 复制到 node2。 copy module + delegate_to 是否可行 下面是我想做的。 Playbook 从 node3 运行。 Playbook S
作为用户,我想将文件从 node1 复制到 node2。 copy module + delegate_to 是否可行 下面是我想做的。 Playbook 从 node3 运行。 Playbook S
我在这个角色中有一个简单的 ansible 角色和几个基本任务。所有任务定义为 local_action (或 delegate_to: localhost)。 playbook中定义的主机也是loc
我正在使用 ansible vsphere_guest 模块在 VMWare 环境中启动基本 Windows 机器。在我的剧本中,为此我设置了 Hosts: 127.0.0.1 connection:
include_role 和 delegate_to 在 Ansible 2.9 中是否一起工作,因为我试图通过运行角色并将其委派给主机 2(下面的代码)来执行以下剧本? Ansible 手册 - n
我有一个非常简单的剧本: - hosts: test gather_facts: no tasks: - name: debug debug: msg="{{ invent
我的 Makefile 有以下步骤 create: do create stuff # extra ansible adhoc command to wait for
我有一个非常简单的剧本: - hosts: test gather_facts: no tasks: - name: debug debug: msg="{{ invent
我想在我用 ansible 管理的机器的容器内执行命令。 delegate_to 可以做到这一点命令(见 https://stackoverflow.com/a/41626257/458274): -
我是一名优秀的程序员,十分优秀!