Issue #16327 has been updated by Daniel Pittman. Status changed from Needs More Information to Accepted
Shane Madden wrote: > Seems like the cache is the issue, but I'm not sure why that would be the > case. The master that the client's reporting to (which is the master that's > configured to send the facts to the central-inventory master via the > inventory_service terminus) has been minimally modified from defaults in > terms of facts/inventory So, your settings are absolutely correct, and should work as documented. I could reproduce it here, and it turns out to be a problem introduced when the startup sequence for Puppet was changed - now the cache terminus isn't set. As a short term work-around you could use the [routes.yaml](http://docs.puppetlabs.com/guides/configuring.html#routesyaml) file to configure the `yaml` cache terminus for facts as well as the `inventory_service` terminus. That will get things working again. Now that I can reproduce this I should be able to work on a proper fix. > P.S, I've found that when the satellite master is set to use_srv_records in > its [main] block, it ignores the configuration for inventory_server until > after the responses from the SRV lookup have all failed to return > satisfactory results. If one of those SRV records points to itself (and > requests to /facts are allowed), a request loop to itself occurs, hanging > both the agent and master. Is it intended for SRV records to override the > inventory_server setting? I doubt it is either intended or unintended - it is probably just a coincidental side-effect of other changes. You should probably disable SRV support manually on all your nodes, at least for a while, unless you really want to help debug the feature. ---------------------------------------- Bug #16327: Fact Terminus inventory_service not failing gracefully as intended https://projects.puppetlabs.com/issues/16327#change-71079 Author: Shane Madden Status: Accepted Priority: Normal Assignee: Category: Target version: 3.0.0 Affected Puppet version: 3.0.0-rc5 Keywords: Branch: 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.
