为什么木偶不能找到我的班级?

时间:2012-12-12 11:17:55

标签: puppet

我正在尝试实施这里找到的食谱https://github.com/puppetlabs/puppetlabs-firewall#readme,而我似乎正在制造一个我看不到的新手傀儡错误。我有一个名为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>

我在这里错过了一些令人难以置信的微不足道的东西吗?因为这是我的第一个带木偶的牛仔竞技表演,所以我甚至不确定如何调试它。

谢谢!

1 个答案:

答案 0 :(得分:7)

您指的是您尚未声明的课程。

如果你添加它,它应该工作:

include mwsettings::prefirewall

include mwsettings::postfirewall