Issue #4476 has been updated by Markus Roberts.

Status changed from Available In Testing Branch to Closed

commit:f43e87bb638b30608e1773a9afb48a8639feb3cd Fix for #4476 -- rails calling 
yaml internals

----------------------------------------
Bug #4476: exported file resource fails to serialize
http://projects.puppetlabs.com/issues/4476

Author: Peter Meier
Status: Closed
Priority: Normal
Assigned to: Markus Roberts
Category: 
Target version: 
Affected version: 2.6.1rc1
Keywords: 
Branch: 


An exported resource created by the following define:

<pre>
define nagios::plugin(
    $source = 'absent',
    $ensure = present
){
  @@file{$name:
    path => $hardwaremodel ? {
      'x86_64' => "/usr/lib64/nagios/plugins/$name",
      default => "/usr/lib/nagios/plugins/$name",
    },
    ensure => $ensure,
    source => $source ? {
      'absent' => "puppet://$server/modules/nagios/plugins/$name",
      default => "puppet://$server/modules/$source"
    },
    tag => 'nagios_plugin',
    require => Package['nagios-plugins'],
    owner => root, group => 0, mode => 0755;
  }
</pre>

fails with the following error to serialize on the client it is collected:

<pre>
/usr/lib/ruby/1.8/yaml/types.rb:51:in `to_yaml'
/usr/lib/ruby/1.8/yaml/types.rb:51:in `node_export'
/usr/lib/ruby/1.8/yaml/types.rb:51:in `add'
/usr/lib/ruby/1.8/yaml/types.rb:51:in `to_yaml'
/usr/lib/ruby/1.8/yaml/types.rb:50:in `each'
/usr/lib/ruby/1.8/yaml/types.rb:50:in `to_yaml'
/usr/lib/ruby/1.8/yaml/types.rb:49:in `map'
/usr/lib/ruby/1.8/yaml/types.rb:49:in `to_yaml'
/usr/lib/ruby/1.8/yaml.rb:391:in `call'
/usr/lib/ruby/1.8/yaml.rb:391:in `emit'
/usr/lib/ruby/1.8/yaml.rb:391:in `quick_emit'
/usr/lib/ruby/1.8/yaml/types.rb:48:in `to_yaml'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/quoting.rb:31:in
 `quote'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/mysql_adapter.rb:236:in
 `quote'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:3033:in
 `attributes_with_quotes'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:3024:in
 `each'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:3024:in
 `attributes_with_quotes'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2939:in
 `create_without_timestamps'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/timestamp.rb:53:in
 `create_without_callbacks'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/callbacks.rb:266:in
 `create'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2915:in
 `create_or_update_without_callbacks'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/callbacks.rb:250:in
 `create_or_update'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2573:in
 `save_without_validation'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/validations.rb:1090:in
 `save_without_dirty'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/dirty.rb:79:in
 `save_without_transactions'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:229:in
 `send'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:229:in
 `with_transaction_returning_status'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in
 `transact
ion'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:182:in
 `transaction'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:228:in
 `with_transaction_returning_status'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:196:in
 `save'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:208:in
 `rollback_active_record_state!'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:196:in
 `save'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associations/has_many_association.rb:61:in
 `insert_record'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associations/association_proxy.rb:146:in
 `send'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associations/association_proxy.rb:146:in
 `send'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/autosave_association.rb:323:in
 `save_collection_association'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/autosave_association.rb:314:in
 `each'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/autosave_association.rb:314:in
 `save_collection_association'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/autosave_association.rb:176:in
 `autosave_associated_records_for_para
m_values'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/callbacks.rb:178:in
 `send'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/callbacks.rb:178:in
 `evaluate_method'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/callbacks.rb:166:in
 `call'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/callbacks.rb:93:in
 `run'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/callbacks.rb:92:in
 `each'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/callbacks.rb:92:in
 `send'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/callbacks.rb:92:in
 `run'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/callbacks.rb:276:in
 `run_callbacks'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/callbacks.rb:344:in
 `callback'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/callbacks.rb:283:in
 `update'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2915:in
 `create_or_update_without_callbacks'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/callbacks.rb:250:in
 `create_or_update'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2573:in
 `save_without_validation'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/validations.rb:1090:in
 `save_without_dirty'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/dirty.rb:79:in
 `save_without_transactions'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:229:in
 `send'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:229:in
 `with_transaction_returning_status'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in
 `transact
ion'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:182:in
 `transaction'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:228:in
 `with_transaction_returning_status'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:196:in
 `save'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:208:in
 `rollback_active_record_state!'
/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:196:in
 `save'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/resource.rb:96:in 
`merge_parser_resource'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:253:in 
`perform_resource_merger'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:251:in `each'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:251:in 
`perform_resource_merger'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:197:in `compare_to_catalog'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:21:in `debug_benchmark'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:11:in `railsmark'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/core_ext/benchmark.rb:10:in
 `realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:11:in `railsmark'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:21:in `debug_benchmark'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:196:in `compare_to_catalog'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:165:in `merge_resources'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:21:in `debug_benchmark'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:11:in `railsmark'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/core_ext/benchmark.rb:10:in
 `realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:11:in `railsmark'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:21:in `debug_benchmark'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:164:in `merge_resources'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/active_record.rb:30:in 
`save'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:11:in `railsmark'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/core_ext/benchmark.rb:10:in
 `realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:11:in `railsmark'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/active_record.rb:29:in 
`save'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:197:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:50:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:101:in `do_find'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `send'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `process'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:23:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:45:in `listen'
/usr/lib/ruby/1.8/webrick/server.rb:173:in `call'
/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:42:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `initialize'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `new'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `synchronize'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:127:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:142:in `start'
/usr/lib/ruby/site_ruby/1.8/puppet/daemon.rb:125:in `start'
/usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:114:in `main'
/usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:46:in `run_command'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:300:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:397:in `exit_on_fail'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:300:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:55:in `execute'
/usr/bin/puppet:4
err: wrong number of arguments (1 for 0)
</pre>

This is with the latest 'testing' branch and imho didn't happen with 2.6.1rc1. 
This fails also only on one host, the one that collects these defines. All 
other hosts collect other kind of exported resources (e.g. ssh_key) and they 
don't fail.


-- 
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