Skip to content
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

Allow specificing icinga2 version #376

Closed
stefanandres opened this issue Sep 12, 2017 · 5 comments
Closed

Allow specificing icinga2 version #376

stefanandres opened this issue Sep 12, 2017 · 5 comments
Labels

Comments

@stefanandres
Copy link

Expected Behavior

puppet-icinga2 should support specific version support.

Current Behavior

The README.md proposes to set $manage_package to false and maintain your own set of package { 'icinga2': ensure => $version } resources.

Possible Solution

  • Add $version parameter (default: installed)

Context

In a big (>3000 hosts, >45k services) setup, you want to pin the specific version to all packages and only let puppet handle this specific version to avoid breaking the setup on each new version without testing it in staging.

@baurmatt
Copy link
Contributor

I've found #244 in which this issue was discussed before. I think the manage_package solution isn't sufficient as i would expect the main Puppet module of a software to handle this itself. The currently implemented way expects from the user to build a profile around this module in which he handle the package installation them self. This isn't needed if the Icinga2 module would allow to specify the package version/ensure state.

I've digged into other common Puppet modules like puppetlabs-mysql, puppetlabs-apache, puppetlabs-postgresql, puppet-elasticsearch, ... they all offer a way to do this. Usually by configuring the package_ensure parameter.

Would you (the maintainers of the module) consider merging a PR which implements package_ensure or is this a no-go?

@lbetz
Copy link
Contributor

lbetz commented Sep 13, 2017

What more I can say? No. See #244 especially the problem of updating db schemes.

@lbetz lbetz closed this as completed Sep 13, 2017
@baurmatt
Copy link
Contributor

Schema update is normally a problem of master/satellites. It's perfectly reasonable to build parts of your update management into Puppet. We usually do this by adding an apt::pin for the package + version.
Upgrades are then done by just updating the package version to the new one. Which then updates the pin and the package resource updates the package automatically.

Lets say $someone would have a setup with 3000 servers. Due to Icinga/icinga2#3533 this $someone would probably only have two (master) servers which might need a schema upgrade. You closed this issue looking at 0,066% of those servers and ignoring that this feature might indeed be really helpful for the other 99,93%.

@stefanandres
Copy link
Author

To add to the list of other modules where it is useful and was missing. @dnsmichi was so kind to implement it too: voxpupuli/puppet-kibana#5

@stefanandres
Copy link
Author

To workaround this issue (also see #381) - one can use resource collector to implement a $version for the package in a role/profile:

Package <| title == 'icinga2' |> { ensure => $version }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants