add_host - добавить весь хост - PullRequest
0 голосов
/ 02 апреля 2020

Я сделал пьесу, в которой хосты были разделены на группы windows и linux. это сценарий (на данный момент он просто Linux и распечатывает элементы в группе):

---
 - name: firstPlaybook
   hosts: all
   gather_facts: true

   tasks:
   - name: Linux Group
     add_host:
       name: "{{ item }}"
       group: LinuxGroup
     when: hostvars[item].ansible_system == 'Linux'
     with_items: "{{ ansible_play_hosts }} "
     run_once: yes

   - name: dubug
     debug:
       msg: "{{ item }}"
     with_items: LinuxGroup

, и когда я запускаю сценарий с параметром -vvv, это то, что я видел в самих задачах:

TASK [Linux Group] *************************************************************
task path: /home/opc/playbooks/playbook.yml:7
skipping: [windowsserver] => (item=windowsserver)  => {
    "ansible_loop_var": "item",
    "changed": false,
    "item": "windowsserver",
    "skip_reason": "Conditional result was False"
}
creating host via 'add_host': hostname=linuxserver
changed: [windowsserver] => (item=linuxserver) => {
    "add_host": {
        "groups": [
            "LinuxGroup"
        ],
        "host_name": "linuxserver",
        "host_vars": {
            "group": "LinuxGroup"
        }
    },
    "ansible_loop_var": "item",
    "changed": true,
    "item": "linuxserver"
}
Perform task: TASK: dubug (N)o/(y)es/(c)ontinue: y

Perform task: TASK: dubug (N)o/(y)es/(c)ontinue: *******************************

TASK [dubug] *******************************************************************
task path: /home/opc/playbooks/playbook.yml:15
ok: [windowsserver] => (item=LinuxGroup) => {
    "msg": "LinuxGroup"
}
ok: [linuxserver] => (item=LinuxGroup) => {
    "msg": "LinuxGroup"
}

, почему при добавлении сервера windows группа linux даже подумала, что она должна быть пропущена (я изменил ips на windowsserver и linuxserver, которые я не опубликую sh их)?

1 Ответ

0 голосов
/ 02 апреля 2020

Все работает как положено. Взгляните на

- debug:
    msg: "{{ groups.LinuxGroup }}"
...