когда ansible-playbook
работает, по умолчанию распечатывает name
поле, с display_args_to_stdout
, он показывает используемые переменные, что полезно, так как вам не нужно устанавливать name
. Но он отображает слишком много информации. Могу ли я сделать так, чтобы он отображал только те переменные / аргументы, которые я установил в задаче?
например Эта задача playbook:
- lineinfile:
line: alias ll="ls -lhtr"
path: /root/.bashrc
отображается так по умолчанию (т.е. с ANSIBLE_DISPLAY_ARGS_TO_STDOUT=no
):
TASK [lineinfile] ************
ok: [server1]
Когда я включаю ANSIBLE_DISPLAY_ARGS_TO_STDOUT=yes
, это отображается так:
TASK [lineinfile line=alias ll="ls -lhtr", path=/root/.bashrc, _ansible_check_mode=True, _ansible_no_log=False, _ansible_debug=False, _ansible_diff=True, _ansible_verbosity=0, _ansible_version=2.9.9, _ansible_module_name=lineinfile, _ansible_syslog_facility=LOG_USER, _ansible_selinux_special_fs=['fuse', 'nfs', 'vboxsf', 'ramfs', '9p', 'vfat'], _ansible_string_conversion_action=warn, _ansible_socket=None, _ansible_shell_executable=/bin/sh, _ansible_keep_remote_files=False, _ansible_tmpdir=None, _ansible_remote_tmp=~/.ansible/tmp] ***
ok: [server1]
который включает множество переменных для каждой задачи (например, _ansible_selinux_special_fs=…
). Можно ли вместо этого отобразить это:
TASK [lineinfile line=alias ll="ls -lhtr", path=/root/.bashrc] ******
ok: [server1]
Я использую ansible (v2.9.9) в ubuntu linux 18.04
Вопрос: "Отображение: ЗАДАЧА [lineinfile line = alias ll =" ls -lhtr ", path = / root / .bashrc]"
A: Нет такого плагин обратного вызова но это возможно развиваться Это. Есть 2 более простых решения.
Поместите переменные в name
. Например
- name: "lineinfile line={{ my_line }}, path={{ my_path }}"
lineinfile:
line: "{{ my_line }}"
path: "{{ my_path }}"
vars:
my_line: alias ll="ls -lhtr"
my_path: /root/.bashrc
дает
TASK [lineinfile line=alias ll="ls -lhtr", path=/root/.bashrc] ****
changed: [localhost]
Следующий вариант - loop_control
label
. Например
- lineinfile:
line: "{{ item.my_line }}"
path: "{{ item.my_path }}"
loop: "{{ my_lines }}"
loop_control:
label: "lineinfile line={{ item.my_line }}, path={{ item.my_path }}"
vars:
my_lines:
- {my_line: alias ll="ls -lhtr", my_path: /root/.bashrc}
дает
TASK [lineinfile] ****
changed: [localhost] => (item=lineinfile line=alias ll="ls -lhtr", path=/root/.bashrc)