Issue #10289 has been updated by Nick Lewis. Status changed from Needs Decision to In Topic Branch Pending Review Target version set to 2.6.x Branch set to https://github.com/nicklewis/puppet/tree/ticket/2.6.x/10289
A fix for this is available as [pull request 185](https://github.com/puppetlabs/puppet/pull/185). The solution was to provide an inventory_service terminus for facts. This behaves identically to the REST terminus, except that it will rescue and warn if saving fails, rather than causing a hard failure to compile. This terminus also more semantically indicates its purpose to the user. Additionally, an ext/upload_facts script was added, which will save any YAML facts to the facts terminus. The intent is for this to be used with the facts terminus set to inventory service, and run out of cron with a --minutes argument to limit its scope to only files added in the last *n* minutes. Thus, it serves to upload any facts which may otherwise have be dropped if the inventory service is temporarily unavailable. ---------------------------------------- Bug #10289: Catalog compile fails when master can't write to fact_terminus https://projects.puppetlabs.com/issues/10289 Author: James Turnbull Status: In Topic Branch Pending Review Priority: High Assignee: Nick Lewis Category: plumbing Target version: 2.6.x Affected Puppet version: 2.6.9 Keywords: Branch: https://github.com/nicklewis/puppet/tree/ticket/2.6.x/10289 Workflow us: 1. Client connects 1. Client sends facts 1. Master tries to send facts to fact_terminus = rest 1. Terminus endpoint is unavailable and returns connection refused. 1. Master generates failure and halts catalog compile 1. Client fails. The master log shows: <pre> Oct 26 10:26:26 master-hostname puppet-master[13843]: Starting Puppet master version 2.6.9 (Puppet Enterprise 1.2.1) Oct 26 10:26:37 master-hostname puppet-master[13843]: Connection refused - connect(2) </pre> The client shows: <pre> Starting Puppet client version 2.6.9 (Puppet Enterprise 1.2.1) Oct 26 10:26:37 dashboard-hostname puppet-agent[27689]: [ID 702911 daemon.error] Could not retrieve catalog from remote server: Error 400 on SERVER: Connection refused - connect(2) Oct 26 10:26:38 dashboard-hostname puppet-agent[27689]: [ID 702911 daemon.notice] Using cached catalog Oct 26 10:28:05 dashboard-hostname puppet-agent[27689]: [ID 702911 daemon.notice] Finished catalog run in 81.45 seconds Oct 26 10:28:08 dashboard-hostname puppet-agent[27689]: [ID 702911 daemon.error] Could not send report: Connection refused - connect(2) </pre> The [master] config for our Puppet Master is: <pre> [master] certname = master-fqdn ca = false dns_alt_names = master-fqdn,master-alias,master-alias-fqdn node_terminus = ldap ldapserver = ldap-fqdn ldapuser = ldap-user ldappassword = ldap-password ldapbase = ldap-base ldapssl = true ldapport = 636 ssl_client_header = SSL_CLIENT_S_DN ssl_client_verify_header = SSL_CLIENT_VERIFY facts_terminus = rest inventory_port = 8140 inventory_server = dashboard-alias </pre> -- 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.
