I think that this is because classes are not applied but are declared.
Check the anchor pattern and declare that an puppet::start is declared
before the file. I can give you more info when you actually give us the
puppet class itself.
You can find more info about the anchor pattern here
Hi,
I'm running puppet 3.1.1
I have something similar to the following configuration.
class my_roles::puppet_master {
file { '/etc/default/puppetmaster':
ensure = present,
source =
'puppet:///modules/my_roles/puppetmaster/etc/default/puppetmaster',
#before = Class['puppet'],
}