-
Notifications
You must be signed in to change notification settings - Fork 57
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
changes in kibana package #52
Comments
So it seems the two installation methods (archive vs package) will now have different purposes. The "package" method will provide a more rigid approach, while the archive installation method will keep the flexibility we've had until now. I think I will overhaul all of the module parameters, to make clearer the separation between the "archive" and "package" installation methods. Parameters relevant to each install method would be prepended by either archive_ or package_. Here's what I have in mind:
Let me know what you think. |
I think a design goal ought to be to maintain a level of design consistency in this module with that of the Puppet modules released by Elastic.co. After all, most people will be using Elastic.co's modules for Elasticsearch & Logstash and this one for Kibana. Also, I would assume that Elastic.co will eventually get their act together and release RPMs for all versions of Kibana 4 so that we could hope to one day drop support for archive installation. Finally, I don't see any reason why a package installation should be less flexible than an archive installation. For instance, I want to control the Kibana's user and group IDs but I also want to install the RPM. Therefore, I want the module to allow me to set the UID and have the module ensure that |
The other point I'd make is it sounds like they need to clean up their code before you try to support their package. |
great exactly what i was looking for :) here are my comments:
I'm really looking after this release ;) thanks for your job cheers, |
Hi, I really wanted to make the parameter names consistent between the two installation methods. That's why I though it would be clearer to prepend all parameters relevant to the "package" installation by the "package_" prefix, and all parameters relevant to the "archive" installation method by "archive_". Any other parameters would be common to both methods. package_repo_version should probably disappear and be evaluated anyways. I understand the desire to keep the "package" installation method as flexible as the "archive" method, however, because of all the recent additions to the packages (creation of a kibana user, addition of init script) this would become more complex and more difficult to keep track of. Depending on the scenario, we'd have to undo things that the package installation performed. For example we'd have to be able to remove the user completely if you had your setup integrated with ldap, or remove the init script if you wanted to use upstart or systemd. The pid.file param is also a big mess. It might be simpler to start of fresh by limiting the "package" installation method features, and progressively adding some of those features back. I'm expecting to have some time to work on the module again in the upcoming days. |
It's not complex at all to give the same functionality and flexibility to both the archive and package installation. You just need to make sure the ordering is correct: group { 'kibana4':
ensure => present,
gid => $kibana4_gid,
}
user { 'kibana4':
ensure => present,
uid => $kibana4_uid,
gid => $kibana4_gid,
}
file { '/etc/init.d/kibana':
ensure => file,
content => ...,
}
User['kibana4'] -> Package['kibana'] -> File['/etc/init.d/kibana'] There's no need to undo anything. |
Thank you for the lesson on ordering puppet resources... You're missing some of the underlying issues. What if I don't want my user to be named "kibana4", or if I would like my init script to be named something else than "kibana" (both of which are currently possible). The module would need to remove the user and init file created by the package installation in this case. |
Sorry, I didn't intend a lesson in ordering. What I can say is if a package installation is supported by Elastic.co then no one will ever use the archive installation. We should obey the "keep-it-simple" principle, and encourage our users to also follow this principle. If people want to do crazy, complex stuff, I wouldn't support that. If the module has features that the Elastic.co modules don't have, I would deprecate those features now. I don't see how anyone can use this module in support of LDAP user integration if the Elastic.co modules don't support this. And I have no idea why anyone would put their Kibana user in LDAP in the first place. But the main point is, if you're going to break backwards compatibility, I hope you'll do so reluctantly and with very good reason. |
Hi there, OK for the parameter name consistency, i understand you want to have a comprehensible way to use your module and it's fine. I think I have answered too fast concerning package in my last message, obviously a package installation is always less flexible than an archive installation method. As you said, it will fix some things like users, working path, etc... which restrict post configuration possibilities. @alexharv074 has explained an argument about controlling user's UIG/GID, which does not implies to change what a package have done but only to do some things before the package installation and i agree with that :)
That's exactly what you need, let the package do his job and if needed fix what the package maintainer has forgotten :) cheers, |
@lesaux Let me add a big thank you for the work to write and maintain this module. It was very frustrating for me that I had to use a tar ball archive installation in production, and that's totally on Elastic.co, but all the work you put into this module did make it very easy. |
Hey @alexharv074, sorry I was a bit snappy yesterday - bad day at work. I'm currently setting up my dev and testing environments to resume work on the module. |
👍 |
Any updates on this? |
I'll close this as I've released a new module version |
New kibana packages (4.4.0-1) now provide:
@jordansissel has the following comment in the init script
We need to take into account all of these changes for the "package" installation method.
The text was updated successfully, but these errors were encountered: