Playbook ansible зависает часами и не выдает никаких результатов, когда я даю become: yes
. Пожалуйста, проверьте playbook ниже:
- name: Play to get the gathre facts content
hosts: DEV1
become: yes
tasks:
- name: print ansible_facts
debug:
var: ansible_facts["kernel"]
Вывод:
Выполнение playbook зависает и, следовательно, нет вывода.
ansibleuser@debian:~/ansible_code$ ansible-playbook playbooks/gatherfacts_playbook.yaml
PLAY [Play to get the gathre facts content] ********************************************************************************************************************
TASK [Gathering Facts] *****************************************************************************************************************************************
Для того же playbook, если i remove become: yes
тогда он работает нормально:
- name: Play to get the gathre facts content
hosts: DEV1
tasks:
- name: print ansible_facts
debug:
var: ansible_facts["kernel"]
Вывод:
Playbook запускается и дает версию ядра хост-машины.
ansibleuser@debian:~/ansible_code$ ansible-playbook playbooks/gatherfacts_playbook.yaml
PLAY [Play to get the gathre facts content] ********************************************************************************************************************
TASK [Gathering Facts] *****************************************************************************************************************************************
[WARNING]: Platform linux on host DEV1 is using the discovered Python interpreter at /usr/bin/python, but future installation of another Python interpreter
could change this. See https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information.
ok: [DEV1]
TASK [print ansible_facts] *************************************************************************************************************************************
ok: [DEV1] => {
"ansible_facts[\"kernel\"]": "4.9.0-12-amd64"
}
PLAY RECAP *****************************************************************************************************************************************************
DEV1 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Пожалуйста, объясните:
Почему это происходит?
Как можно запустить playbook с become: yes
и получить результат?
Если become: yes
не может быть использовано, то как запустить Linux обновление заголовков linux-headers-$(uname -r)
, для которого требуется версия ядра. Ниже представлена игра, которая выглядит как become: yes is set
.
Пример:
- hosts: DEV1
become: yes
tasks
- name: Update linux kernel header and install build essential
apt:
name:
- "linux-headers-{{ ansible_facts["kernel"] }}"
- build-essential