How to use puppet catalog find with yaml facts (SERVER-990)

140 views
Skip to first unread message

Thomas Müller

unread,
May 31, 2018, 4:36:11 AM5/31/18
to Puppet Developers
Hi

Puppet 6 removes the master subcommand wich also removes the `master --compile` ability. SERVER-990 proposes `catalog find` as alternative command.

octocatalog-diff uses a command like `puppet master --compile $nodename --environmenpath $envsdir --factpath $path-to-fact-dir --facts_terminus yaml`

When i execute `puppet catalog find --environmentpath $envsdir --certname $nodename --factpath $path-to-fact-dir --facts_terminus yaml` compilation fails saying "[] is not applicable to Undef value" - caused by an empty $facts hash.

Removing `--facts_terminus yaml` will provide $facts but does take the facts from the machine executing the command.

Replacing `--factpath $path-to-fact-dir` with `--clientyamldir  $path-to-dir-containing-facts-dir` errors out with `undefined method sanitize for #<Hash:....>` (which I think is probably because the yaml is plain yaml and not an ruby object yaml).

Any hints how to pass facts to the `puppet catalog find` command?


- Thomas

Reply all
Reply to author
Forward
0 new messages