傀儡variables覆盖失败

我是一个傀儡的新手,遇到了一些问题作为主题,search了一段时间,但失败了一个匹配的答案。 Mys的问题是:

我在/etc/puppet/manifests/site.pp中定义了全局variables$ puppetserver,如下所示:

case $domain { /domain2/:{ $puppetserver = "puppetserver2" include migrate } default:{ $puppetserver = "puppetserver3" } } 

在manifeststs / labs / domain2 / nodes.pp中的domain2中的服务器的节点定义中

 node 'server1.domain2.com' { $puppetserver = "puppetserver3" } 

迁移模块用于傀儡迁移,从网上获取如下:

在modules / migrate / manifests / config.pp中

 class migrate::config { if $puppetserver == undef { fail('You must define the targeted Puppet master to perform the migration') } augeas { 'puppet.conf.migrate': context => '/files/etc/puppet/puppet.conf/main', changes => [ "set server $puppetserver", ] } } 

由于节点“server1.domain2.com”可以匹配site.pp中的domain2设置,因此它应用迁移模块,它应该获得在节点块中定义的$ puppetserver的“puppetserver3”,然后在/ etc / puppet.conf',但是实际的结果是:它被更新为在site.pp中定义的puppetserver2。 我无法弄清楚为什么重写不起作用。 你能帮忙检查一下有什么问题吗?

而作为一个testing:

当我尝试将site.pp中的“include migrate”模块移动到nodes.pp节点“server1.domain2.com”的{}块时,它可以按预期工作。