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.