Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 671886

Summary: app-admin/puppet 6.0.2-r1 should install vendored modules
Product: Gentoo Linux Reporter: Ewoud Kohl van Wijngaarden <ewoud+gentoo>
Component: Current packagesAssignee: Matthew Thode ( prometheanfire ) <prometheanfire>
Status: CONFIRMED ---    
Severity: normal CC: ewoud+gentoo, ruby, sysadmin
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Package list:
Runtime testing required: ---

Description Ewoud Kohl van Wijngaarden 2018-11-25 18:20:18 UTC
Since Puppet 6 has extracted a few built in types and their providers to external modules which they vendor as _core modules. These are:

* augeas_core
* cron_core
* host_core
* mount_core
* scheduled_task
* selinux_core
* sshkeys_core
* yumrepo_core
* zfs_core
* zone_core

The result is that any manifest using any of these types will fail to apply.

Reproducible: Always

Steps to Reproduce:
1. Write a manifest on the server using the new modules
2. Apply it on a Gentoo machine
3. Watch the logs
Actual Results:  
(/Stage[main]/Foreman_simple_user/Foreman_simple_user::User[username]/User[username]) Ssh_authorized_key type is not available. Cannot purge SSH keys.

Expected Results:  
To apply cleanly as it did with Puppet 5

For reference, here's how Arch Linux bundles the modules:
Comment 1 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2018-11-26 02:58:35 UTC
I'm torn between doing new packages for this and use flags.  I think I prefer new packages due to each module having it's own releases.  does this need to be done for puppet-agent as well?
Comment 2 Ewoud Kohl van Wijngaarden 2018-11-26 15:10:06 UTC
They are needed in the agent part. I'm also a bit torn between separate packages. I think they're only used in the bundled agent package so I'm not sure how benefit splitting it off does make, but they are independent projects with their own release cycles so it could be beneficial.
Comment 3 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2018-11-26 15:13:30 UTC
ya, that independent release cycle is the main reason.  I have a way to stay notified of releases (github has a atom feed for releases for each project).  So will go with that.  I really need to get a second person to help with puppet packages :|
Comment 4 Ewoud Kohl van Wijngaarden 2018-12-08 13:04:23 UTC
For now I've added all the modules to my personal overlay ( I didn't check the exact versions and just used the latest versions. Let me know if you want to work with my to add these types.

IMHO the default vendor directory (vendormoduledir) should be changed from /opt/puppetlabs/puppet/vendor_modules to something outside of /opt. Probably /usr/share/puppet/vendor_modules. Related to that vardir should also be changed to something in /var. Probably /var/lib/puppet.