-
-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Supporting Puppet 6 #172
Comments
@bastelfreak @dhollinger |
The beaker section probably doesn't need a lot of work since you can use one of the following patterns:
|
Some thoughts (I don't have enough time at the moment to think properly about all this, sorry):
|
@bastelfreak The major problem right now with adding *_core modules as a dependency is that they will break testing for anyone using the AIO package, which is a majority of our users. I think that we need to focus on supporting the users first via the official Puppet way and then second for users (like Arch users) that either don't or can't use the AIO packages. |
Even for distributions not bundling Puppet's ruby/openssl etc, I'd still expect them to include the same _core modules as Puppet Inc vendor in their own packages. |
@alexjfisher True, but that is ultimately up to the distro package maintainers |
Thanks for writing this up @alexjfisher. I had a few comments:
Supporting 4.10.x and up, but less than 7 makes sense.
I tend to agree with @bastelfreak that as soon as someone installs the latest version of a
https://tickets.puppetlabs.com/browse/MODULES-7856 was merged and released in puppetlabs_spec_helper 2.11.0, so optional dependencies are now supported.
AFAIK, only Filed as https://tickets.puppetlabs.com/browse/MODULES-8114
Unfortunately pluginsync is rather dumb, copying everything everywhere, flattening modules so custom facts, types, etc from different modules can collide. We have thoughts about making this better, but there's nothing tangible that would help this issue. |
Copied a comment from @Dan33l on MODULES-7856
|
I think by now we can consider this fixed. |
We want to start marking our modules as puppet 6 compatible as soon as possible. We should probably not change all modules en masse, but as soon as someone has at least done some light testing or if the module has acceptance tests, contributors need to be aware of what their PRs should and should not include. The puppet 6 release notes and blog don't make this very clear. Hopefully these notes will help.
metadata.json
version_requirement
Update the
version_requirement
. We will likely start dropping puppet 4 support in the new year, but right now, the majority of modules will have arequirements
section like this.dependencies
Do not add any of the new puppetlabs/X_core "Supported types in modules" to the
dependencies
section. These modules are already included with the puppet 6 agent packages. Importantly, these modules "are available during compilation, but won't be pluginsync'ed.". This is fortunate as they are all marked as supporting puppet 6 only, and at least one module, (yumrepo_core), definitely breaks puppet 5 as it uses thesensitive
DSL which isn't available before puppet 6.Testing
fixtures.yml
core modules used need to be added to fixtures.yml as (unlike the agent packages), the puppet gem doesn't vendor the modules. On the assumption that puppetlabs/puppetlabs_spec_helper#258 will be merged and a new release made soon, mark any core modules as only being needed on puppet 6 as follows.
beaker
TODO
Questions we'd like to ask Puppet and/or things we're not sure about
The text was updated successfully, but these errors were encountered: