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.

Reply via email to