2017-05-29 59 views
1

我使用Ansible來完成我係統的自動化。已棄用參數remote_user in role include,解決方法是什麼?

我有一個Ansible劇本取決於兩個角色。 第一個角色在遠程服務器上創建用戶(「specific_user」)。 第二個角色使用這個用戶來做一堆東西。

我的第一個解決方案是下面(我的劇本):

--- 
- hosts: all 

roles: 
    - { role: ansible-role1, remote_user: root } 
    - { role: ansible-role2, remote_user: specific_user } 
... 

但是,在運行時,我碰到Ansible以下警告:

Using 'remote_user' as a role param has been deprecated. 
In the future, these values should be entered in the `vars:` section for 
roles, but for now we'll store it as both a param and an attribute.. 

什麼是另類?

回答

3

目前這只是一個警告消息(直到Ansible版本2.7)。

由於該消息暗示,你需要改變語法(在下面的例子中使用YAML,因爲它更具有可讀性):

roles: 
    - role: ansible-role1 
    vars: 
     remote_user: root 
    - role: ansible-role2 
    vars: 
     remote_user: specific_user 

...

+0

謝謝,我沒理解警告現在很清楚 – MMacphail

+1

我現在收到以下警告:'使用保留名稱remote_user'找到變量,並且有一些後續問題: 1)是您推薦的語法,相當於{remote_user:root}? 2)你可以用這個語法覆蓋角色變量嗎? – MMacphail

+0

這顯然是在Ansible的過渡階段。你使用什麼版本?當你問這個問題時你是否使用了不同的版本? – techraf

相關問題