Skip to content

Commit b881ab6

Browse files
committed
Merge branch 'remotetest' into 'release/4.2'
Added more checks to fix intermittent failures in Load Balancers tests, added LB tests to weekly See merge request weblogic-cloud/weblogic-kubernetes-operator!4859
2 parents 1dd3bea + 313c898 commit b881ab6

11 files changed

+90
-19
lines changed

Jenkinsfile.oke

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ pipeline {
153153
)
154154
string(name: 'BRANCH',
155155
description: '',
156-
defaultValue: "main"
156+
defaultValue: "release/4.2"
157157
)
158158
choice(name: 'BASE_IMAGES_REPO',
159159
choices: ["${env.WKT_OCIR_HOST}", 'container-registry.oracle.com'],

Jenkinsfile.podman

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ def kind_k8s_map = [
1818
]
1919
]
2020
def _kind_image = null
21-
CRON_SETTINGS = '''H 1 * * 0-4 % MAVEN_PROFILE_NAME=kind-parallel
22-
H 2 * * 0-4 % MAVEN_PROFILE_NAME=kind-sequential'''
21+
CRON_SETTINGS = '''H 1 * * 1-5 % MAVEN_PROFILE_NAME=kind-parallel
22+
H 2 * * 1-5 % MAVEN_PROFILE_NAME=kind-sequential'''
2323

