Issue #4415 has been updated by Chris Price.
File 4415-ruby-types-and-source-code.tar.gz added
I now have a simple repro scenario for this.
Repro Steps
-----------
* Untar the attached tarball; it contains the following:
* A simple ruby-defined type (which is just a copy of our Notify type)
* A manifest that contains a manifest-defined type, and then declares one
instance of the manifest-defined type and one instance of the ruby-defined type.
* In a shell, start up a master with a command like this:
puppet master --autosign=true --no-daemonize --debug --verbose
--confdir=/home/test/master/conf --vardir=/home/test/master/var --certname
localhost <b>--libdir=/home/test/scratch/4415-ruby-types-and-source-code/lib
--manifest=/home/cprice/work/puppet/scratch/4415-ruby-types-and-source-code/4415-ruby-types-and-source-code.pp</b>
(The key points above are to make sure that --libdir points to the "lib" dir
from the tarball, and that --manifest points to the .pp file from the tarball.)
* In another shell, run an agent with a command like this:
puppet agent --no-daemonize --debug --trace --verbose
--confdir=/home/test/client/conf --vardir=/home/test/client/var --server
localhost --onetime
What will happen
----------------
The agent run will complete successfully, and it will print the notification
message from the manifest-defined type, but not the one from the ruby-defined
type.
For grins, you can run the same manifest through apply via something like this:
puppet apply ./4415-ruby-types-and-source-code.pp
--confdir=/home/test/client/conf --vardir=/home/test/client/var --no-pluginsync
--libdir=/home/test/scratch/4415-ruby-types-and-source-code/lib
And you'll see both notifications print out.
The issue is that when running via the master/agent mode, the ruby-defined type
is not being synced down to the agent so it doesn't exist there, but it doesn't
cause a failure.
More notes on why to follow.
----------------------------------------
Bug #4415: puppetd ignores resources in the catalog if the type code cannot be
found
https://projects.puppetlabs.com/issues/4415#change-63374
Author: Dan Bode
Status: Accepted
Priority: Normal
Assignee: Chris Price
Category:
Target version: 3.X
Affected Puppet version:
Keywords: pluginsync
Branch:
site.pp
<pre>
node puppetclient {
vcsrepo { "/usr/local/dev/repo":
ensure => present,
provider => git
}
notify { 'test123':
require => Vcsrepo['/usr/local/dev/repo']
}
}
</pre>
if I dont sync vcsrepo and I remove the type source code for notify.rb, then
puppet doesn't fail and just ignores them
<pre>
debug: /Stage[main]//Node[puppetclient]/Notify[test123]/require: requires
Vcsrepo[/usr/local/dev/repo]
info: Applying configuration version '1280516948'
debug: Finishing transaction -607606538
debug: Storing state
debug: Stored state in 0.02 seconds
notice: Finished catalog run in 0.04 seconds
debug: Using cached certificate for ca
debug: Using cached certificate for puppetclient
debug: Using cached certificate_revocation_list for ca
debug: Value of 'preferred_serialization_format' (pson) is invalid for report,
using default (b64_zlib_yaml)
debug: report supports formats: b64_zlib_yaml marshal raw yaml; using
b64_zlib_yaml
</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.