Micah Martin
2012-Jul-11 20:08 UTC
[Puppet Users] Could not render to pson: undefined method ''merge'' for []:Array
This ones got me absolutely scratching my head. I''m trying to created a
custom type for managing couchbase. It may not be the right approach but
I''m a total noob and I''m trying to figure this thing out.
Here''s what I
have:
*/Puppet/manifests/site.pp*
node ''qamachine'' {
include webserver
}
*/Puppet/modules/webserver/init.pp*
class webserver {
couchbase { ''test'': }
}
*/Puppet/modules/couchbase/lib/puppet/type/couchbase.rb*
Puppet::Type.newtype(:couchbase) do
newparam(:name) do
isnamevar
end
end
*/Puppet/modules/couchbase/lib/puppet/provider/couchbase/couchbase.rb*
Puppet::Type.type(:couchbase).provide(:couchbase) do
end
When I try to update the machine this is what I get:
info: Loading downloaded plugin
C:/ProgramData/PuppetLabs/puppet/var/lib/puppet/type/couchbase.rb
info: Loading downloaded plugin
C:/ProgramData/PuppetLabs/puppet/var/lib/puppet/provider/couchbase/couchbase.rb
debug: Reloading couchbase couchbase provider
debug: catalog supports formats: b64_zlib_yaml dot pson raw yaml; using pson
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/indirector/rest.rb:56:in `deserialize''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/indirector/rest.rb:120:in `find''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/indirector/indirection.rb:196:in `find''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/configurer.rb:240:in
`retrieve_new_catalog''
C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util.rb:490:in
`thinmark''
C:/Program Files (x86)/Puppet
Labs/Puppet/sys/ruby/lib/ruby/1.8/benchmark.rb:308:in `realtime''
C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util.rb:489:in
`thinmark''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/configurer.rb:239:in
`retrieve_new_catalog''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/configurer.rb:86:in `retrieve_catalog''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/configurer.rb:112:in
`retrieve_and_apply_catalog''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/configurer.rb:152:in `run''
C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:43:in
`run''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/agent/locker.rb:21:in `lock''
C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:43:in
`run''
C:/Program Files (x86)/Puppet
Labs/Puppet/sys/ruby/lib/ruby/1.8/sync.rb:230:in `synchronize''
C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:43:in
`run''
C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:95:in
`with_client''
C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:41:in
`run''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/application.rb:172:in `call''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/application.rb:172:in `controlled_run''
C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:39:in
`run''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/application/agent.rb:337:in `onetime''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/application/agent.rb:311:in `run_command''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/application.rb:416:in `hook''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/application.rb:407:in `exit_on_fail''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run''
C:/Program Files (x86)/Puppet
Labs/Puppet/puppet/lib/puppet/util/command_line.rb:69:in `execute''
C:/Program Files (x86)/Puppet Labs/Puppet/puppet/bin/puppet:4
err: Could not retrieve catalog from remote server: Error 400 on SERVER:
Could not render to pson: undefined method `mer
ge'' for []:Array
when I remove the call to couchbase in the init.pp file it works fine.
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/puppet-users/-/AJ9ndSOuvx0J.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.
Jon McKenzie
2012-Sep-09 20:16 UTC
[Puppet Users] Re: Could not render to pson: undefined method ''merge'' for []:Array
I''m having this issue as well, with a nearly identical stack trace (I''m running on RHEL, however). Anyone have any ideas? I stuck some debugs inside my provider methods, but they don''t ever seem to get executed. On Wednesday, July 11, 2012 4:08:42 PM UTC-4, Micah Martin wrote:> > This ones got me absolutely scratching my head. I''m trying to created a > custom type for managing couchbase. It may not be the right approach but > I''m a total noob and I''m trying to figure this thing out. Here''s what I > have: > > */Puppet/manifests/site.pp* > > node ''qamachine'' { > > include webserver > > } > > > > */Puppet/modules/webserver/init.pp* > > class webserver { > > couchbase { ''test'': } > > } > > > */Puppet/modules/couchbase/lib/puppet/type/couchbase.rb* > > Puppet::Type.newtype(:couchbase) do > > newparam(:name) do > > isnamevar > > end > > end > > > */Puppet/modules/couchbase/lib/puppet/provider/couchbase/couchbase.rb* > > Puppet::Type.type(:couchbase).provide(:couchbase) do > > > > end > > > > When I try to update the machine this is what I get: > > info: Loading downloaded plugin > C:/ProgramData/PuppetLabs/puppet/var/lib/puppet/type/couchbase.rb > info: Loading downloaded plugin > C:/ProgramData/PuppetLabs/puppet/var/lib/puppet/provider/couchbase/couchbase.rb > debug: Reloading couchbase couchbase provider > debug: catalog supports formats: b64_zlib_yaml dot pson raw yaml; using > pson > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/indirector/rest.rb:56:in `deserialize'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/indirector/rest.rb:120:in `find'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/indirector/indirection.rb:196:in `find'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/configurer.rb:240:in `retrieve_new_catalog'' > C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util.rb:490:in > `thinmark'' > C:/Program Files (x86)/Puppet > Labs/Puppet/sys/ruby/lib/ruby/1.8/benchmark.rb:308:in `realtime'' > C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util.rb:489:in > `thinmark'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/configurer.rb:239:in `retrieve_new_catalog'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/configurer.rb:86:in `retrieve_catalog'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/configurer.rb:112:in > `retrieve_and_apply_catalog'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/configurer.rb:152:in `run'' > C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:43:in > `run'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/agent/locker.rb:21:in `lock'' > C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:43:in > `run'' > C:/Program Files (x86)/Puppet > Labs/Puppet/sys/ruby/lib/ruby/1.8/sync.rb:230:in `synchronize'' > C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:43:in > `run'' > C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:95:in > `with_client'' > C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:41:in > `run'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/application.rb:172:in `call'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/application.rb:172:in `controlled_run'' > C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:39:in > `run'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/application/agent.rb:337:in `onetime'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/application/agent.rb:311:in `run_command'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/application.rb:416:in `hook'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/application.rb:407:in `exit_on_fail'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run'' > C:/Program Files (x86)/Puppet > Labs/Puppet/puppet/lib/puppet/util/command_line.rb:69:in `execute'' > C:/Program Files (x86)/Puppet Labs/Puppet/puppet/bin/puppet:4 > err: Could not retrieve catalog from remote server: Error 400 on SERVER: > Could not render to pson: undefined method `mer > ge'' for []:Array > > when I remove the call to couchbase in the init.pp file it works fine. >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/5nFH3c0T45oJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Jon McKenzie
2012-Sep-09 21:16 UTC
[Puppet Users] Re: Could not render to pson: undefined method ''merge'' for []:Array
I restarted my puppetmaster and this seemed to resolve the issue. Very strange message, though. I suppose if I''ve defined a new type, but haven''t restarted puppetmaster it throws a message like this? I will need to test that though On Sunday, September 9, 2012 4:16:53 PM UTC-4, Jon McKenzie wrote:> > I''m having this issue as well, with a nearly identical stack trace (I''m > running on RHEL, however). > > Anyone have any ideas? > > I stuck some debugs inside my provider methods, but they don''t ever seem > to get executed. > > On Wednesday, July 11, 2012 4:08:42 PM UTC-4, Micah Martin wrote: >> >> This ones got me absolutely scratching my head. I''m trying to created a >> custom type for managing couchbase. It may not be the right approach but >> I''m a total noob and I''m trying to figure this thing out. Here''s what I >> have: >> >> */Puppet/manifests/site.pp* >> >> node ''qamachine'' { >> >> include webserver >> >> } >> >> >> >> */Puppet/modules/webserver/init.pp* >> >> class webserver { >> >> couchbase { ''test'': } >> >> } >> >> >> */Puppet/modules/couchbase/lib/puppet/type/couchbase.rb* >> >> Puppet::Type.newtype(:couchbase) do >> >> newparam(:name) do >> >> isnamevar >> >> end >> >> end >> >> >> */Puppet/modules/couchbase/lib/puppet/provider/couchbase/couchbase.rb* >> >> Puppet::Type.type(:couchbase).provide(:couchbase) do >> >> >> >> end >> >> >> >> When I try to update the machine this is what I get: >> >> info: Loading downloaded plugin >> C:/ProgramData/PuppetLabs/puppet/var/lib/puppet/type/couchbase.rb >> info: Loading downloaded plugin >> C:/ProgramData/PuppetLabs/puppet/var/lib/puppet/provider/couchbase/couchbase.rb >> debug: Reloading couchbase couchbase provider >> debug: catalog supports formats: b64_zlib_yaml dot pson raw yaml; using >> pson >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/indirector/rest.rb:56:in `deserialize'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/indirector/rest.rb:120:in `find'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/indirector/indirection.rb:196:in `find'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/configurer.rb:240:in `retrieve_new_catalog'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/util.rb:490:in `thinmark'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/sys/ruby/lib/ruby/1.8/benchmark.rb:308:in `realtime'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/util.rb:489:in `thinmark'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/configurer.rb:239:in `retrieve_new_catalog'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/configurer.rb:86:in `retrieve_catalog'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/configurer.rb:112:in >> `retrieve_and_apply_catalog'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/configurer.rb:152:in `run'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/agent.rb:43:in `run'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/agent/locker.rb:21:in `lock'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/agent.rb:43:in `run'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/sys/ruby/lib/ruby/1.8/sync.rb:230:in `synchronize'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/agent.rb:43:in `run'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/agent.rb:95:in `with_client'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/agent.rb:41:in `run'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/application.rb:172:in `call'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/application.rb:172:in `controlled_run'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/agent.rb:39:in `run'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/application/agent.rb:337:in `onetime'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/application/agent.rb:311:in `run_command'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/application.rb:416:in `hook'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/application.rb:407:in `exit_on_fail'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run'' >> C:/Program Files (x86)/Puppet >> Labs/Puppet/puppet/lib/puppet/util/command_line.rb:69:in `execute'' >> C:/Program Files (x86)/Puppet Labs/Puppet/puppet/bin/puppet:4 >> err: Could not retrieve catalog from remote server: Error 400 on SERVER: >> Could not render to pson: undefined method `mer >> ge'' for []:Array >> >> when I remove the call to couchbase in the init.pp file it works fine. >> >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/aD2AXUCkWhMJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.