Создать Ansibles remote_tmp из переменной файла конфигурации - PullRequest
0 голосов
/ 22 января 2020

Я хочу исправить следующее предупреждение, вручную создав путь:

Wednesday 22 January 2020  12:50:41 +0100 (0:00:05.878)       0:20:16.431 ***** 
[WARNING]: Module remote_tmp /home/db2inst1/.ansible/tmp did not exist and was created with a mode of 0700, this may cause issues when running as another user. To avoid this, create the remote_tmp dir with the correct permissions
manually

Чтобы сохранить вещи DRY, я не хочу просто использовать шаблон в директиве file для создания , Вместо этого я хотел бы получить доступ к переменной remote_tmp внутри моей книги воспроизведения, чтобы динамически извлекать путь, даже если он изменяется переменными среды или файлом ansible.cfg.

Я не смог найти документацию по этой переменной и попытался:

- debug:
    #var: remote_tmp
    #var: hostvars[remote_tmp]
    var: ansible_remote_tmp

, но всегда получал ошибку, что переменная не определена.

Как я могу получить переменную remote_tmp из конфигурации внутри playbook?

1 Ответ

1 голос
/ 22 января 2020

Пожалуйста, смотрите ниже, если это то, что вы ищете.

---
- hosts: "localhost"
  tasks:
  - name: ansible conf file
    shell: cat /etc/ansible/ansible.cfg | grep remote_tmp | awk '{print $3}'
    register: remote_tmp
  - name: print
    debug:
     msg: "{{remote_tmp.stdout}}"

Вывод:

TASK [print] 
****************************************************
ok: [localhost] => {
    "msg": "~/.ansible/tmp"
}
...