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

Fix docker positional params (take 2) #88584

Merged

Conversation

pugnascotia
Copy link
Contributor

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 and CMD are different, such that defining the ELASTIC_PASSWORD doesn't set the elastic 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?

pugnascotia and others added 2 commits July 18, 2022 10:05
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.
@pugnascotia pugnascotia added >bug :Delivery/Packaging RPM and deb packaging, tar and zip archives, shell and batch scripts v8.4.0 v8.3.3 labels Jul 18, 2022
@pugnascotia pugnascotia requested a review from mark-vieira July 18, 2022 10:02
@elasticmachine elasticmachine added the Team:Delivery Meta label for Delivery team label Jul 18, 2022
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-delivery (Team:Delivery)

@elasticsearchmachine
Copy link
Collaborator

Hi @pugnascotia, I've created a changelog YAML for you.

@mark-vieira
Copy link
Contributor

What do you think about reworking this, so that we get better coverage when we're explicitly testing packaging changes?

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.

@pugnascotia pugnascotia merged commit d5b1356 into elastic:master Jul 19, 2022
@pugnascotia pugnascotia deleted the fix-docker-positional-params-take2 branch July 19, 2022 08:17
pugnascotia added a commit that referenced this pull request Jul 19, 2022
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>bug :Delivery/Packaging RPM and deb packaging, tar and zip archives, shell and batch scripts Team:Delivery Meta label for Delivery team v8.3.3 v8.4.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants