Skip to content

Commit b8f4d22

Browse files
committed
bump kubernetes-client to 6.10 (redhat-developer#713)
Signed-off-by: Andre Dietisheim <[email protected]>
1 parent a979afb commit b8f4d22

File tree

9 files changed

+21
-19
lines changed

9 files changed

+21
-19
lines changed

build.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,15 @@ dependencies {
5959
"io.fabric8:kubernetes-model-common:${kubernetesClientVersion}",
6060
"io.fabric8:openshift-client:${kubernetesClientVersion}",
6161
"io.fabric8:kubernetes-httpclient-okhttp:${kubernetesClientVersion}",
62+
"com.fasterxml.jackson.core:jackson-core:2.16.2",
6263
"org.apache.commons:commons-lang3:3.12.0"
6364
)
6465
testImplementation(
6566
"org.assertj:assertj-core:3.22.0",
6667
"org.mockito:mockito-inline:4.5.1",
6768
"com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0",
6869
"org.jetbrains.kotlin:kotlin-test-junit:${kotlinVersion}",
70+
"com.fasterxml.jackson.core:jackson-core:2.16.2", /* IC-2022.1 provides an incompatible version */
6971
"org.yaml:snakeyaml:1.33" /* IC-2023.2 provides incompatible 2.0 */
7072
)
7173
integrationTestImplementation(

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ telemetryPluginVersion=1.1.0.52
1212
kotlin.stdlib.default.dependency = false
1313
kotlinVersionIdea221=1.6.21
1414
kotlinVersionIdea211=1.4.32
15-
kubernetesClientVersion=6.4.0
15+
kubernetesClientVersion=6.10.0
1616
fixturesVersion=1.1.18

src/main/kotlin/com/redhat/devtools/intellij/kubernetes/model/resource/NamespacedResourceOperator.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ abstract class NamespacedResourceOperator<R : HasMetadata, C: Client>(
117117
client.adapt(KubernetesClient::class.java)
118118
.resource(toReplace)
119119
.inNamespace(inNamespace)
120-
.replace()
120+
.patch()
121121
}
122122
}
123123

src/main/kotlin/com/redhat/devtools/intellij/kubernetes/model/resource/NonNamespacedResourceOperator.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ abstract class NonNamespacedResourceOperator<R : HasMetadata, C : Client>(
8787
return runWithoutServerSetProperties(toReplace) {
8888
client.adapt(KubernetesClient::class.java)
8989
.resource(toReplace)
90-
.replace()
90+
.patch()
9191
}
9292
}
9393

src/main/kotlin/com/redhat/devtools/intellij/kubernetes/model/resource/kubernetes/custom/NamespacedCustomResourceOperator.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ open class NamespacedCustomResourceOperator(
8686
getOperation()
8787
?.inNamespace(inNamespace)
8888
?.resource(toReplace)
89-
?.createOrReplace()
89+
?.patch()
9090
}
9191
}
9292

src/main/kotlin/com/redhat/devtools/intellij/kubernetes/model/resource/kubernetes/custom/NonNamespacedCustomResourceOperator.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,10 @@ class NonNamespacedCustomResourceOperator(
7272
return runWithoutServerSetProperties(toReplace) {
7373
getOperation()
7474
?.resource(resource)
75-
?.createOrReplace()
75+
/**
76+
* See: https://github.com/fabric8io/kubernetes-client/blob/main/doc/FAQ.md#alternatives-to-createOrReplace-and-replace
77+
*/
78+
?.patch()
7679
}
7780
}
7881

src/main/kotlin/com/redhat/devtools/intellij/kubernetes/model/util/ResourceUtils.kt

+6-9
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition
1616
import io.fabric8.kubernetes.client.utils.ApiVersionUtil
1717
import io.fabric8.kubernetes.client.utils.KubernetesVersionPriority
1818
import io.fabric8.kubernetes.client.utils.Serialization
19-
import io.fabric8.kubernetes.model.annotation.Group
20-
import io.fabric8.kubernetes.model.annotation.Version
21-
import io.fabric8.kubernetes.model.util.Helper
2219
import java.util.stream.Collectors
2320

2421
const val MARKER_WILL_BE_DELETED = "willBeDeleted"
@@ -128,13 +125,13 @@ fun String.isGreaterIntThan(other: String?): Boolean {
128125
* @see io.fabric8.kubernetes.model.annotation.Group (annotation)
129126
*/
130127
fun getApiVersion(clazz: Class<out HasMetadata>): String {
131-
val apiVersion = Helper.getAnnotationValue(clazz, Version::class.java)
132-
return if (!apiVersion.isNullOrBlank()) {
133-
val apiGroup = Helper.getAnnotationValue(clazz, Group::class.java)
134-
if (!apiGroup.isNullOrBlank()) {
135-
getApiVersion(apiGroup, apiVersion)
128+
val version = HasMetadata.getVersion(clazz)
129+
return if (!version.isNullOrBlank()) {
130+
val group = HasMetadata.getGroup(clazz)
131+
if (!group.isNullOrBlank()) {
132+
getApiVersion(group, version)
136133
} else {
137-
apiVersion
134+
version
138135
}
139136
} else {
140137
clazz.simpleName

src/test/kotlin/com/redhat/devtools/intellij/kubernetes/model/mocks/ClientMocks.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -130,15 +130,15 @@ object ClientMocks {
130130
) {
131131
val inNamespaceOp: Resource<HasMetadata> = mock {
132132
on { delete() } doReturn statusDetails
133-
on { replace() } doReturn resource
133+
on { patch() } doReturn resource
134134
on { create() } doReturn resource
135135
on { get() } doReturn resource
136136
}
137137
/** [KubernetesClient.resource] */
138138
val resourceOperation: NamespaceableResource<HasMetadata> = mock {
139139
on { inNamespace(any()) } doReturn inNamespaceOp
140140
on { delete() } doReturn statusDetails
141-
on { replace() } doReturn resource
141+
on { patch() } doReturn resource
142142
}
143143

144144
doReturn(resourceOperation)

src/test/kotlin/com/redhat/devtools/intellij/kubernetes/model/resource/kubernetes/NamespacedPodsOperatorTest.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ class NamespacedPodsOperatorTest {
381381
verify(client.get().adapt(KubernetesClient::class.java)
382382
.resource(toReplace)
383383
.inNamespace(toReplace.metadata.namespace))
384-
.replace()
384+
.patch()
385385
}
386386

387387
@Test
@@ -424,7 +424,7 @@ class NamespacedPodsOperatorTest {
424424
verify(client.get().adapt(KubernetesClient::class.java)
425425
.resource(toReplace)
426426
.inNamespace(toReplace.metadata.namespace))
427-
.replace()
427+
.patch()
428428
}
429429

430430
@Test
@@ -436,7 +436,7 @@ class NamespacedPodsOperatorTest {
436436
whenever(client.get().adapt(KubernetesClient::class.java)
437437
.resource(toReplace)
438438
.inNamespace(toReplace.metadata.namespace)
439-
.replace())
439+
.patch())
440440
.thenReturn(POD3)
441441
// when
442442
val newPod = operator.replace(toReplace)

0 commit comments

Comments
 (0)