You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by il...@apache.org on 2022/11/03 10:46:11 UTC
[openjpa] branch master updated: Bump kubernetes-client from 5.9.0 to 6.2.0 (#105)
This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openjpa.git
The following commit(s) were added to refs/heads/master by this push:
new 57f300b1d Bump kubernetes-client from 5.9.0 to 6.2.0 (#105)
57f300b1d is described below
commit 57f300b1da76b3b98b718414243b05fce996b758
Author: dependabot[bot] <49...@users.noreply.github.com>
AuthorDate: Thu Nov 3 11:46:07 2022 +0100
Bump kubernetes-client from 5.9.0 to 6.2.0 (#105)
---
.../KubernetesTCPRemoteCommitProvider.java | 6 +-
.../KubernetesTCPRemoteCommitProviderTest.java | 66 +++++++++++-----------
pom.xml | 4 +-
3 files changed, 37 insertions(+), 39 deletions(-)
diff --git a/openjpa-kubernetes/src/main/java/org/apache/openjpa/event/kubernetes/KubernetesTCPRemoteCommitProvider.java b/openjpa-kubernetes/src/main/java/org/apache/openjpa/event/kubernetes/KubernetesTCPRemoteCommitProvider.java
index e0e1247e6..2316656b0 100644
--- a/openjpa-kubernetes/src/main/java/org/apache/openjpa/event/kubernetes/KubernetesTCPRemoteCommitProvider.java
+++ b/openjpa-kubernetes/src/main/java/org/apache/openjpa/event/kubernetes/KubernetesTCPRemoteCommitProvider.java
@@ -18,10 +18,10 @@
*/
package org.apache.openjpa.event.kubernetes;
-import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
import io.fabric8.kubernetes.client.KubernetesClientException;
-import io.fabric8.kubernetes.client.internal.readiness.Readiness;
+import io.fabric8.kubernetes.client.readiness.Readiness;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
@@ -58,7 +58,7 @@ public class KubernetesTCPRemoteCommitProvider extends DynamicTCPRemoteCommitPro
}
protected KubernetesClient kubernetesClient() throws KubernetesClientException {
- return new DefaultKubernetesClient();
+ return new KubernetesClientBuilder().build();
}
@Override
diff --git a/openjpa-kubernetes/src/test/java/org/apache/openjpa/event/kubernetes/KubernetesTCPRemoteCommitProviderTest.java b/openjpa-kubernetes/src/test/java/org/apache/openjpa/event/kubernetes/KubernetesTCPRemoteCommitProviderTest.java
index d8e1e1fcd..8645d2e69 100644
--- a/openjpa-kubernetes/src/test/java/org/apache/openjpa/event/kubernetes/KubernetesTCPRemoteCommitProviderTest.java
+++ b/openjpa-kubernetes/src/test/java/org/apache/openjpa/event/kubernetes/KubernetesTCPRemoteCommitProviderTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertTrue;
import io.fabric8.kubernetes.api.model.Pod;
import io.fabric8.kubernetes.api.model.PodBuilder;
+import io.fabric8.kubernetes.api.model.PodCondition;
import io.fabric8.kubernetes.api.model.PodList;
import io.fabric8.kubernetes.api.model.PodStatusBuilder;
import io.fabric8.kubernetes.client.KubernetesClient;
@@ -33,9 +34,6 @@ import java.lang.reflect.Field;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
-import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.openjpa.event.TCPRemoteCommitProvider;
import org.apache.openjpa.lib.conf.Configuration;
import org.apache.openjpa.lib.log.SLF4JLogFactory;
@@ -51,6 +49,23 @@ public class KubernetesTCPRemoteCommitProviderTest {
private static final String LABEL = "testKey";
+ @SuppressWarnings("unchecked")
+ private static List<String> getAddresses(final KubernetesTCPRemoteCommitProvider rcp)
+ throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
+
+ Field _addresses = TCPRemoteCommitProvider.class.getDeclaredField("_addresses");
+ _addresses.setAccessible(true);
+
+ List<String> result = new ArrayList<>();
+ for (Object address : ((Iterable<? extends Object>) _addresses.get(rcp))) {
+ Field _address = address.getClass().getDeclaredField("_address");
+ _address.setAccessible(true);
+
+ result.add(_address.get(address).toString().substring(1));
+ }
+ return result;
+ }
+
@Rule
public JUnitRuleMockery context = new JUnitRuleMockery();
@@ -69,60 +84,50 @@ public class KubernetesTCPRemoteCommitProviderTest {
public void setupKubernetes() {
KubernetesClient client = server.getClient();
+ PodCondition condition = new PodCondition();
+ condition.setType("Ready");
+ condition.setStatus("True");
+
pod1 = new PodBuilder().
withNewMetadata().
withName("pod1").
addToLabels(LABEL, "value1").
endMetadata().
- withStatus(new PodStatusBuilder().withPodIP("1.1.1.1").build()).
+ withStatus(new PodStatusBuilder().withPodIP("1.1.1.1").withConditions(condition).build()).
build();
- client.pods().inNamespace(NAMESPACE).create(pod1);
+ client.pods().inNamespace(NAMESPACE).resource(pod1).create();
pod2 = new PodBuilder().
withNewMetadata().
withName("pod2").
addToLabels(LABEL, "value2").
endMetadata().
- withStatus(new PodStatusBuilder().withPodIP("2.2.2.2").build()).
+ withStatus(new PodStatusBuilder().withPodIP("2.2.2.2").withConditions(condition).build()).
build();
- client.pods().inNamespace(NAMESPACE).create(pod2);
+ client.pods().inNamespace(NAMESPACE).resource(pod2).create();
pod3 = new PodBuilder().
withNewMetadata().
withName("pod3").
endMetadata().
- withStatus(new PodStatusBuilder().withPodIP("3.3.3.3").build()).
+ withStatus(new PodStatusBuilder().withPodIP("3.3.3.3").withConditions(condition).build()).
build();
- client.pods().inNamespace("ns2").create(pod3);
+ client.pods().inNamespace("ns2").resource(pod3).create();
pod4 = new PodBuilder().
withNewMetadata().
withName("pod4").
addToLabels("other", "value1").
endMetadata().
- withStatus(new PodStatusBuilder().withPodIP("4.4.4.4").build()).
+ withStatus(new PodStatusBuilder().withPodIP("4.4.4.4").withConditions(condition).build()).
build();
- client.pods().inNamespace(NAMESPACE).create(pod4);
+ client.pods().inNamespace(NAMESPACE).resource(pod4).create();
PodList podList = client.pods().inNamespace(NAMESPACE).withLabel(LABEL).list();
assertNotNull(podList);
assertEquals(2, podList.getItems().size());
- assertTrue(podList.getItems().contains(pod1));
- assertTrue(podList.getItems().contains(pod2));
- }
-
- @SuppressWarnings("unchecked")
- private List<String> getAddresses(final KubernetesTCPRemoteCommitProvider rcp)
- throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
-
- Field _addresses = TCPRemoteCommitProvider.class.getDeclaredField("_addresses");
- _addresses.setAccessible(true);
-
- return new ArrayList<>((List<Object>) _addresses.get(rcp)).stream().
- map(ReflectionToStringBuilder::toString).
- map(address -> StringUtils.substringAfter(address, "_address=/")).
- map(address -> StringUtils.substringBefore(address, ",")).
- collect(Collectors.toList());
+ assertTrue(podList.getItems().stream().anyMatch(pod -> "pod1".equals(pod.getMetadata().getName())));
+ assertTrue(podList.getItems().stream().anyMatch(pod -> "pod2".equals(pod.getMetadata().getName())));
}
@Test
@@ -160,12 +165,5 @@ public class KubernetesTCPRemoteCommitProviderTest {
assertEquals(2, addresses.size());
assertTrue(addresses.contains(pod1.getStatus().getPodIP()));
assertTrue(addresses.contains(pod2.getStatus().getPodIP()));
-
- Thread.sleep(500);
-
- addresses = getAddresses(rcp);
- assertEquals(2, addresses.size());
- assertTrue(addresses.contains(pod1.getStatus().getPodIP()));
- assertTrue(addresses.contains(pod2.getStatus().getPodIP()));
}
}
diff --git a/pom.xml b/pom.xml
index 6529ba596..5be36ce58 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,7 +85,7 @@
<mssql.connector.version>11.2.1.jre8</mssql.connector.version>
<!-- other common versions -->
- <kubernetes-client.version>5.9.0</kubernetes-client.version>
+ <kubernetes-client.version>6.2.0</kubernetes-client.version>
<slf4j.version>1.7.23</slf4j.version>
<!-- Compile Java source/target class level -->
<compile.class.source>${java.class.version}</compile.class.source>
@@ -95,7 +95,7 @@
<maven.javadoc.version>3.0.1</maven.javadoc.version>
<javadoc.additionalparam />
- <maven.surefire.version>3.0.0-M4</maven.surefire.version>
+ <maven.surefire.version>3.0.0-M7</maven.surefire.version>
<xbean.version>4.20</xbean.version>
<bval.version>1.1.2</bval.version>