如何从特定模块订购资源?

时间:2013-04-17 15:53:06

标签: module redmine puppet

从模块订购资源时遇到了一些麻烦。

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不想运行清单。没有大写字母,我只是"只是"得到警告:

  

警告:弃用通知:资源引用现在应该在文件/home/charly/testManifests/part1.pp

中的第61行上大写

我做错了什么,但我不知道是什么。我在互联网上搜索了一个答案,但无法在教程和论坛上找到我想要的内容。

1 个答案:

答案 0 :(得分:0)

尝试将链接箭头用于资源组引用,例如

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

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

class { 'postgresql::server': }

更多细节可以在木偶参考Chaining Arrows

中找到