2017-07-05 2 views
0

私はtelegrafをインストールし、そのメイン設定ファイル/etc/telegraf/telegraf.confの設定を変更しようとしています。可能なini_fileタスクが失敗し、接続を終了します

インストールは成功しましたが、設定ファイルの変更時にタスクが失敗します。ここでは、タスク/メイン/ 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 
+0

あなたは賭けで非常に良いかもしれません! – Luv33preet

+0

ねえ、これは別の問題を引き起こしています。既に存在するブロックを編集するのではなく、実行すると新しいブロックが追加されます。 – Luv33preet

+0

セクション名に大括弧が必要な場合がありますか? –

関連する問題