Issue #16327 has been updated by Matthaus Owens.

Status changed from Merged - Pending Release to Closed
Affected Puppet version deleted (3.0.0-rc5)

Released in Puppet 3.0.0-rc7
----------------------------------------
Bug #16327: YAML facts terminus cache not configured as expected in Puppet 
3.0.0, leading to unexpected failures
https://projects.puppetlabs.com/issues/16327#change-71851

Author: Shane Madden
Status: Closed
Priority: Normal
Assignee: 
Category: indirector
Target version: 3.0.0
Affected Puppet version: 
Keywords: 
Branch: https://github.com/puppetlabs/puppet/pull/1145


The inventory_service fact terminus was created for bug #10289, to allow for 
the updating of facts in a central inventory service while avoiding the single 
point of failure behavior that occurs for the rest terminus when the inventory 
server is down or misbehaving.

In 2.7.x, the failure is graceful, throwing a warning on the master that is 
attempting attempting to send facts to the terminus:

    warning: Could not upload facts for node.example.com to inventory service: 
Connection refused - connect(2)

But in 3.0.0rc5, a failure occurs and the agent's run fails:

    Error: Could not retrieve facts for node.example.com: Connection refused - 
connect(2)
    /usr/lib/ruby/1.8/net/http.rb:560
    /usr/lib/ruby/1.8/net/http.rb:560
    /usr/lib/ruby/1.8/net/http.rb:560
    /usr/lib/ruby/1.8/timeout.rb:67
    /usr/lib/ruby/1.8/timeout.rb:101
    /usr/lib/ruby/1.8/net/http.rb:560
    /usr/lib/ruby/1.8/net/http.rb:553
    /usr/lib/ruby/1.8/net/http.rb:542
    /usr/lib/ruby/1.8/net/http.rb:1035
    /usr/lib/ruby/1.8/net/http.rb:772
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/connection.rb:61
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/connection.rb:61
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/connection.rb:25
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:105
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:105
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:84
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:118
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:177
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/request.rb:216
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:177
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:112
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:191
    /usr/lib/ruby/site_ruby/1.8/puppet/node.rb:87
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/node/plain.rb:17
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:191
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:105
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:24
    /usr/lib/ruby/1.8/webrick/httpserver.rb:104
    /usr/lib/ruby/1.8/webrick/httpserver.rb:65
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:36
    /usr/lib/ruby/1.8/webrick/server.rb:173
    /usr/lib/ruby/1.8/webrick/server.rb:173
    /usr/lib/ruby/1.8/webrick/server.rb:162
    /usr/lib/ruby/1.8/webrick/server.rb:162
    /usr/lib/ruby/1.8/webrick/server.rb:95
    /usr/lib/ruby/1.8/webrick/server.rb:92
    /usr/lib/ruby/1.8/webrick/server.rb:92
    /usr/lib/ruby/1.8/webrick/server.rb:23
    /usr/lib/ruby/1.8/webrick/server.rb:82
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:33
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:32
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:32
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:32
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:29
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:29
    /usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:96
    /usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:112
    /usr/lib/ruby/site_ruby/1.8/puppet/daemon.rb:136
    /usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:199
    /usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:148
    /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:342
    /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:436
    /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:342
    /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:513
    /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:342
    /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:76
    /usr/bin/puppet:10

Looks like the find method needs to get the same graceful handling treatment 
that the save method is getting in indirector/facts/inventory_service.rb.

Thanks!


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