Add opensearch to default PROD image extras#68659
Merged
Merged
Conversation
#65374 added opensearch to prod_image_installed_providers.txt (so the PROD image verify asserts it is installed) but did not add it to the default image extras. opensearch is therefore the only required provider that is neither a default extra nor a bundled core dependency, so its only path into the image was being built from source. On a release branch the source build skips already-released providers (the final tag providers-opensearch/<v> exists), so opensearch is the single required provider with no fallback and the PROD image verify (test_required_providers_are_installed) fails. main passes only because its dev-mode build compiles every provider from source in-place. Add opensearch to the default extras so it is backfilled from PyPI the same way every other required provider is, making the PROD image consistent across dev and release builds.
Lee-W
approved these changes
Jun 17, 2026
amoghrajesh
approved these changes
Jun 17, 2026
amoghrajesh
left a comment
Contributor
There was a problem hiding this comment.
LGTM +1.
opensearch is the direct sibling of elasticsearch, which is already a default extra, so if we ship the ES RL backend out of the box it is coherent to do the same for OpenSearch
Contributor
Author
|
Static failure not related to PR |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The PROD image verify (
docker-tests/.../test_prod_image.py::test_required_providers_are_installed) fails on release branches (e.g.v3-3-test) reporting thatopensearchis missing from the image, whilemainpasses.Root cause: #65374 added
opensearchtoprod_image_installed_providers.txt(so the verify now asserts it is installed) but did not add it to the default image extras. That makesopensearchthe only required provider that is neither a default extra nor a bundled core dependency — so its only path into the image was being built from source.On a release branch, the source provider build skips already-released providers (the
providers-opensearch/<version>final tag exists), soopensearchis the single required provider with no fallback and the verify fails.mainpasses only because its dev-mode build compiles every provider from source in-place regardless of tags. Every other required provider survives the release-branch skip because it is either in the default extras (backfilled from PyPI) or a bundled core dependency.Fix
Add
opensearchto the default PROD image extras (DockerfileARG AIRFLOW_EXTRAS), and let thecheck-extras-orderhook propagate it intoglobal_constants.py(DEFAULT_EXTRAS) anddocker-stack-docs/build-arg-ref.rst. The breeze command-output image forprod-image buildis regenerated accordingly. This backfillsopensearchfrom PyPI the same way every other required provider is installed, making the PROD image consistent across dev and release builds.Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code (Opus 4.8) following the guidelines