Repository navigation
Conversation
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.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
There was a problem hiding this comment.
🔵 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
UncheckedIOExceptionfor 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.
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.