Задание ansible ini_file завершается неудачно и закрывает соединение
Я пытаюсь установить телеграф и изменить конфигурацию его основного конфигурационного файла. /etc/telegraf/telegraf.conf
,
Установка прошла успешно, но не удалось изменить конфигурационный файл. Вот файл задач / основной /yml
---
- name: install telegraf
apt: pkg=telegraf state=installed
become: true
- name: changing conf file
ini_file:
path: /etc/telegraf/telegraf.conf
section: outputs.influxdb
option: database
value: ['http://localhost:8086']
Но задача терпит неудачу,
fatal: [192.168.122.62]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Shared connection to 192.168.122.62 closed.\r\n", "module_stdout": "Traceback (most recent call last):\r\n File \"/tmp/ansible_CQ_3uv/ansible_module_ini_file.py\", line 319, in <module>\r\n main()\r\n File \"/tmp/ansible_CQ_3uv/ansible_module_ini_file.py\", line 305, in main\r\n (changed,backup_file,diff,msg) = do_ini(module, path, section, option, value, state, backup, no_extra_spaces, create)\r\n File \"/tmp/ansible_CQ_3uv/ansible_module_ini_file.py\", line 268, in do_ini\r\n ini_file = open(filename, 'w')\r\nIOError: [Errno 13] Permission denied: '/etc/telegraf/telegraf.conf'\r\n", "msg": "MODULE FAILURE", "rc": 0}
Это ошибка отказа в разрешении, поэтому я попытался добавить become: true
в задаче, но тогда это говорит о том, что become
не поддерживается в ini_file
,
Это раздел /etc/telegraf/telegraf.conf
файл, который я хочу изменить.
[[outputs.influxdb]]
urls = ["http://192.168.1.9:8086"] # I want http://localhost:8086
database = "server-telegraf"
Я не понимаю, как решить это. Нужна помощь!
1 ответ
Решение
Бьюсь об заклад, вы не на своем месте become
в качестве параметра модуля, а не задачи.
Он должен быть на том же уровне отступа, что и имя действия:
- name: changing conf file
ini_file:
path: /etc/telegraf/telegraf.conf
section: outputs.influxdb
option: database
value: ['http://localhost:8086']
become: yes