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.

Reply via email to