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.
