2016-09-08 37 views
1

我有一個問題,僕從沒有撿到兩個支柱信息來源,而只是接受最後提到的來源。舉一個例子,以下是我/srv/pillar/top.sls:僕從沒有撿到多個支柱來源

base: 
    'client.id': 
    - users.support 
    - users.dev 

我/srv/pillar/users/support.sls的內容如下:

users: 
    - name: supportname 
    fullname: Name of Support user 
    uid: 1001 
    groups: 
     - sudo 
     - support 

內容我/srv/pillar/users/dev.sls的情況如下:

users: 
    - name: devname 
    fullname: Name of Dev user 
    uid: 1002 
    groups: 
     - dev 

當調用salt 'client.id' pillar.items它只會顯示最後指定的支柱(在這個例子中,只有dev的信息將被顯示)。如果我要切換訂單,則會顯示相反的內容。我真的難以理解可能會導致這種情況的原因。

任何幫助將非常感激。

非常感謝,

大衛

回答

1

目前,SaltStack有支柱[1]在有限的併購戰略。在你的情況下,users鍵被定義爲一個列表。列表不能合併到支柱中,所以最後解析的支柱獲勝。這就是你看到的。

但是,如果密鑰不同,則合併字符。您可以使用此爲您的需要:

/srv/pillar/users/support.sls:

users: 
    supportname: 
    fullname: Name of Support user 
    uid: 1001 
    groups: 
     - sudo 
     - support 

/srv/pillar/users/dev.sls:

​​

你」將以包含兩個條目的users字典結尾:supportnamedevname。例如,您可以使用for username, userdef in salt['pillar.get']('users', {}).iteritems()進行循環。

[1] https://docs.saltstack.com/en/latest/topics/pillar/#pillar-namespace-merges

+0

非常感謝。 Salt有很多文檔,有時可能很難找到您需要的特定位。 –