The Microsoft Azure provider caps azure-datalake-store<1. azure-datalake-store 1.0.1 removed the lib.auth API that AzureDataLakeHook.get_conn() calls (providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_lake.py). With 1.x installed, creating the Data Lake Gen1 connection with a tenant/secret fails. Every TestAzureDataLakeHook test also fails with AttributeError: Mock object has no attribute 'auth', which is what kept the scheduled CI upgrade (#73629) red.
The cap was added in the CI upgrade PR to unblock it. Neither the CI upgrade (breeze ci upgrade) nor the automatic dependency floor bump will lift it on their own.
To do
- Port
AzureDataLakeHook.get_conn() to the credential API that azure-datalake-store 1.x provides.
- Update the
TestAzureDataLakeHook mocks to match.
- Decide whether to keep 0.0.x working or raise the floor to
>=1. A floor raise is a breaking change for the provider and needs a changelog entry.
Done when
- The
<1 cap and its comment are removed from providers/microsoft/azure/pyproject.toml.
- The
azure-datalake-store entry is removed from [tool.airflow.dependency-floors.exclude] in the root pyproject.toml.
- The azure provider tests pass on 1.x, including LowestDeps.
Drafted-by: Claude Code (Opus 5); reviewed by @potiuk before posting
The Microsoft Azure provider caps
azure-datalake-store<1.azure-datalake-store1.0.1 removed thelib.authAPI thatAzureDataLakeHook.get_conn()calls (providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_lake.py). With 1.x installed, creating the Data Lake Gen1 connection with a tenant/secret fails. EveryTestAzureDataLakeHooktest also fails withAttributeError: Mock object has no attribute 'auth', which is what kept the scheduled CI upgrade (#73629) red.The cap was added in the CI upgrade PR to unblock it. Neither the CI upgrade (
breeze ci upgrade) nor the automatic dependency floor bump will lift it on their own.To do
AzureDataLakeHook.get_conn()to the credential API thatazure-datalake-store1.x provides.TestAzureDataLakeHookmocks to match.>=1. A floor raise is a breaking change for the provider and needs a changelog entry.Done when
<1cap and its comment are removed fromproviders/microsoft/azure/pyproject.toml.azure-datalake-storeentry is removed from[tool.airflow.dependency-floors.exclude]in the rootpyproject.toml.Drafted-by: Claude Code (Opus 5); reviewed by @potiuk before posting