node.rb timeout is too low for some usecases and not configurable
For some usecases catalog compilation might take a longer time, and when there's too many requests to Foreman and Passenger decides to handle the request from node.rb by a freshly spawned worker, node.rb can hit the time out, fail to send the catalog to the client, and the client's Puppet run ends with error.
The timeout is currently hardwired to 10 seconds in puppet-foreman. It should be configurable at least, and maybe raising the default should be considered (especially due to the fresh Passenger worker issue described above).
Blocks this BZ https://bugzilla.redhat.com/show_bug.cgi?id=1188704
Fixes #9286 - node.rb timeout too low and not configurable
Make the node.rb timeout configurable. This is useful for use cases when
catalog compilation takes more time and/or the node.rb request to
Foreman is being handled by a freshly spawned Passenger worker.
#1 Updated by Ewoud Kohl van Wijngaarden almost 6 years ago
https://github.com/theforeman/puppet-foreman/blob/master/files/external_node_v2.rb#L38-L40 reads the timeout from the config (/etc/puppet/foreman.yaml) and only falls back to 10 if the :timeout value isn't found. That means it should be configurable, but it is true that foreman::puppetmaster can't configure it.
#2 Updated by Jiri Stransky almost 6 years ago
Yeah i found that, i should have expressed myself better -- what i meant was that the value is not configurable by puppet-foreman and therefore it's not configurable from foreman-installer's answer file. We use foreman-installer and we'd like to provide a higher default value for the parameter. I could do it with `sed` after foreman-installer finishes, but it would be cleaner to do this by pre-setting this parameter in the answer file.
#5 Updated by Jiri Stransky almost 6 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
Applied in changeset puppet-foreman|8333351feedb592f3fa01bb6c3765c6b782f5cdc.