title: Why can't puppet find my class?
body: <p>I'm trying to implement the recipe found here <a href="https://github.com/puppetlabs/puppetlabs-firewall#readme" rel="nofollow">https://github.com/puppetlabs/puppetlabs-firewall#readme</a> and I appear to be making a rookie puppet mistake I can't see. I have a module called mwsettings which itself can be found okay (the mwsettings/init.pp stores a helper for loading some templates and that works), but the following code in my site.pp</p>
  
  <pre><code>Firewall {
    notify  =&gt; Exec['persist-firewall'],
    before  =&gt; Class['mwsettings::postfirewall'],
    require =&gt; Class['mwsettings::prefirewall'],
  }
  </code></pre>
  
  <p>Blows up with</p>
  
  <pre><code>Error: Failed to apply catalog: Could not find dependency Class[Mwsettings::Prefirewall] for Firewall[100 accept mysql - XXXXXXXX]
  </code></pre>
  
  <p>when my code later in site.pp invokes</p>
  
  <pre><code>firewall { "100 accept mysql - $name":
      proto =&gt; 'tcp',
      action =&gt; 'accept',
      dport =&gt; 3306,
      source =&gt; $name,
  }
  </code></pre>
  
  <p>But, it appears I have the manifest set up properly for prefirewall:</p>
  
  <pre><code># cat modules/mwsettings/manifests/prefirewall.pp 
  class mwsettings::prefirewall {
    Firewall {
      require =&gt; undef,
    }
  &lt;snip&gt;
  </code></pre>
  
  <p>Am I missing something incredibly trivial here? Since it's my first rodeo with puppet, I'm not even entirely sure how to debug this.</p>
  
  <p>Thanks!</p>