2017-10-19 87 views
-1

首先让我首先提到我对于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 

谢谢。

+0

使用PyChef或类似的Python API绑定来制作一个小的自定义模块可能会更容易。 – coderanger

回答

-1
- name: Test 
    hosts: all 
    connection: local 
    tasks: 
    - shell: knife node run_list add {{ inventory_hostname }} {{ run_list }} 
     delegate_to: localhost 
+0

谢谢。你太棒了! – sebastianwth

+0

因为这是一个新玩法,所以“{{node}}”变量是否超出范围? –