On Fri, 2017-09-29 at 08:23 -0700, Sean A wrote: > Hi, > > I have an idea to improve(?) the provision templates delivered with > Foreman.
Excellent :) > Over time, I've struggled to merge/rebase updates that are put into > the core templates into the "clones" that I have implemented for our > system profiles. Whilst I'll address your suggestion below... as an aside, have you looked at the foreman_teplmates plugin? That allows you to manage your own templates in Git, which also means you can rebase your changes on top of ours on a regular basis. Just some food for thought :) > Would it be possible to add a method (snippet or array parameter) > to allow for setting additional packages/package groups to be > installed at provision time? This would hit 95% of the reason we > clone provision templates to fulfill provisioning of systems with > different profiles...and allow end-users like me the ease of not > having to rebase template clones after every template update. > > We use provision templates for both servers and desktops, the > desktops deliver over 1300 packages during provisioning, and I'm > loathe to try and manage that much directly with Puppet post install. I think this is a fair suggestion. It's really pretty easy to add a parameter to a template which defaults to "[]" and is expanded as a list of additional packages to install. Calling it "additional_packages" seems fair :) The only snag is that Arrays can only be used in class parameters at the moment - host/hostgroup/domain/etc params are still simple strings (work has been in progress on that for a bit). So, in the short term at least, it would probably have to be a comma-separated string list that can be split up in the template. I'm not sure if we have a character limit of string params, so doing 1300 packages this way might be awkward, but otherwise it should work OK. Obviously, once we can use complex params here, a YAML list is probably the most convenient. Doing it as a snippet is also possible, but much harder to override at the hostgroup/domain/etc level than a parameter (as Bryan suggests) - since you can only have one snippet by the name referenced in the main provision template, you're really only moving the problem. > If this is off topic, should I just take this over to the community- > templates repo on github for further discussion? It's not off-topic at all - it never hurts to check that our thinking is in agreement :). That said, the community templates repo is definitely the place to raise it - and do feel free to send a patch, if you're in the mood! More contributors are always welcome. Cheers Greg -- You received this message because you are subscribed to the Google Groups "Foreman users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/foreman-users. For more options, visit https://groups.google.com/d/optout.
