Puppet 为什么可以';我找不到我的班了吗?

Puppet 为什么可以';我找不到我的班了吗?,puppet,Puppet,我试图实现这里找到的配方,我似乎犯了一个我看不到的新手木偶错误。我有一个名为mwsettings的模块,它本身可以找到(mwsettings/init.pp存储了一个用于加载一些模板的帮助程序,并且可以正常工作),但是我的site.pp中有以下代码 Firewall { notify => Exec['persist-firewall'], before => Class['mwsettings::postfirewall'], require => Class

我试图实现这里找到的配方,我似乎犯了一个我看不到的新手木偶错误。我有一个名为mwsettings的模块,它本身可以找到(mwsettings/init.pp存储了一个用于加载一些模板的帮助程序,并且可以正常工作),但是我的site.pp中有以下代码

Firewall {
  notify  => Exec['persist-firewall'],
  before  => Class['mwsettings::postfirewall'],
  require => Class['mwsettings::prefirewall'],
}
爆炸

Error: Failed to apply catalog: Could not find dependency Class[Mwsettings::Prefirewall] for Firewall[100 accept mysql - XXXXXXXX]
当稍后在site.pp中调用我的代码时

firewall { "100 accept mysql - $name":
    proto => 'tcp',
    action => 'accept',
    dport => 3306,
    source => $name,
}
但是,我似乎已经为prefirewall正确设置了清单:

# cat modules/mwsettings/manifests/prefirewall.pp 
class mwsettings::prefirewall {
  Firewall {
    require => undef,
  }
<snip>
#cat模块/mwsettings/manifests/prefirewall.pp
类mwsettings::prefirewall{
防火墙{
require=>undef,
}
我错过了一些难以置信的琐碎的东西吗?因为这是我第一次与木偶竞技,我甚至不完全确定如何调试它


谢谢!

您指的是一个尚未声明的类

如果您添加此选项,它应该可以工作:

include mwsettings::prefirewall

include mwsettings::postfirewall

FWIW,我正在使用木偶3.0.7诅咒,我不知道它是这样工作的。谢谢你的提醒