From bb859bde5a40af9b2cffeda7af50dabdd4df07ee Mon Sep 17 00:00:00 2001 From: Rahul Vats <43964496+vatsrahul1001@users.noreply.github.com> Date: Wed, 17 Jun 2026 12:56:10 +0530 Subject: [PATCH] Add opensearch to default PROD image extras (#68659) #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/ 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. --- Dockerfile | 2 +- dev/breeze/doc/images/output_prod-image_build.svg | 4 ++-- dev/breeze/doc/images/output_prod-image_build.txt | 2 +- dev/breeze/src/airflow_breeze/global_constants.py | 1 + docker-stack-docs/build-arg-ref.rst | 1 + 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7ea413a1ddb..dc859e8b25c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,7 +38,7 @@ # much smaller. # # Use the same builder frontend version for everyone -ARG AIRFLOW_EXTRAS="aiobotocore,amazon,async,celery,cncf-kubernetes,common-io,common-messaging,docker,elasticsearch,fab,ftp,git,google,google-auth,graphviz,grpc,hashicorp,http,ldap,microsoft-azure,mysql,odbc,openlineage,pandas,postgres,redis,sendgrid,sftp,slack,snowflake,ssh,statsd,uv" +ARG AIRFLOW_EXTRAS="aiobotocore,amazon,async,celery,cncf-kubernetes,common-io,common-messaging,docker,elasticsearch,fab,ftp,git,google,google-auth,graphviz,grpc,hashicorp,http,ldap,microsoft-azure,mysql,odbc,openlineage,opensearch,pandas,postgres,redis,sendgrid,sftp,slack,snowflake,ssh,statsd,uv" ARG ADDITIONAL_AIRFLOW_EXTRAS="" ARG ADDITIONAL_PYTHON_DEPS="" diff --git a/dev/breeze/doc/images/output_prod-image_build.svg b/dev/breeze/doc/images/output_prod-image_build.svg index b7bc09c4f57..8179f3577a8 100644 --- a/dev/breeze/doc/images/output_prod-image_build.svg +++ b/dev/breeze/doc/images/output_prod-image_build.svg @@ -425,8 +425,8 @@ │--airflow-extras                Extras to install by default. [default: │ │aiobotocore,amazon,async,celery,cncf-kubernetes,common-io,common-messaging,docker,│ │elasticsearch,fab,ftp,git,google,google-auth,graphviz,grpc,hashicorp,http,ldap,mic│ -│rosoft-azure,mysql,odbc,openlineage,pandas,postgres,redis,sendgrid,sftp,slack,snow│ -│flake,ssh,statsd,uv](TEXT)│ +│rosoft-azure,mysql,odbc,openlineage,opensearch,pandas,postgres,redis,sendgrid,sftp│ +│,slack,snowflake,ssh,statsd,uv](TEXT)│ │--additional-airflow-extras     Additional extra package while installing Airflow in the image. (TEXT)│ │--additional-python-deps        Additional python dependencies to use when building the images. (TEXT)│ │--dev-apt-deps                  Apt dev dependencies to use when building the images. (TEXT)│ diff --git a/dev/breeze/doc/images/output_prod-image_build.txt b/dev/breeze/doc/images/output_prod-image_build.txt index aee5acad71a..ebdcb250b46 100644 --- a/dev/breeze/doc/images/output_prod-image_build.txt +++ b/dev/breeze/doc/images/output_prod-image_build.txt @@ -1 +1 @@ -7def92d438b944e1f957b30ba27fc28d +1760d6aa232389338d997ce33e5032a2 diff --git a/dev/breeze/src/airflow_breeze/global_constants.py b/dev/breeze/src/airflow_breeze/global_constants.py index 8d76174f8aa..651b6fd72c3 100644 --- a/dev/breeze/src/airflow_breeze/global_constants.py +++ b/dev/breeze/src/airflow_breeze/global_constants.py @@ -794,6 +794,7 @@ DEFAULT_EXTRAS = [ "mysql", "odbc", "openlineage", + "opensearch", "pandas", "postgres", "redis", diff --git a/docker-stack-docs/build-arg-ref.rst b/docker-stack-docs/build-arg-ref.rst index 2fa07dca4ed..7b549cef830 100644 --- a/docker-stack-docs/build-arg-ref.rst +++ b/docker-stack-docs/build-arg-ref.rst @@ -108,6 +108,7 @@ List of default extras in the production Dockerfile: * mysql * odbc * openlineage +* opensearch * pandas * postgres * redis