バグレポート
レポート#9931と同様
Ubuntu 14.04
add_host
タスクは、プレイのホストリスト内の単一のホストでのみ実行されます。
プレイブック
---
- 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"
在庫ファイルtry.yml
10.0.0.70
10.0.1.171
実行
ansible-playbook -i ansible/try ansible/try.yml -e 'env=acceptance'
add_host
モジュールを使用するタスクである[グループにacceptance
属します。
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
やあ!
Ansibleにご提出いただきありがとうございます。 それは私たちにとって心から多くのことを意味します。
あなたが提出したチケットは、記載されているものとは少し異なる動作をするため、多少誤解されていると思われます。
特に、これは予想される動作であり、このページ(注)に記載されています。
http://docs.ansible.com/add_host_module.html#id3
将来的には、これはユーザーリストにより適したトピックになる可能性があります。上記についてさらにサポートが必要な場合は、ここに投稿することもできます。
これとAnsibleに関心をお寄せいただき、ありがとうございます。
インベントリに新しいホストを追加しない場合は、代わりにgroup_byディレクティブを使用することをお勧めします。
@bcoca 、および別のグループの各ホストのインベントリに新しいホストを追加したい場合はどうなりますか?
最も参考になるコメント
@bcoca 、および別のグループの各ホストのインベントリに新しいホストを追加したい場合はどうなりますか?