mirror of
https://github.com/apache/openjpa.git
synced 2025-03-06 08:29:08 +00:00
Bump kubernetes-client from 5.9.0 to 6.2.0 (#105)
This commit is contained in:
parent
e7cd6f6562
commit
57f300b1da
@ -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
|
||||
|
@ -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()));
|
||||
}
|
||||
}
|
||||
|
4
pom.xml
4
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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user