Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 671886 - app-admin/puppet 6.0.2-r1 should install vendored modules
Summary: app-admin/puppet 6.0.2-r1 should install vendored modules
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Matthew Thode ( prometheanfire )
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-25 18:20 UTC by Ewoud Kohl van Wijngaarden
Modified: 2018-12-08 13:04 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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 https://github.com/puppetlabs/puppetlabs-augeas_core
* cron_core https://github.com/puppetlabs/puppetlabs-cron_core
* host_core https://github.com/puppetlabs/puppetlabs-host_core
* mount_core https://github.com/puppetlabs/puppetlabs-mount_core
* scheduled_task https://github.com/puppetlabs/puppetlabs-scheduled_task
* selinux_core https://github.com/puppetlabs/puppetlabs-selinux_core
* sshkeys_core https://github.com/puppetlabs/puppetlabs-sshkeys_core
* yumrepo_core https://github.com/puppetlabs/puppetlabs-yumrepo_core
* zfs_core https://github.com/puppetlabs/puppetlabs-zfs_core
* zone_core https://github.com/puppetlabs/puppetlabs-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: https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/puppet
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 (https://github.com/ekohl/webkiller71). 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.