Skip to content

LCORE-0000: align Konflux pydantic-ai with 2.38.0 after PAI bump, Rust >= 1.85 - #3042

Draft
syedriko wants to merge 8 commits into
lightspeed-core:mainfrom
syedriko:rust-cargo-185-plus
Draft

syedriko wants to merge 8 commits into
lightspeed-core:mainfrom
syedriko:rust-cargo-185-plus

Conversation

@syedriko

Copy link
Copy Markdown
Contributor

Description

LCORE-0000: align Konflux pydantic-ai with 2.38.0 after PAI bump, Rust >= 1.85

Type of change

  • Refactor
  • New feature
  • Bug fix
  • CVE fix
  • Optimization
  • Documentation Update
  • Configuration Update
  • Bump-up service version
  • Bump-up dependent library [pyproject.toml + uv.lock]
  • Bump-up dependent library [requirements.*.txt for Konflux]
  • Bump-up library or tool used for development (does not change the final image)
  • CI configuration change
  • Konflux configuration change
  • Unit tests improvement
  • Integration tests improvement
  • End to end tests improvement
  • Benchmarks improvement

Tools used to create PR

Identify any AI code assistants used in this PR (for transparency and review context)

  • Assisted-by: (e.g., Claude, CodeRabbit, Ollama, etc., N/A if not used)
  • Generated by: (e.g., tool name and version; N/A if not used)

Related Tickets & Documents

  • Related Issue #
  • Closes #

Checklist before requesting a review

  • I have performed a self-review of my code.
  • PR has passed all pre-merge test jobs.
  • If it is a core feature, I have added thorough tests.

Testing

  • Please provide detailed steps to perform tests related to this code change.
  • How were the fix/results from this change verified? Please provide relevant screenshots or results.

snuryyeva and others added 6 commits October 27, 2026 10:07
The EUS 9.6 repo snapshot pins cargo at 1.84.1, which cannot parse
Cargo manifests using edition2024 (required by nh3 >= 0.3.x, pulled in
via readme-renderer -> twine). Since all wheels are built from source,
this breaks the Konflux build-container step.

Add rolling (non-EUS) RHEL 9 repos at a lower dnf priority (50) so the
9.6 EUS snapshot (priority 10) still satisfies everything else, and
request cargo >= 1.85 so only the Rust toolchain chain resolves from
rolling: cargo/rust/rust-std-static 1.92.0, llvm-libs 21.1.8, and
glibc-devel/glibc-headers 2.34-283.el9_8 (still glibc 2.34 ABI).

Verified end-to-end in a subscribed UBI9 container: the full
rpms.in.yaml set resolves with only those packages off-EUS, and
nh3-0.3.7 builds from sdist with the resulting cargo 1.92.0.

NOTE: .konflux/rpms.lock.yaml still needs regeneration (requires
quay.io credentials for the aipcc base image):
  ./generate-rpm-lock.sh -a <key> -g 11009103 \
    -i quay.io/aipcc/base-images/cpu:3.5.2-1790703656 \
    -f .konflux/rpms.in.yaml -O rpms.lock.yaml && mv rpms.lock.yaml .konflux
Only the Rust toolchain chain moved off the 9.6 EUS snapshot
(per arch): cargo/rust/rust-std-static 1.92.0-2.el9_8,
llvm-libs/llvm-filesystem/libomp 21.1.8-2.el9, and the mesa
packages pulled in as new dependencies. Everything else still
resolves from EUS 9.6.
@coderabbitai

coderabbitai Bot commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

The Konflux build injects the repos referenced by rpms.lock.yaml into
the image build, but regenerates the repo configuration without the
dnf priority settings (and repo names). With the ROLLING appstream
repo visible and priorities stripped, the runtime-stage
'dnf update -y' tries to update to 9.8 packages (gcc 14, mesa 25.2.7,
llvm-libs 21, ...) whose dependencies are not available from the
injected EUS-only repo set, e.g.:

  Problem: cannot install both mesa-dri-drivers-25.2.7-5.el9_8
  from rhel-9-for-x86_64-appstream-rpms__ROLLING and
  mesa-dri-drivers-24.2.8-5.el9_6 from @System

The ROLLING repos only exist to supply the Rust >= 1.85 toolchain for
the builder stage; the runtime stage does not need them. Disable them
explicitly for the runtime 'dnf install jq patch && dnf update' so it
behaves exactly as it did before the ROLLING repos were added.

Verified against the same repo set Konflux injects (EUS 9.6
appstream/baseos + ROLLING appstream, priorities stripped): both the
install and the update resolve cleanly with --disablerepo='*__ROLLING'
and fail without it.
The Enterprise Contract check rejected the SBOM entries for RPMs coming
from the rolling repos because the custom '__ROLLING' repo id suffix is
not in the list of known and permitted repository ids
(rhtap-ec-policy data/known_rpm_repositories.yml), unlike the canonical
rolling ids (rhel-9-for-<arch>-appstream-rpms) and the EUS
'__9_DOT_X'-suffixed ids.

Rename the rolling repo sections in .konflux/redhat.repo to their
canonical subscription-manager ids, update the runtime-stage
--disablerepo glob accordingly (rhel-9-for-*-rpms matches the rolling
ids but not the __9_DOT_6-suffixed EUS ids nor the rhelai repo), and
regenerate rpms.lock.yaml. The lockfile package set is unchanged; only
the recorded repository ids differ.
@syedriko

Copy link
Copy Markdown
Contributor Author

/retest

2 similar comments
@syedriko

Copy link
Copy Markdown
Contributor Author

/retest

@syedriko

Copy link
Copy Markdown
Contributor Author

/retest

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants