The serverity of this bug are not very high but I think it impact lot of peoples
Just today I upgrade my puppetserver (Linux) to puppet6 from puppet5
I also upgrade some of my linux client to puppet6 and everything work fine.
I just upgrade my FreeBSD client from puppet5 + ruby 26 -> puppet6+ruby27 mostly because puppet5 ports are mark broken.
But puppet6+ruby27 on FreeBSD 12.2 the puppet agent don't seem to work correctly, he didn't seem to have acces to the basic resource of sshkey
For exemple, from a fresh install 12.2 jail I install puppet6+ruby27 (build from poudriere) and run the agent I got
Info: Using configured environment 'jas'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Loading facts
Error: Failed to apply catalog: Parameter name failed on Resources[sshkey]: Could not find resource type 'sshkey' (file: /etc/puppetlabs/code/environments/production/modules/ssh/manifests/knownhosts.pp, line: 6)
To make it work I need to install the
in my puppet module collection. It's not a big deal.
But I don't see why the freebsd version of puppet6 dont include this...well basic feature ;-)
(In reply to albert.shih from comment #0)
sshkey and a few other types were removed in Puppet 6.x.
Yes, a bunch of basic Puppet types are not part of Puppet anymore (starting with Puppet 6). The All-In-One package by Puppetlabs still include them, but when you are not using this package (for example when using the FreeBSD port or the Puppet gem), you must distribute these modules.
As you found out, the easiest way is to add the corresponding puppetlabs/*_core modules in your control-repo.
Bundling these modules in the FreeBSD package does not make much sense for me, so the FreeBSD port install "vanilla Puppet", and we expect users to distribute the modules they need.
Please note that you can distribute a different version of one of these modules than the one bundled in the AIO package. In this case, the distributed version is the one that will be used. This makes a consistent deployment, and can help when there are issues with a core module (at some point, the sshkey module was unable to remove ssh keys for example).