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>