Skip to content

feat!: upgrade to fabric8 kubernetes client 8.0.0 - #3661

Merged
csviri merged 4 commits into
nextfrom
f8-8.0.0
Oct 27, 2026
Merged

csviri merged 4 commits into
nextfrom
f8-8.0.0

Conversation

@csviri

@csviri csviri commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator

The client moved to Jackson 3, so the direct Jackson usages are migrated to the tools.jackson packages. YamlConfigProvider keeps throwing UncheckedIOException for malformed YAML. Tests calling the now ambiguous withShardSelector(null) cast the argument to String, and a v5.7 migration guide describes the changes for users.

The client moved to Jackson 3, so the direct Jackson usages are migrated
to the tools.jackson packages. YamlConfigProvider keeps throwing
UncheckedIOException for malformed YAML. Tests calling the now ambiguous
withShardSelector(null) cast the argument to String, and a v5.7
migration guide describes the changes for users.
Copilot AI balanced review requested due to automatic review settings October 25, 2026 11:43
@openshift-ci
openshift-ci Bot requested review from metacosm and xstefank October 25, 2026 11:43
@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 58c3c44b-a126-4b47-807b-bb2d95e6585b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@csviri csviri added this to the 5.7 milestone Oct 25, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The major client and serialization upgrade needs build and Kubernetes integration validation that was unavailable in this review.

No open issues 🎉

What changed in this PR

Upgrades Java Operator SDK to Fabric8 Kubernetes Client 8.0.0 and adapts direct Jackson usage to Jackson 3.

Changes:

  • Migrates Jackson imports and APIs while preserving UncheckedIOException for YAML loading failures.
  • Disambiguates null shard selectors in informer tests.
  • Adds v5.7 migration guidance for downstream users.
File Description
pom.xml Upgrades Fabric8 Kubernetes Client to 8.0.0.
operator-framework/​src/​test/​java/​io/​javaoperatorsdk/​operator/​baseapi/​multiversioncrd/​MultiVersionCRDIT.java Migrates JSON access and exception handling to Jackson 3.
operator-framework/​src/​main/​java/​io/​javaoperatorsdk/​operator/​config/​loader/​provider/​YamlConfigProvider.java Updates YAML parsing while preserving exception behavior.
operator-framework-core/​src/​test/​java/​io/​javaoperatorsdk/​operator/​processing/​event/​source/​informer/​ManagedInformerEventSourceStartFailureTest.java Casts the null shard selector to String.
operator-framework-core/​src/​test/​java/​io/​javaoperatorsdk/​operator/​processing/​event/​source/​informer/​ManagedInformerEventSourcePoolIdentityTest.java Casts the null shard selector to String.
operator-framework-core/​src/​test/​java/​io/​javaoperatorsdk/​operator/​processing/​event/​source/​informer/​ManagedInformerEventSourceNamespaceChangeTest.java Casts the null shard selector to String.
operator-framework-core/​src/​main/​java/​io/​javaoperatorsdk/​operator/​processing/​matcher/​MatcherUtils.java Migrates JSON imports and property iteration.
operator-framework-core/​src/​main/​java/​io/​javaoperatorsdk/​operator/​processing/​dependent/​kubernetes/​GenericKubernetesResourceMatcher.java Migrates JSON imports and string access.
operator-framework-core/​src/​main/​java/​io/​javaoperatorsdk/​operator/​api/​config/​ConfigurationService.java Updates the Javadoc mapper reference to Jackson 3.
docs/​content/​en/​docs/​migration/​v5-7-migration.md Documents Jackson 3 and shard-selector migration steps.

Review effort: Balanced

kubernetes-client 8.0.0 depends on kubernetes-httpclient-vertx-5 at
runtime, which clashed with the Vert.x 4 client in micrometer-support.
Exclude it from operator-framework-core so only the explicitly selected
implementation is on the classpath. Manage vertx-5 in the root pom and
use it in the CI http client matrix, as vertx now refers to Vert.x 4.
Excluding kubernetes-httpclient-vertx-5 left the core module without
any http client implementation on its test classpath, which broke
OperatorIT. Use the implementation selected by the
fabric8-httpclient-impl.name property.
@csviri
csviri merged commit fa808fa into next Oct 27, 2026
29 checks passed
@csviri
csviri deleted the f8-8.0.0 branch October 27, 2026 12:04
csviri added a commit that referenced this pull request Oct 27, 2026
The client moved to Jackson 3, so the direct Jackson usages are migrated
to the tools.jackson packages. YamlConfigProvider keeps throwing
UncheckedIOException for malformed YAML. Tests calling the now ambiguous
withShardSelector(null) cast the argument to String, and a v5.7
migration guide describes the changes for users.
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.

3 participants