Почему марионетка не может найти мой класс?

Я пытаюсь реализовать рецепт, найденный здесь 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,
}

Но, похоже, у меня правильно настроен манифест для предварительного брандмауэра:

# cat modules/mwsettings/manifests/prefirewall.pp 
class mwsettings::prefirewall {
  Firewall {
    require => undef,
  }
<snip>

Я пропустил что-то невероятно тривиальное здесь? Поскольку это мое первое родео с марионеткой, я даже не совсем уверен, как это отлаживать.

Спасибо!


person PerilousApricot    schedule 12.12.2012    source источник
comment
FWIW, я использую puppet 3.0.7   -  person PerilousApricot    schedule 12.12.2012


Ответы (1)


Вы имеете в виду класс, который вы не объявили.

Если вы добавите это, это должно работать:

include mwsettings::prefirewall

include mwsettings::postfirewall
person Ger Apeldoorn    schedule 12.12.2012
comment
Проклятия, я не знал, что это так работает. Спасибо за внимание - person PerilousApricot; 13.12.2012