使用Ansible编排(delegate_to)
问题描述:
首先让我首先提到我对于ansible是新手。所以我的方法在这里可能完全错误。使用Ansible编排(delegate_to)
我正在尝试使用ansible为我编排一些步骤。我正在尝试编写一个剧本,该剧本将使用knife从本地主机修改厨师run_list。我相信我应该使用delgate_to。
现在,如果我运行: ansible-剧本site.yml --limit =主机1,主机2,主机3
我的任务看起来像这样的时刻,但它不是功能。我有一个节点变量,但我真正想要的是上述--limit选项的所有节点,我想迭代它。我该如何完成这个任务?
- name: Adding monitoring chef cookbooks to node's run list
shell: knife node run_list add {{ item }} {{ run_list }}
with_items: "{{ node }}"
delegate_to: localhost
谢谢。
答
- name: Test
hosts: all
connection: local
tasks:
- shell: knife node run_list add {{ inventory_hostname }} {{ run_list }}
delegate_to: localhost
+0
谢谢。你太棒了! – sebastianwth
+0
因为这是一个新玩法,所以“{{node}}”变量是否超出范围? –
使用PyChef或类似的Python API绑定来制作一个小的自定义模块可能会更容易。 – coderanger