Skip to content

Fix LatestBoto CI stuck at boto3 1.38.2 (below provider minimum)#68122

Merged
shahar1 merged 1 commit into
apache:mainfrom
shahar1:fix/latest-boto-urllib3-constraint
Jun 6, 2026
Merged

Fix LatestBoto CI stuck at boto3 1.38.2 (below provider minimum)#68122
shahar1 merged 1 commit into
apache:mainfrom
shahar1:fix/latest-boto-urllib3-constraint

Conversation

@shahar1
Copy link
Copy Markdown
Contributor

@shahar1 shahar1 commented Jun 6, 2026

The check_boto_upgrade() function in scripts/docker/entrypoint_ci.sh was capping
boto3/botocore at <1.38.3 to avoid urllib3 2.6.0 being pulled in (it had removed
getheaders(), breaking the kubernetes client).

Since then:

  • urllib3 2.6.1+ restored getheaders() — the bug was only in exactly 2.6.0
  • kubernetes-tests/pyproject.toml and providers/cncf/kubernetes/pyproject.toml were
    already updated to urllib3!=2.6.0 (PR Convert the exclusion on urllib3 to != for 2.6.0 #59203)
  • The amazon provider minimum was bumped to boto3>=1.41.0

But entrypoint_ci.sh was not updated, leaving the LatestBoto CI job installing
boto3 1.38.2, which:

  1. Is below the amazon provider's declared minimum (boto3>=1.41.0)
  2. Predates the bedrock-agentcore-control / bedrock-agentcore services being added
    to botocore, causing spurious test failures for any operators that use those services
    (e.g. PR Add Amazon Bedrock AgentCore Runtime operators #67984, spotted via run https://github.com/apache/airflow/actions/runs/27028907135/job/79778239095)

Change

Remove the boto3<1.38.3 / botocore<1.38.3 upper bounds and change
urllib3<2.6.0urllib3!=2.6.0, consistent with what the rest of the repo
already does.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Sonnet 4.6)

Generated-by: Claude Code (Sonnet 4.6) following the guidelines

The `check_boto_upgrade()` function in `entrypoint_ci.sh` was capping boto3/botocore
at `<1.38.3` to prevent urllib3 2.6.0 from being pulled in (it had removed
`getheaders()`, breaking the kubernetes client). That workaround was applied in
Dec 2025 alongside a `urllib3<2.6.0` pin.

Since then, urllib3 2.6.1+ restored `getheaders()`, and the other affected files
(`kubernetes-tests/pyproject.toml`, `providers/cncf/kubernetes/pyproject.toml`)
were already updated to `urllib3!=2.6.0` (PR apache#59203). The `entrypoint_ci.sh`
was missed.

Result: the LatestBoto CI job was installing boto3 1.38.2, which is below the
amazon provider's declared minimum (`boto3>=1.41.0`) and predates the addition of
the `bedrock-agentcore-control` and `bedrock-agentcore` services to botocore,
causing unrelated test failures for new operators that use those services.

Fix: remove the boto3/botocore upper bounds and change `urllib3<2.6.0` to
`urllib3!=2.6.0`, consistent with the rest of the repo.
@shahar1 shahar1 force-pushed the fix/latest-boto-urllib3-constraint branch from 28987cc to 320b66e Compare June 6, 2026 06:30
@shahar1 shahar1 merged commit a4ea3ff into apache:main Jun 6, 2026
140 of 141 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 6, 2026

Backport successfully created: v3-2-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
v3-2-test PR Link

@shahar1 shahar1 deleted the fix/latest-boto-urllib3-constraint branch June 6, 2026 09:26
github-actions Bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request Jun 6, 2026
…der minimum) (apache#68122)

The `check_boto_upgrade()` function in `entrypoint_ci.sh` was capping boto3/botocore
at `<1.38.3` to prevent urllib3 2.6.0 from being pulled in (it had removed
`getheaders()`, breaking the kubernetes client). That workaround was applied in
Dec 2025 alongside a `urllib3<2.6.0` pin.

Since then, urllib3 2.6.1+ restored `getheaders()`, and the other affected files
(`kubernetes-tests/pyproject.toml`, `providers/cncf/kubernetes/pyproject.toml`)
were already updated to `urllib3!=2.6.0` (PR apache#59203). The `entrypoint_ci.sh`
was missed.

Result: the LatestBoto CI job was installing boto3 1.38.2, which is below the
amazon provider's declared minimum (`boto3>=1.41.0`) and predates the addition of
the `bedrock-agentcore-control` and `bedrock-agentcore` services to botocore,
causing unrelated test failures for new operators that use those services.

Fix: remove the boto3/botocore upper bounds and change `urllib3<2.6.0` to
`urllib3!=2.6.0`, consistent with the rest of the repo.
(cherry picked from commit a4ea3ff)

Co-authored-by: Shahar Epstein <60007259+shahar1@users.noreply.github.com>
aws-airflow-bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request Jun 6, 2026
…der minimum) (apache#68122)

The `check_boto_upgrade()` function in `entrypoint_ci.sh` was capping boto3/botocore
at `<1.38.3` to prevent urllib3 2.6.0 from being pulled in (it had removed
`getheaders()`, breaking the kubernetes client). That workaround was applied in
Dec 2025 alongside a `urllib3<2.6.0` pin.

Since then, urllib3 2.6.1+ restored `getheaders()`, and the other affected files
(`kubernetes-tests/pyproject.toml`, `providers/cncf/kubernetes/pyproject.toml`)
were already updated to `urllib3!=2.6.0` (PR apache#59203). The `entrypoint_ci.sh`
was missed.

Result: the LatestBoto CI job was installing boto3 1.38.2, which is below the
amazon provider's declared minimum (`boto3>=1.41.0`) and predates the addition of
the `bedrock-agentcore-control` and `bedrock-agentcore` services to botocore,
causing unrelated test failures for new operators that use those services.

Fix: remove the boto3/botocore upper bounds and change `urllib3<2.6.0` to
`urllib3!=2.6.0`, consistent with the rest of the repo.
(cherry picked from commit a4ea3ff)

Co-authored-by: Shahar Epstein <60007259+shahar1@users.noreply.github.com>
shahar1 added a commit that referenced this pull request Jun 6, 2026
…der minimum) (#68122) (#68128)

The `check_boto_upgrade()` function in `entrypoint_ci.sh` was capping boto3/botocore
at `<1.38.3` to prevent urllib3 2.6.0 from being pulled in (it had removed
`getheaders()`, breaking the kubernetes client). That workaround was applied in
Dec 2025 alongside a `urllib3<2.6.0` pin.

Since then, urllib3 2.6.1+ restored `getheaders()`, and the other affected files
(`kubernetes-tests/pyproject.toml`, `providers/cncf/kubernetes/pyproject.toml`)
were already updated to `urllib3!=2.6.0` (PR #59203). The `entrypoint_ci.sh`
was missed.

Result: the LatestBoto CI job was installing boto3 1.38.2, which is below the
amazon provider's declared minimum (`boto3>=1.41.0`) and predates the addition of
the `bedrock-agentcore-control` and `bedrock-agentcore` services to botocore,
causing unrelated test failures for new operators that use those services.

Fix: remove the boto3/botocore upper bounds and change `urllib3<2.6.0` to
`urllib3!=2.6.0`, consistent with the rest of the repo.
(cherry picked from commit a4ea3ff)

Co-authored-by: Shahar Epstein <60007259+shahar1@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dev-tools backport-to-v3-2-test Mark PR with this label to backport to v3-2-test branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants