DBZ-7002 Use working OCP connection check

This commit is contained in:
Jiri Novotny 2023-10-23 17:00:08 +02:00 committed by Jiří Novotný
parent 8907d88f49
commit 7eb0e8b4af

View File

@ -9,6 +9,7 @@
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.awaitility.Awaitility.await; import static org.awaitility.Awaitility.await;
import java.net.UnknownHostException;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -22,6 +23,7 @@
import io.debezium.testing.system.tools.WaitConditions; import io.debezium.testing.system.tools.WaitConditions;
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder; import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
import io.fabric8.kubernetes.api.model.ObjectReferenceBuilder; import io.fabric8.kubernetes.api.model.ObjectReferenceBuilder;
import io.fabric8.kubernetes.client.KubernetesClientException;
import io.fabric8.openshift.api.model.ClusterRoleBindingBuilder; import io.fabric8.openshift.api.model.ClusterRoleBindingBuilder;
import io.fabric8.openshift.api.model.Project; import io.fabric8.openshift.api.model.Project;
import io.fabric8.openshift.api.model.ProjectBuilder; import io.fabric8.openshift.api.model.ProjectBuilder;
@ -35,8 +37,9 @@ public class NamespacePreparationListener implements TestExecutionListener {
private List<String> projectNames; private List<String> projectNames;
public void testPlanExecutionStarted(TestPlan testPlan) { public void testPlanExecutionStarted(TestPlan testPlan) {
client = OpenShiftUtils.createOcpClient();
// execute only before OCP system tests // execute only before OCP system tests
if (ConfigProperties.OCP_PROJECT_DBZ != null && OpenShiftUtils.isRunningFromOcp()) { if (ConfigProperties.OCP_PROJECT_DBZ != null && isOcpAvailable()) {
projectNames = List.of(ConfigProperties.OCP_PROJECT_DBZ, projectNames = List.of(ConfigProperties.OCP_PROJECT_DBZ,
ConfigProperties.OCP_PROJECT_ORACLE, ConfigProperties.OCP_PROJECT_ORACLE,
ConfigProperties.OCP_PROJECT_MONGO, ConfigProperties.OCP_PROJECT_MONGO,
@ -45,7 +48,6 @@ public void testPlanExecutionStarted(TestPlan testPlan) {
ConfigProperties.OCP_PROJECT_POSTGRESQL, ConfigProperties.OCP_PROJECT_POSTGRESQL,
ConfigProperties.OCP_PROJECT_REGISTRY, ConfigProperties.OCP_PROJECT_REGISTRY,
ConfigProperties.OCP_PROJECT_SQLSERVER); ConfigProperties.OCP_PROJECT_SQLSERVER);
client = OpenShiftUtils.createOcpClient();
validateSystemParameters(); validateSystemParameters();
if (ConfigProperties.PREPARE_NAMESPACES_AND_STRIMZI) { if (ConfigProperties.PREPARE_NAMESPACES_AND_STRIMZI) {
@ -56,10 +58,10 @@ public void testPlanExecutionStarted(TestPlan testPlan) {
public void testPlanExecutionFinished(TestPlan testPlan) { public void testPlanExecutionFinished(TestPlan testPlan) {
// execute only after OCP system tests // execute only after OCP system tests
if (ConfigProperties.OCP_PROJECT_DBZ != null && ConfigProperties.PREPARE_NAMESPACES_AND_STRIMZI && OpenShiftUtils.isRunningFromOcp()) { if (ConfigProperties.OCP_PROJECT_DBZ != null && ConfigProperties.PREPARE_NAMESPACES_AND_STRIMZI && isOcpAvailable()) {
deleteNamespaces(); deleteNamespaces();
client.close();
} }
client.close();
} }
private void prepareNamespaces() { private void prepareNamespaces() {
@ -152,4 +154,16 @@ private void deleteNamespaces() {
} }
}); });
} }
private boolean isOcpAvailable() {
try {
client.getVersion();
}
catch (KubernetesClientException e) {
if (e.getCause() instanceof UnknownHostException) {
return false;
}
}
return true;
}
} }