2017-02-16 113 views
0

在下面的代碼中,我可以將traceroute_dest定義爲Ansible理解的列表?在哪裏定義with_items列表:參考?

--- 
- name : Traceroute ip addresses 
    hosts: all 
    gather_facts: no 
    tasks: 
    - name: "Trace multiple ip addresses" 
     raw: "traceroute {{item}}" 
     register: trace_result 
     with_items: "{{'traceroute_dest'}}" 
    - debug: var=trace_result.stdout_lines 
+0

首先嚐試打印「{{traceroute_dest}}」,以便您可以檢查。什麼是作爲輸入。 –

+0

任務[跟蹤多個IP地址] ****************************************** *** 任務路徑:/Desktop/Python/trace.yml:6 [DEPRECATION WARNING]:由於未定義錯誤,將跳過任務,將來這將是一個致命錯誤:'traceroute_dest'未定義。 此功能將在未來版本中刪除。通過在ansible.cfg中設置deprecation_warnings = False,可以禁用棄用警告 。 – NANIS

+0

即使我從裏面刪除了引號,它仍然沒有;不知道在哪裏查找traceroute_dest。順便說一句,我創建了另一個具有traceroute_dest的yaml文件,並且該文件的名稱是host_vars.yml。這是一個正確的方法嗎? – NANIS

回答

0

完整的手冊應該是這樣的。

--- 
- name : Traceroute ip addresses 
    hosts: all 
    gather_facts: no 
    vars_files: 
    - 42266085-vars.yml 
    tasks: 
    - name: "Trace multiple ip addresses" 
    raw: "traceroute {{item}}" 
    register: trace_result 
    with_items: "{{traceroute_dest}}" 
    - debug: var=trace_result 
... 

定義變量的文件應該是這樣的。

--- 
traceroute_dest: ["119.82.76.111"] 
+0

非常感謝你,我可以問你什麼是使traceroute輸出更易讀的最佳方式? – NANIS

+0

@NANIS我會建議你,但你期望的格式是什麼? –

+0

由於安全原因,我不能粘貼我的輸出,但它不是正常輸出。它有很多stdout行\ r \ n等。我想獲得常規traceroute輸出只有跳數和IP地址的數量。 – NANIS