2424
pipeline {
2525
agent { label 'large-ol9u4' }

integration-tests/src/test/java/oracle/weblogic/kubernetes/ItCrossDomainTransaction.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import oracle.weblogic.kubernetes.utils.ExecCommand;
4747
import oracle.weblogic.kubernetes.utils.ExecResult;
4848
import oracle.weblogic.kubernetes.utils.OracleHttpClient;
49+
import org.junit.jupiter.api.AfterAll;
4950
import org.junit.jupiter.api.BeforeAll;
5051
import org.junit.jupiter.api.BeforeEach;
5152
import org.junit.jupiter.api.DisplayName;
@@ -71,6 +72,7 @@
7172
import static oracle.weblogic.kubernetes.actions.TestActions.createDomainCustomResource;
7273
import static oracle.weblogic.kubernetes.actions.TestActions.getServiceNodePort;
7374
import static oracle.weblogic.kubernetes.actions.TestActions.listIngresses;
75+
import static oracle.weblogic.kubernetes.actions.TestActions.uninstallNginx;
7476
import static oracle.weblogic.kubernetes.assertions.TestAssertions.domainExists;
7577
import static oracle.weblogic.kubernetes.utils.ApplicationUtils.callWebAppAndWaitTillReady;
7678
import static oracle.weblogic.kubernetes.utils.ApplicationUtils.checkAppIsActive;
@@ -112,7 +114,7 @@
112114
*/
113115
@DisplayName("Verify cross domain transaction is successful")
114116
@IntegrationTest
115-
@Tag("oke-sequential")
117+
@Tag("oke-weekly-sequential")
116118
@Tag("kind-parallel")
117119
@Tag("okd-wls-srg")
118120
class ItCrossDomainTransaction {
@@ -229,6 +231,17 @@ public void beforeEach() {
229231
}
230232
}
231233

234+
@AfterAll
235+
public void tearDownAll() {
236+
237+
if (nginxHelmParams != null && OKE_CLUSTER) {
238+
assertThat(uninstallNginx(nginxHelmParams.getHelmParams()))
239+
.as("Test uninstallNginx returns true")
240+
.withFailMessage("uninstallNginx() did not return true")
241+
.isTrue();
242+
}
243+
}
244+
232245
private static void updatePropertyFile() {
233246
//create a temporary directory to copy and update the properties file
234247
Path target = Paths.get(PROPS_TEMP_DIR);

integration-tests/src/test/java/oracle/weblogic/kubernetes/ItHorizontalPodAutoscalerCustomMetrics.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
@DisplayName("Test to a create MII domain and test autoscaling using HPA and"
114114
+ "custom metrics provided via use of monitoring exporter and prometheus and prometheus adapter")
115115
@IntegrationTest
116-
@Tag("oke-sequential")
116+
@Tag("oke-weekly-sequential")
117117
@Tag("kind-parallel")
118118
public class ItHorizontalPodAutoscalerCustomMetrics {
119119
private static final String MONEXP_MODEL_FILE = "model.monexp.custommetrics.yaml";

integration-tests/src/test/java/oracle/weblogic/kubernetes/ItLBTwoDomainsNginx.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import static oracle.weblogic.kubernetes.actions.TestActions.deletePersistentVolumeClaim;
5151
import static oracle.weblogic.kubernetes.actions.TestActions.getServiceNodePort;
5252
import static oracle.weblogic.kubernetes.actions.TestActions.listIngresses;
53+
import static oracle.weblogic.kubernetes.actions.TestActions.uninstallNginx;
5354
import static oracle.weblogic.kubernetes.utils.CommonLBTestUtils.buildAndDeployClusterviewApp;
5455
import static oracle.weblogic.kubernetes.utils.CommonLBTestUtils.checkIngressReady;
5556
import static oracle.weblogic.kubernetes.utils.CommonLBTestUtils.createMultipleDomainsSharingPVUsingWlstAndVerify;
@@ -254,6 +255,12 @@ public void tearDownAll() throws ApiException {
254255
deletePersistentVolume(pvPvcNamePair.get(0));
255256
}
256257
}
258+
if (nginxHelmParams != null && OKE_CLUSTER) {
259+
assertThat(uninstallNginx(nginxHelmParams.getHelmParams()))
260+
.as("Test uninstallNginx returns true")
261+
.withFailMessage("uninstallNginx() did not return true")
262+
.isTrue();
263+
}
257264
}
258265

259266
private static void createCertKeyFiles(String cn) {

integration-tests/src/test/java/oracle/weblogic/kubernetes/ItLBTwoDomainsTraefik.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import static oracle.weblogic.kubernetes.TestConstants.KIND_CLUSTER;
3333
import static oracle.weblogic.kubernetes.TestConstants.KUBERNETES_CLI;
3434
import static oracle.weblogic.kubernetes.TestConstants.OCNE;
35+
import static oracle.weblogic.kubernetes.TestConstants.OKE_CLUSTER;
3536
import static oracle.weblogic.kubernetes.TestConstants.RESULTS_TEMPFILE_DIR;
3637
import static oracle.weblogic.kubernetes.TestConstants.SKIP_CLEANUP;
3738
import static oracle.weblogic.kubernetes.TestConstants.TRAEFIK_INGRESS_HTTPS_HOSTPORT;
@@ -43,6 +44,7 @@
4344
import static oracle.weblogic.kubernetes.actions.TestActions.deletePersistentVolume;
4445
import static oracle.weblogic.kubernetes.actions.TestActions.deletePersistentVolumeClaim;
4546
import static oracle.weblogic.kubernetes.actions.TestActions.getServiceNodePort;
47+
import static oracle.weblogic.kubernetes.actions.TestActions.uninstallTraefik;
4648
import static oracle.weblogic.kubernetes.utils.CommonLBTestUtils.buildAndDeployClusterviewApp;
4749
import static oracle.weblogic.kubernetes.utils.CommonLBTestUtils.createMultipleDomainsSharingPVUsingWlstAndVerify;
4850
import static oracle.weblogic.kubernetes.utils.CommonLBTestUtils.verifyAdminServerAccess;
@@ -53,6 +55,7 @@
5355
import static oracle.weblogic.kubernetes.utils.OperatorUtils.installAndVerifyOperator;
5456
import static oracle.weblogic.kubernetes.utils.SecretUtils.createSecretWithTLSCertKey;
5557
import static oracle.weblogic.kubernetes.utils.ThreadSafeLogger.getLogger;
58+
import static org.assertj.core.api.Assertions.assertThat;
5659
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
5760
import static org.junit.jupiter.api.Assertions.assertEquals;
5861
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -65,7 +68,7 @@
6568
@IntegrationTest
6669
@Tag("olcne-mrg")
6770
@Tag("kind-parallel")
68-
@Tag("oke-sequential")
71+
@Tag("oke-weekly-sequential")
6972
class ItLBTwoDomainsTraefik {
7073

7174
private static final int numberOfDomains = 2;
@@ -219,6 +222,13 @@ public void tearDownAll() throws ApiException {
219222
deletePersistentVolume(pvPvcNamePair.get(0));
220223
}
221224
}
225+
if (traefikHelmParams != null && OKE_CLUSTER) {
226+
227+
assertThat(uninstallTraefik(traefikHelmParams))
228+
.as("Test uninstallTraefik returns true")
229+
.withFailMessage("uninstallTraefik did not return true")
230+
.isTrue();
231+
}
222232
}
223233

224234
private static void createCertKeyFiles(String cn) {

integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMonitoringExporterSideCar.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
+ "MonitoringExporter Side Car via Prometheus and Grafana")
102102
@IntegrationTest
103103
@Tag("olcne-mrg")
104-
@Tag("oke-sequential")
104+
@Tag("oke-weekly-sequential")
105105
@Tag("kind-parallel")
106106
@Tag("okd-wls-mrg")
107107
class ItMonitoringExporterSideCar {

integration-tests/src/test/java/oracle/weblogic/kubernetes/ItRemoteConsole.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@
6262
import static oracle.weblogic.kubernetes.actions.TestActions.getServicePort;
6363
import static oracle.weblogic.kubernetes.actions.TestActions.installWlsRemoteConsole;
6464
import static oracle.weblogic.kubernetes.actions.TestActions.listIngresses;
65+
import static oracle.weblogic.kubernetes.actions.TestActions.uninstallNginx;
66+
import static oracle.weblogic.kubernetes.actions.TestActions.uninstallTraefik;
6567
import static oracle.weblogic.kubernetes.actions.impl.Service.getServiceNodePort;
6668
import static oracle.weblogic.kubernetes.utils.ApplicationUtils.callWebAppAndWaitTillReady;
6769
import static oracle.weblogic.kubernetes.utils.ApplicationUtils.callWebAppAndWaitTillReturnedCode;
@@ -96,7 +98,7 @@
9698
@DisabledOnSlimImage
9799
@Tag("olcne-mrg")
98100
@Tag("kind-parallel")
99-
@Tag("oke-parallel")
101+
@Tag("oke-weekly-sequential")
100102
class ItRemoteConsole {
101103

102104
private static String domainNamespace = null;
@@ -311,6 +313,19 @@ public void tearDownAll() {
311313
if (!SKIP_CLEANUP) {
312314
assertTrue(shutdownWlsRemoteConsole(), "Remote Console shutdown failed");
313315
}
316+
if (traefikHelmParams != null && OKE_CLUSTER) {
317+
318+
assertThat(uninstallTraefik(traefikHelmParams))
319+
.as("Test uninstallTraefik returns true")
320+
.withFailMessage("uninstallTraefik did not return true")
321+
.isTrue();
322+
}
323+
if (nginxHelmParams != null && OKE_CLUSTER) {
324+
assertThat(uninstallNginx(nginxHelmParams.getHelmParams()))
325+
.as("Test uninstallNginx returns true")
326+
.withFailMessage("uninstallNginx() did not return true")
327+
.isTrue();
328+
}
314329
}
315330

316331
private static void createTraefikIngressRoutingRules(String domainNamespace) {

integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/CommonLBTestUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -784,12 +784,12 @@ public static void verifyClusterLoadbalancing(String domainUid,
784784
+ "&password=" + ADMIN_PASSWORD_DEFAULT
785785
+ ((host != null) && host.contains(":") ? "&ipv6=true" : "&ipv6=false") + "\"";
786786
if (hostRouting) {
787-
curlRequest = OKE_CLUSTER_PRIVATEIP ? String.format("curl -g --show-error -ks --noproxy '*' "
787+
curlRequest = OKE_CLUSTER_PRIVATEIP ? String.format("curl -g --show-error -ks --noproxy '*' -v "
788788
+ "-H 'host: %s' %s://%s/" + uri, ingressHostName, protocol, host)
789789
: String.format("curl -g --show-error -ks --noproxy '*' "
790790
+ "-H 'host: %s' %s://%s/" + uri, ingressHostName, protocol, getHostAndPort(host, lbPort));
791791
} else {
792-
curlRequest = OKE_CLUSTER_PRIVATEIP ? String.format("curl -g --show-error -ks --noproxy '*' "
792+
curlRequest = OKE_CLUSTER_PRIVATEIP ? String.format("curl -g --show-error -ks --noproxy '*' -v "
793793
+ "%s://%s" + locationString + "/" + uri, protocol, host)
794794
: String.format("curl -g --show-error -ks --noproxy '*' "
795795
+ "%s://%s" + locationString + "/" + uri, protocol, getHostAndPort(host, lbPort));

integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/LoadBalancerUtils.java

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -386,10 +386,29 @@ public static String getLoadBalancerIP(String namespace, String lbName, boolean
386386
return null;
387387
}
388388

389-
private static boolean checkLoadBalancerHealthy(String namespace, String lbServiceName) {
389+
/**
390+
* Update NO_PROXY var with Load Balancer IP address.
391+
*
392+
* @param newEntry value to add for NO_PROXY
393+
* @throws Exception throws exception if failed to update
394+
*/
395+
public static void addNoProxyEntry(String newEntry) {
396+
String currentNoProxy = System.getenv("NO_PROXY");
397+
getLogger().info("Current NO_PROXY value is :" + currentNoProxy);
398+
399+
String updatedNoProxy = (currentNoProxy == null || currentNoProxy.isEmpty())
400+
? newEntry
401+
: currentNoProxy + ",10.196.0.0/24,10.196.1.0/24," + newEntry;
402+
403+
System.setProperty("NO_PROXY", updatedNoProxy);
404+
getLogger().info("Updated NO_PROXY: " + System.getProperty("NO_PROXY"));
405+
}
406+
407+
private static synchronized boolean checkLoadBalancerHealthy(String namespace, String lbServiceName) {
390408

391409
String lbPublicIP = assertDoesNotThrow(() -> getLoadBalancerIP(namespace, lbServiceName));
392410
InitializationTasks.registerLoadBalancerExternalIP(lbPublicIP);
411+
assertDoesNotThrow(() -> addNoProxyEntry(lbPublicIP));
393412
LoggingFacade logger = getLogger();
394413
String testcompartmentid = System.getProperty("wko.it.oci.compartment.ocid");
395414
logger.info("wko.it.oci.compartment.ocid property " + testcompartmentid);
@@ -675,7 +694,8 @@ public static List<String> createIngressForDomainAndVerify(String domainUid,
675694
if (host.contains(":")) {
676695
host = "[" + host + "]";
677696
}
678-
String curlCmd = "curl -g --silent --show-error --noproxy '*' -H 'host: " + ingressHost
697+
String curlCmd = "curl -g --silent --show-error --noproxy '*' "
698+
+ " -v --max-time 60 -H 'host: " + ingressHost
679699
+ "' http://" + getHostAndPort(host, nodeport)
680700
+ "/weblogic/ready --write-out %{http_code} -o /dev/null";
681701

@@ -739,7 +759,8 @@ public static void createNginxIngressPathRoutingRules(String domainNamespace,
739759
logger.info("ingress {0} was created in namespace {1}", ingressName, domainNamespace);
740760

741761
// check the ingress is ready to route the app to the server pod
742-
String curlCmd = "curl -g --silent --show-error --noproxy '*' http://" + hostAndPort
762+
String curlCmd = "curl -g --silent --show-error --noproxy '*' "
763+
+ " -v --max-time 60 http://" + hostAndPort
743764
+ "/weblogic/ready --write-out %{http_code} -o /dev/null";
744765

745766
logger.info("Executing curl command {0}", curlCmd);
@@ -803,7 +824,8 @@ public static List<String> createTraefikIngressForDomainAndVerify(
803824
if (host.contains(":")) {
804825
host = "[" + host + "]";
805826
}
806-
String curlCmd = "curl -g --silent --show-error --noproxy '*' -H 'host: " + ingressHost
827+
String curlCmd = "curl -g --silent --show-error --noproxy '*' "
828+
+ " -v --max-time 60 -H 'host: " + ingressHost
807829
+ "' http://" + host + ":" + nodeport
808830
+ "/weblogic/ready --write-out %{http_code} -o /dev/null";
809831

0 commit comments

Comments
 (0)