Issue #11562 has been updated by Josh Cooper.
Status changed from Unreviewed to Needs More Information
Assignee set to Yannick Menager
Hi Yannick, I tried the examples you provided and they work as expected using
`puppet apply manifest.pp`:
<pre>
$ puppet apply ~/work/manifests/11562-custom-type.pp --debug
...
info: Glassfishjdbcpool[test2](provider=bee): EXISTS?
info: Foo[test1](provider=baa): EXISTS?
</pre>
And `puppet agent`:
<pre>
$ puppet agent --test --server sirrus.local --pluginsync
info: Retrieving plugin
notice: /File[/Users/josh/.puppet/var/lib/puppet]/ensure: created
notice: /File[/Users/josh/.puppet/var/lib/puppet/type]/ensure: created
notice: /File[/Users/josh/.puppet/var/lib/puppet/type/foo.rb]/ensure: defined
content as '{md5}44c2b79757fcb2e9d6fb59a79896406b'
notice:
/File[/Users/josh/.puppet/var/lib/puppet/type/glassfishjdbcpool.rb]/ensure:
defined content as '{md5}d6139a72a520741132a6deab30e2d6b5'
notice: /File[/Users/josh/.puppet/var/lib/puppet/provider]/ensure: created
notice:
/File[/Users/josh/.puppet/var/lib/puppet/provider/glassfishjdbcpool]/ensure:
created
notice:
/File[/Users/josh/.puppet/var/lib/puppet/provider/glassfishjdbcpool/bee.rb]/ensure:
defined content as '{md5}19166780d67f6f3699f585281e9d3dfa'
notice: /File[/Users/josh/.puppet/var/lib/puppet/provider/foo]/ensure: created
notice: /File[/Users/josh/.puppet/var/lib/puppet/provider/foo/baa.rb]/ensure:
defined content as '{md5}cd47b2ce36b88296578886b61ebb1e86'
notice: /File[/Users/josh/.puppet/var/lib/facter]/ensure: created
notice: /File[/Users/josh/.puppet/var/lib/facter/foo.rb]/ensure: defined
content as '{md5}f743b39f503a34dbb676f8d01b9ebf9d'
info: Loading downloaded plugin /Users/josh/.puppet/var/lib/facter/foo.rb
info: Loading downloaded plugin /Users/josh/.puppet/var/lib/puppet/type/foo.rb
info: Loading downloaded plugin
/Users/josh/.puppet/var/lib/puppet/provider/foo/baa.rb
info: Loading downloaded plugin
/Users/josh/.puppet/var/lib/puppet/type/glassfishjdbcpool.rb
info: Loading downloaded plugin
/Users/josh/.puppet/var/lib/puppet/provider/glassfishjdbcpool/bee.rb
info: Loading facts in foo
info: Loading facts in foo
info: Caching catalog for sirrus.puppetlabs.lan
info: Applying configuration version '1325021312'
info: Glassfishjdbcpool[test2](provider=bee): EXISTS?
info: Foo[test1](provider=baa): EXISTS?
</pre>
One thing that concerns me in the output you provided, is that the plugin sync
reports that the `glassfishjdbcpool` type has been redefined, whereas the `foo`
type is not. And based on the "No ability to" error message, it appears the
newly redefined provider's `exists?` method has gone missing.
<pre>
info: Loading downloaded plugin /var/lib/puppet/lib/puppet/type/foo.rb
info: Loading downloaded plugin
/var/lib/puppet/lib/puppet/provider/glassfishjdbcpool/bee.rb
info: Loading downloaded plugin
/var/lib/puppet/lib/puppet/type/glassfishjdbcpool.rb
info: Redefining glassfishjdbcpool in Puppet::Type
info: Loading downloaded plugin
/var/lib/puppet/lib/puppet/provider/glassfish_domain/asadmin.rb
info: Loading downloaded plugin /var/lib/puppet/lib/puppet/provider/foo/baa.rb
info: Loading downloaded plugin
/var/lib/puppet/lib/puppet/provider/glassfish_jvmopt/asadmin.rb
info: Caching catalog for ktfrontend.localdomain
</pre>
Can you try getting this working using just `puppet apply`
----------------------------------------
Bug #11562: Custom puppet type failing depending on it's name
https://projects.puppetlabs.com/issues/11562
Author: Yannick Menager
Status: Needs More Information
Priority: Urgent
Assignee: Yannick Menager
Category:
Target version:
Affected Puppet version:
Keywords:
Branch:
I'm going insane trying to get some puppet custom types working. Some worked,
then some were working, and then stopped working
After spending several days trying all different things, I've reduced things to
a point where it seems that that two types with the exact same code and
different names fails... WTF ???
So i've got two types with providers
type/foo.rb with provider/foo/baa.rb
and type/glassfishjdbcpool.rb with provider/glassfishjdbcpool/bee.rb
I run an agent on a node with the following:
<pre>
foo { "test1" : }
glassfishjdbcpool { "test2" : }
</pre>
Foo works, glassfishjdbcpool fails.... :( :( Help
<pre>
notice: /File[/var/lib/puppet/lib/puppet/provider/foo]/ensure: created
notice: /File[/var/lib/puppet/lib/puppet/provider/asadmin.rb]/ensure: removed
notice: /File[/var/lib/puppet/lib/puppet/provider/glassfishjdbcpool]/ensure:
created
notice:
/File[/var/lib/puppet/lib/puppet/provider/glassfish_jvmopt/asadmin.rb]/content:
content changed '{md5}ee388e0b833ae358c88c872a8a137146' to
'{md5}2ae0135cacf840097992051dd47736ef'
notice: /File[/var/lib/puppet/lib/puppet/provider/foo/baa.rb]/ensure: defined
content as '{md5}bf62e78d7e91f184b1d738489a520ded'
notice:
/File[/var/lib/puppet/lib/puppet/provider/glassfish_domain/asadmin.rb]/content:
content changed '{md5}507159b81b6b683655a925b4ff79822d' to
'{md5}00a817c39b82d52d1d5b7c6c010fbb3a'
notice:
/File[/var/lib/puppet/lib/puppet/provider/glassfishjdbcpool/bee.rb]/ensure:
defined content as '{md5}0f72878beb6731aab34900a344af34b1'
notice: /File[/var/lib/puppet/lib/puppet/type/glassfishjdbcpool.rb]/ensure:
defined content as '{md5}f5af8b2866763379acf9a9b8f395d57e'
notice: /File[/var/lib/puppet/lib/puppet/type/foo.rb]/ensure: defined content
as '{md5}d27f4d9bc000fa5e02780f510076ce75'
info: Loading downloaded plugin /var/lib/puppet/lib/puppet/type/foo.rb
info: Loading downloaded plugin
/var/lib/puppet/lib/puppet/provider/glassfishjdbcpool/bee.rb
info: Loading downloaded plugin
/var/lib/puppet/lib/puppet/type/glassfishjdbcpool.rb
info: Redefining glassfishjdbcpool in Puppet::Type
info: Loading downloaded plugin
/var/lib/puppet/lib/puppet/provider/glassfish_domain/asadmin.rb
info: Loading downloaded plugin /var/lib/puppet/lib/puppet/provider/foo/baa.rb
info: Loading downloaded plugin
/var/lib/puppet/lib/puppet/provider/glassfish_jvmopt/asadmin.rb
info: Caching catalog for ktfrontend.localdomain
info: Applying configuration version '1324744946'
notice: /Stage[main]/Opendj/Exec[Update OpenDJ Admin Password]/returns:
executed successfully
err: /Stage[main]/Kloudtek::Portal-and-services/Glassfishjdbcpool[test2]: Could
not evaluate: No ability to determine if glassfishjdbcpool exists
info: Foo[test1](provider=baa): EXISTS?
notice: Finished catalog run in 7.90 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.