私の在庫ファイルはグループ変数で構成されています。例:
all:
children:
europe:
vars:
network_id: 3
network_name: "europe-eu"
hosts:
europe-eu-1254:
ansible_host: 8.8.8.8
ansible_ssh_pass: password
ansible_ssh_user: user
...
私のタスクからグループ変数を取得したいのですが、方法がわかりません。
作業例:
- name: Start latest container
docker_container:
name: "server-{{ hostvars[inventory_hostname].vars.network_name }}"
image: "{{ docker_registry }}:{{ docker_tag }}"
state: started
recreate: yes
network_mode: host
oom_killer: no
restart_policy: always
become: yes
...
私の考えでは、これは{{ hostvars[inventory_hostname].vars.network_name }}
正しいアプローチではありません。
ベストアンサー1
変数を引用してください。たとえば、スクリプト
shell> cat playbook.yml
- hosts: all
tasks:
- debug:
var: network_name
- debug:
msg: "{{ network_name }}"
与えられた(要約)
shell> ansible-playbook playbook.yml
ok: [europe-eu-1254] => {
"network_name": "europe-eu"
}
ok: [europe-eu-1254] => {
"msg": "europe-eu"
}