Issue #12905 has been updated by R.I. Pienaar.

You should use notify{"running.....": } and not notice("running....")

Notify is a type that will show actual order in which the master is applying 
the catalog while notice() is a function that will show the order in which its 
compiling your code.  Compiling is a different stage of the process than 
applying, the chaining affects the apply stage.

In this instance the lines you should be looking at are:

<pre>
root@puppet-test-agent:/etc/puppet/modules/puppetmaster# puppet apply 
test/init.pp --verbose --graph
info: Applying configuration version '1330612896'
notice: /Stage[main]/Puppetmaster::Packages/Exec[install-hiera]/returns: 
executed successfully
info: FileBucket adding {md5}007b0a49f86874e6396fbe52492d768d
info: /Stage[main]/Puppetmaster::Services/File[/tmp/file.txt]: Filebucketed 
/tmp/file.txt to puppet with sum 007b0a49f86874e6396fbe52492d768d
notice: /Stage[main]/Puppetmaster::Services/File[/tmp/file.txt]/content: 
content changed '{md5}007b0a49f86874e6396fbe52492d768d' to 
'{md5}5eb63bbbe01eeed093cb22bb8f5acdc3'
notice: Finished catalog run in 11.78 seconds
</pre>

whic is exactly as the chain defines it:

<pre>
 
Class['puppetmaster::packages']->Class['puppetmaster::files']->Class['puppetmaster::services']
</pre>
----------------------------------------
Bug #12905: Puppet does not follow dependancy chain in manifest
https://projects.puppetlabs.com/issues/12905#change-56139

Author: Phil Spencer
Status: Unreviewed
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 
Keywords: 
Branch: 


Running puppet 2.6.8
I have a simple manifest:

<pre>
class puppetmaster {
  notice ("Running ${module_name}")
  include puppetmaster::files
  include puppetmaster::packages
  include puppetmaster::services
  
Class['puppetmaster::packages']->Class['puppetmaster::files']->Class['puppetmaster::services']
}


class puppetmaster::packages {
  notice ("Running ${module_name}")

  # install puppetmaster packages
  # install gems
  exec {"install-hiera":
      command => "/usr/bin/gem install hiera hiera-puppet",
  }


}


class puppetmaster::files {
  notice ("Running ${module_name}")

  # yaml config data
  file {"/etc/puppet/hiera.yaml":
    source => 'puppet:///modules/puppetmaster/hiera.yaml',
    owner  => 'root',
    group  => 'root',
    mode   => '0644',
  }

  # definition files for YAML

  case $domain {
    /^dev|stg\.vibrant\.corp$/: { $file="common.yaml.dev"}
    default:                    { $file="common.yaml.prod"}
  }
  notice ("file ${$file}")

  file {"/etc/puppet/hieradata/common.yaml" :
    source => "puppet:///modules/puppetmaster/hieradata/${file}",
    owner  => 'root',
    group  => 'root',
    mode   => '0644',

  }
  # ensure hieradata  directory  exists
  file { "/etc/puppet/hieradata/":
    ensure => "directory",
  }

}

class puppetmaster::services {
  notice ("Running ${module_name}")
    file {"/tmp/file.txt" :
    content => hiera('test'),
  }
}
</pre>
-----------
when running a puppet apply, it doesn't run according to the dependancy chain 
list in the manifest (package -> files -> services)
Output is:

<pre>
root@puppet-test-agent:/etc/puppet/modules/puppetmaster# puppet apply 
test/init.pp --verbose --graph
info: Loading facts in fedb
notice: Scope(Class[Puppetmaster]): Running puppetmaster
notice: Scope(Class[Puppetmaster::Files]): Running puppetmaster
notice: Scope(Class[Puppetmaster::Files]): file common.yaml.prod
notice: Scope(Class[Puppetmaster::Packages]): Running puppetmaster
notice: Scope(Class[Puppetmaster::Services]): Running puppetmaster
info: Applying configuration version '1330612896'
notice: /Stage[main]/Puppetmaster::Packages/Exec[install-hiera]/returns: 
executed successfully
info: FileBucket adding {md5}007b0a49f86874e6396fbe52492d768d
info: /Stage[main]/Puppetmaster::Services/File[/tmp/file.txt]: Filebucketed 
/tmp/file.txt to puppet with sum 007b0a49f86874e6396fbe52492d768d
notice: /Stage[main]/Puppetmaster::Services/File[/tmp/file.txt]/content: 
content changed '{md5}007b0a49f86874e6396fbe52492d768d' to 
'{md5}5eb63bbbe01eeed093cb22bb8f5acdc3'
notice: Finished catalog run in 11.78 seconds
</pre>




-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to