2013-04-17 21 views
2

我從模塊中訂購了一些資源。如何從特定模塊訂購資源?

class { 'postgres' : 
    charset => 'UTF8', 
    locale => 'fr_FR', 
    require => Service['postgresqld'], 
}-> 
class { 'postgresql::server': 
} 

postgresql::role { 'role1' : 
    namevar => 'redmine', 
    password_hash => 'random_md5', 
    createdb => true, 
    require => Class['postgres'], 
} 

postgresql::database_user {'charly': 
    password => 'random', 
    role => 'redmine', 
    require => postgresql::role['role1'], 
} 

我想訂這一點,但它出現在role有最後一行語法錯誤。 我很確定它來自首字母大寫。但是如果我輸入大寫字母Postgresql::role['role1]postgresql::Role['role1],Puppet不想運行清單。如果沒有大寫字母,我「只是」得到一個警告:

警告:棄用通知:資源引用,現在應該在61行的文件資本/home/charly/testManifests/part1.pp

我做錯了什麼,但我不知道是什麼。我在互聯網上搜索了一個答案,但在教程和論壇上都找不到我想要的內容。

+3

怎麼樣'需要=> :: PostgreSQL的作用[ 「role1上」]'? – iamauser

+0

就是這樣。謝謝。我不是你爲什麼以前沒有考慮過它! – Pygmay

回答

0

嘗試將鏈接箭頭用於資源組引用,例如

Class['postgres'] -> Class['postgresql::server'] 

class { 'postgres' : 
    charset => 'UTF8', 
    locale => 'fr_FR', 
    require => Service['postgresqld'] 
}   

class { 'postgresql::server': } 

更多細節可以在這裏找到傀儡參考Chaining Arrows