Ansible: Modul `add_host` hanya dijalankan satu kali, pada host pertama tempat permainan diterapkan

Dibuat pada 14 Apr 2015  ·  3Komentar  ·  Sumber: ansible/ansible

Jenis Masalah:

Laporan Bug

Mirip dengan laporan #9931

Versi yang Mungkin:
  • Kemungkinan 1.8.4 (HEAD terpisah ebc8d48d34) terakhir diperbarui 2015/04/14 17:59:44 (GMT +000)
  • Ansible 1.9.0 (HEAD 717ffe2bea terpisah) terakhir diperbarui 2015/04/14 17:58:24 (GMT +000)
  • Ansible 2.0.0 (devel 0345b675f8) terakhir diperbarui 2015/04/14 17:27:56 (GMT +000)
    Lingkungan:

Ubuntu 14.04

Ringkasan:

Tugas add_host hanya dijalankan pada satu host dalam daftar host permainan.

Langkah-langkah Untuk Mereproduksi:

buku pedoman

---
- name: Environment group_vars
  hosts: all
  gather_facts: no
  tasks:

    - debug: var=inventory_hostname

    - name: Add to group
      add_host: name={{inventory_hostname}} groups={{env}}

- name: Groups
  hosts: all
  gather_facts: no
  tasks:
    - debug: var=group_names
    - debug: var=groups[env]
    - fail: msg="done"

file inventaris try.yml

10.0.0.70
10.0.1.171

eksekusi

ansible-playbook -i ansible/try ansible/try.yml -e 'env=acceptance'

Hasil yang diharapkan:

Saya mengharapkan tugas yang menggunakan modul add_host , Add to group , untuk dieksekusi dua kali: sekali untuk setiap Host dalam permainan. Di akhir permainan, setiap tuan rumah akan berada di grup acceptance .

Hasil nyata:
PLAY [Environment group_vars] *************************************************

TASK: [debug var=inventory_hostname] ******************************************
ok: [10.0.0.70] => {
    "var": {
        "inventory_hostname": "10.0.0.70"
    }
}
ok: [10.0.1.171] => {
    "var": {
        "inventory_hostname": "10.0.1.171"
    }
}

TASK: [Add to group] **********************************************************
ok: [10.0.0.70]

PLAY [Groups] *****************************************************************                                                                                                                                                                                        [30/1905]

TASK: [debug var=group_names] *************************************************
ok: [10.0.0.70] => {
    "var": {
        "group_names": [
            "acceptance",
            "ungrouped"
        ]
    }
}
ok: [10.0.1.171] => {
    "var": {
        "group_names": [
            "ungrouped"
        ]
    }
}

TASK: [debug var=groups[env]] *************************************************
ok: [10.0.0.70] => {
    "var": {
        "groups[env]": [
            "10.0.0.70"
        ]
    }
}

TASK: [debug var=groups[env]] *************************************************
ok: [10.0.0.70] => {
    "var": {
        "groups[env]": [
            "10.0.0.70"
        ]
    }
}
ok: [10.0.1.171] => {
    "var": {
        "groups[env]": [
            "10.0.0.70"
        ]
    }
}

TASK: [fail msg="done"] *******************************************************
failed: [10.0.0.70] => {"failed": true}
msg: done
failed: [10.0.1.171] => {"failed": true}
msg: done

FATAL: all hosts have already failed -- aborting

Komentar yang paling membantu

@bcoca , dan bagaimana jika saya ingin menambahkan Host baru ke inventaris untuk setiap Host dari grup lain?

Semua 3 komentar

Kemungkinan Kesalahpahaman

Hai!

Terima kasih banyak atas kiriman Anda ke Ansible. Ini dengan tulus sangat berarti bagi kami.

Kami yakin tiket yang Anda ajukan agak disalahpahami, karena satu hal bekerja sedikit berbeda dari yang dinyatakan.

Secara khusus, ini adalah perilaku yang diharapkan, yang didokumentasikan di halaman ini (catatan):

http://docs.ansible.com/add_host_module.html#id3

Di masa mendatang, ini mungkin topik yang lebih cocok untuk daftar pengguna, yang juga dapat Anda posting di sini jika Anda menginginkan bantuan lebih lanjut terkait hal di atas.

Terima kasih sekali lagi untuk ini dan minat Anda pada Ansible!

dalam hal apa pun Anda tidak menambahkan host baru ke inventaris, Anda mungkin ingin menggunakan direktif group_by sebagai gantinya.

@bcoca , dan bagaimana jika saya ingin menambahkan Host baru ke inventaris untuk setiap Host dari grup lain?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat