-
Notifications
You must be signed in to change notification settings - Fork 25.2k
5.0.2 debian package not able to build a docker image #21877
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
Comments
A normal package upgrade in a LXC container is broken as well:
|
@neoecos @eht16 I opened #21899; please let me know if this would suit your needs. Also, please note the official Elasticsearch Docker image (the one built and supported by Elastic, not the one in Docker Hub that claims to be official but is not affiliated with nor supported by Elastic) does not have this problem. If you're interested, we have some docs and a GitHub repository. |
@jasontedor thanks. Setting SKIP_SET_KERNEL_PARAMETERS would fit for me. But I'm not really sure what is the better solution, just thinking. |
Thanks for the feedback @eht16. I considered that approach, and my concern with it is a lot of users do not read console messages when nothing goes wrong (so if the install does not exit with an error status, such users will just not see that setting the kernel parameters did not take). The upside to that approach is that it is less likely to get in the way of the end-user. That said, I'm glad to know that we have two viable approaches that would be acceptable to at least one of you and @neoecos. I will solicit feedback from others (e.g., @clintongormley) but either way we will get a fix in for you very soon. |
@jasontedor The setting solves the issue, thank you. The difference between the two builds, is that the dockerhub image is build using the official debian package, meanwhile the elasticsearch image just downloads the binary .tar.gz. For me, using a deb package is definitely more elegant way to do that.
|
Yes, I'm aware of what accounts for the difference. The points that I'm alluding to and making are the following:
|
For those stumbling upon this and being confused like me- the setting merged ended up being ES_SKIP_SET_KERNEL_PARAMETERS, so set that to true if you want to ignore setting kernel parameters. |
@jasontedor I do not quite understand why the issue was fixed in such a way that sysctl is called at all even if I would recommend to not call sysctl if |
We abhor silent failures. Either it succeeds, or it fails and you know about it and you take steps to correct it.
I don't understand this, just bake it into the provisioning. |
Sure, but the service start should (and would) fail rather than the package installation itself.
Not all provisioning tools allow you to easily define environment variables for package installations and it would be better to rely on the debconf database for Using debconf would be in line with Debian policy [0] and is easy to preseed in every provisioning system that I'm familiar with. [0] https://www.debian.org/doc/debian-policy/ch-binary.html#s-maintscriptprompt |
We also abhor late failures.
Such as? |
Failing during the postinst phase of a package installation is, to put it mildly, a rather unfortunate thing to do. I totally understand your motivation of making the ES installation as easy for people as possible, but I would recommend to solve these issues in a standard manner as it allows for these packages to integrate well with the rest of the ecosystem. I mentioned the standard solution that is being advocated/mandated in the Debian policy in cases like this, namely debconf and would still recommend to adopt it.
I was thinking of Saltstack here (despite I'd also like to mention #8793 again which seems to have eluded your attention. |
It absolutely matters. You are trying to convince us to take another point of view, and in support of that you put out a statement:
I'm asking for additional context. If, for example, the tool that you had in mind was an obscure tool then I would be less likely to consider your argument as we do not design for special cases.
It did not elude my attention. I've already read it and considered it. It's a two-year old pull request. The philosophy of the maintainers of this project has evolved considerably in that period (for example, to become less lenient).
Maybe it is unusual (although it is done, cf. |
What exactly is consistent with what you already do? I don't quite understand what the problem is with adopting debconf for this. It would be in line with Debian policy, user expectations and it is well supported in all provisioning systems I have worked with. |
Elasticsearch version: 5.0.2
Plugins installed: []
JVM version:
OS version: debian jessie
Description of the problem including expected versus actual behavior:
The modification of the /proc inside the configuration of the debian package, makes docker unable to create the image.
Steps to reproduce:
Check:
docker-library/elasticsearch#144
Provide logs (if relevant):
The text was updated successfully, but these errors were encountered: