나는 이것을 시도 할 것이다
- name: Install required packages
shell: "apt-get instal linux-headers-{{ ansible_kernel }}"
그래도 이거 받아
{"msg": "The task includes an option with an undefined variable. The error was: 'ansible_kernel' is undefined\
이 변수를 확인할 수 있습니다.
ansible -i myinventoryfile myhost -m setup | grep kernel
그리고
ansible -i myinventoryfile myhost -m shell -a "uname -r"
어떻게 작동하게 할 수 있나요?
답변1
나를 위해 작동합니다.
% cat facts.yml
#!/usr/bin/env ansible-playbook
- name: test
hosts: somehost.example.edu
tasks:
- debug: var=ansible_kernel
- shell: "echo {{ ansible_kernel }} > /tmp/thisisverybaddonotuse"
% ./facts.yml
PLAY [test] ***
TASK [Gathering Facts] ***
ok: [somehost.example.edu]
TASK [debug] ***
ok: [somehost.example.edu] => {
"ansible_kernel": "3.10.0-693.21.1.el7.x86_64"
}
TASK [command] ***
changed: [somehost.example.edu]
PLAY RECAP ***
somehost.example.edu : ok=3 changed=1 unreachable=0 failed=0
% ssh somehost.example.edu "cat /tmp/thisisverybaddonotuse"
3.10.0-693.21.1.el7.x86_64
사실을 수집하지 않고 있을 수도 있고, 게시한 제한된 정보만으로는 명확하지 않은 일을 하고 있을 수도 있습니다.