-
Notifications
You must be signed in to change notification settings - Fork 25k
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
Fix docker positional params (take 2) #88584
Fix docker positional params (take 2) #88584
Conversation
As part of elastic#50277, we removed the `TAKE_FILE_OWNERSHIP` option from the Docker entrypoint script and the associated chroot calls, and instead just defaulted to running the image as `elasticsearch` instead of `root`. However, we didn't check that it was still possible to pass CLI options to Elasticsearch via CLI arguments, and broke this by mistake. This is probably an uncommon pattern, versus environment variables or a config file. Nevertheless, it is supposed to be possible and is mentioned in the documentation. Fix the problem by suppling the missing positional params when calling Elasticsearch, and add a test case so that we don't break it again.
Pinging @elastic/es-delivery (Team:Delivery) |
Hi @pugnascotia, I've created a changelog YAML for you. |
If I recall, this is partly intentional because of the issue of downloading beats after a version bump. If we integrated cloud image testing into all PR testing, folks would be blocked until a successfull snapshot was published. I think we can revisit this once we are consuming the DRA artifacts for beats. |
As part of #50277, we removed the `TAKE_FILE_OWNERSHIP` option from the Docker entrypoint script and the associated chroot calls, and instead just defaulted to running the image as `elasticsearch` instead of `root`. However, we didn't check that it was still possible to pass CLI options to Elasticsearch via CLI arguments, and broke this by mistake. This is probably an uncommon pattern, versus environment variables or a config file. Nevertheless, it is supposed to be possible and is mentioned in the documentation. Fix the problem by suppling the missing positional params when calling Elasticsearch, and add a test case so that we don't break it again.
Follow-up to (and re-apply of) #88502, which we had to revert.
The change itself was good, but it turned out that the test we added only applies to non-Cloud images. This is because for the Cloud images, the
ENTRYPOINT
andCMD
are different, such that defining theELASTIC_PASSWORD
doesn't set theelastic
user's password. Since Cloud currently assumes control of image startup, there's little point working around this in the test since we have no control over what's happening at runtime in production.@mark-vieira note that we didn't catch this during PRs, because we only run the
destructiveDistroTest.docker
task in CI, which only tests the default image. We only test all the Docker images on merged changes. What do you think about reworking this, so that we get better coverage when we're explicitly testing packaging changes?