2016-04-15 47 views
3

在Ansible上,您可以使用register: some_var來保存關於已執行任務的信息,但似乎無法找到任何地方記錄的屬性列表。我在哪裏可以找到支持的註冊變量的屬性列表?

我知道其中的一些,但我確實想要一個完整的列表,因爲我真的很煩,沒有文檔。

  • changed - 設置爲布爾值如果發生了什麼(有助於瞭解任務在遠程計算機上做了什麼)。
  • stderr - 包含從stderr的
  • stdout拉絲輸出 - 包含從標準輸出
  • stdout_lines拉絲輸出 - 所包含的行的列表(即,標準輸出上\ n個分割)。

例如,我如何知道以前的任務是否失敗?

回答

0

參考以下網址註冊模塊: http://docs.ansible.com/ansible/playbooks_variables.html#registered-variables

而且如果任何任務失敗,它會失敗整個ansible劇本並退出。忽略並繼續我們需要使用下面的步驟,任務下

ignore_errors:真

要調試,我們正在執行的劇本,我們應該通過「-v」調試。

+1

這是我的觀點!該文檔不包含有關已註冊變量的屬性的信息。我設法找到某個地方有一個「失敗」的歸因,當作業失敗時變成「真」,但是記錄在哪裏?到目前爲止,似乎我們被迫使用調試模式來發現這些屬性,這顯然是不方便的。 – sorin

2

沒有全面的列表,因爲每個模塊都會返回自己的變量列表。

common return values,它描述了模塊(應該)返回的最小值。

某些模塊(如shell)非常友好,可以列出它們在文檔中提供的return values

我同意這將是相當不錯的,有一個綜合性的cheatsheet列出模塊和返回值。事實上,我們堅持通過每個模塊的python代碼進行操作。

作爲一個example,在shell的情況下(使用command下蓋),返回值是:

module.exit_json(
    cmd  = args, 
    stdout = out.rstrip("\r\n"), 
    stderr = err.rstrip("\r\n"), 
    rc  = rc, 
    start = str(startd), 
    end  = str(endd), 
    delta = str(delta), 
    changed = True, 
    warnings = warnings 
) 
相關問題