On 19/07/16 18:23, otheus uibk wrote: > https://theforeman.org/manuals/1.12/index.html#3.5.5FactsandtheENC > <https://theforeman.org/manuals/1.12/index.html#3.5.5FactsandtheENC> > briefly describes these functions at the bottom of the section. > > > Thanks for pointing me to the specific doc! The documentation is > certainly better and more detailed than I expected. > > After, I still don't get: > > * what SETTINGS[:facts] is for. Here's the comment: > > # send facts to Foreman - enable 'facts' setting to activate > # if you use this option below, make sure that you don't send > facts to foreman via the rake task or push facts alternatives. > > This looks like process_all_facts but for the given certname only. It > uploads the facts to the #{url} via the mapped hostname, and then > downloads them from the given certname. What's the use-case here? In > the docs, :facts is always set to true, but I'm not sure it actually > does anything most of the time. (that might be just our environment, though)
It doesn't download _facts_, it downloads the ENC output. It should be uploading facts to Foreman, then retrieving the ENC output that contains lists of classes, parameters etc in YAML, which may depend on the facts previously uploaded. This is the normal fact upload method if the ENC is in use, not using process_all_facts/push. > * What is no_env for? I see what it does: it removes "environment" from > the facts that are *reported*. I see what the documentation says about > it. The questions are (1) shouldn't this be in SETTINGS? and (2) how > does the presence force puppet to use a particular environment? (1) Yes, probably - it pre-dates the settings file. (2) Agents make two calls to the master during a run that cause the ENC script to run. The first is an environment ("node") query. If the ENC script returns an environment then the agent and master will use that configured environment, ignoring anything the agent has set on the CLI or in puppet.conf. This allows users to disable that on the Puppet master by passing --no-environment. > * Why is the watch functionality incorporated into this script? > Shouldn't this really be a separate task/script altogether? (I'm > thinking of partitioning of activities via sudo, for instance) Perhaps. It's probably just convenience to put them together, given that this script has all of the code to upload and track facts. If it was split into many files (e.g. library and binaries) it should probably also move into a package so it's easier to deploy. -- Dominic Cleal domi...@cleal.org -- You received this message because you are subscribed to the Google Groups "foreman-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to foreman-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.