From c63aa060b63dfb34bb0c991bf075919894c101cc Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Fri, 17 Jun 2022 11:54:33 -0700 Subject: [PATCH 01/16] retyr getting the token --- .../kubernetes/actions/impl/Secret.java | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Secret.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Secret.java index 1f15c837ff8..50a6ca5de70 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Secret.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Secret.java @@ -6,6 +6,7 @@ import java.util.ArrayList; import java.util.Base64; import java.util.List; +import java.util.concurrent.TimeUnit; import io.kubernetes.client.openapi.ApiException; import io.kubernetes.client.openapi.models.V1ObjectReference; @@ -20,6 +21,7 @@ import static oracle.weblogic.kubernetes.actions.impl.primitive.Kubernetes.listServiceAccounts; import static oracle.weblogic.kubernetes.actions.impl.primitive.Kubernetes.readSecretByReference; import static oracle.weblogic.kubernetes.utils.ThreadSafeLogger.getLogger; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; public class Secret { @@ -110,34 +112,38 @@ public static String getSecretOfServiceAccount(String namespace, String serviceA * @return the encoded token of the secret */ public static String getSecretEncodedToken(String namespace, String secretName) { + LoggingFacade logger = getLogger(); + for (int i = 0; i < 10; i++) { + String token = getToken(namespace, secretName); + if (token != null) { + logger.info("Got the token {0}", token); + return token; + } + logger.info("Token is null, retrying after 5 seconds"); + assertDoesNotThrow(() -> TimeUnit.SECONDS.sleep(5)); + } + logger.warning("Secret token is null"); + return null; + } + private static String getToken(String namespace, String secretName) { + String token = null; List v1Secrets = new ArrayList<>(); - V1SecretList secretList = listSecrets(namespace); if (secretList != null) { v1Secrets = secretList.getItems(); } - for (V1Secret v1Secret : v1Secrets) { if (v1Secret.getMetadata() != null && v1Secret.getMetadata().getName() != null) { if (v1Secret.getMetadata().getName().equals(secretName)) { - if (v1Secret.getData() != null) { + if (v1Secret.getData() != null && v1Secret.getData().get("token") != null) { byte[] encodedToken = v1Secret.getData().get("token"); - getLogger().info(new String(encodedToken)); - Base64.Encoder encoder = Base64.getEncoder(); - if (encoder != null) { - String encodeToString = encoder.encodeToString(encodedToken); - getLogger().info(encodeToString); - } else { - getLogger().info("encoder is null"); - } - return Base64.getEncoder().encodeToString(encodedToken); + token = Base64.getEncoder().encodeToString(encodedToken); } } } } - - return ""; + return token; } /** From 8b38defd2f52741849021155058d873f26b1e796 Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Tue, 21 Jun 2022 09:26:12 -0700 Subject: [PATCH 02/16] debugging --- .../weblogic/kubernetes/actions/impl/Domain.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java index ea0422fdea7..286408d5b79 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java @@ -20,6 +20,7 @@ import io.kubernetes.client.openapi.models.V1RoleBinding; import io.kubernetes.client.openapi.models.V1RoleRef; import io.kubernetes.client.openapi.models.V1Subject; +import io.kubernetes.client.util.Yaml; import oracle.weblogic.domain.Cluster; import oracle.weblogic.domain.DomainList; import oracle.weblogic.kubernetes.actions.impl.primitive.Command; @@ -448,6 +449,18 @@ public static boolean scaleClusterWithRestApi(String domainUid, String decodedToken = new String(Base64.getDecoder().decode(secretToken)); logger.info("Got decoded token for secret {0} associated with service account {1} in namespace {2}: {3}", secretName, opServiceAccount, opNamespace, decodedToken); + + try { + List ns = Kubernetes.listNamespaces(); + for (String n : ns) { + if (n.startsWith("ns-")) { + oracle.weblogic.domain.Domain domain = getDomainCustomResource(domainUid, n); + logger.info(Yaml.dump(domain)); + } + } + } catch (ApiException e) { + logger.warning(e.getMessage()); + } // build the curl command to scale the cluster String command = new StringBuffer() From 3fca24f4217db13c485050e98bf66546cc9f5934 Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Tue, 21 Jun 2022 10:03:48 -0700 Subject: [PATCH 03/16] wip --- .../oracle/weblogic/kubernetes/actions/impl/Domain.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java index 286408d5b79..cc7a1754f66 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java @@ -454,8 +454,12 @@ public static boolean scaleClusterWithRestApi(String domainUid, List ns = Kubernetes.listNamespaces(); for (String n : ns) { if (n.startsWith("ns-")) { - oracle.weblogic.domain.Domain domain = getDomainCustomResource(domainUid, n); - logger.info(Yaml.dump(domain)); + try { + oracle.weblogic.domain.Domain domain = getDomainCustomResource(domainUid, n); + logger.info(Yaml.dump(domain)); + } catch (ApiException e) { + logger.warning(e.getMessage()); + } } } } catch (ApiException e) { From 8f1261e6ea6b4593f7d6e279dbb8bc75b1c33336 Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Tue, 21 Jun 2022 10:16:21 -0700 Subject: [PATCH 04/16] wip --- .../kubernetes/actions/impl/Domain.java | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java index cc7a1754f66..07cb9650a09 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java @@ -450,21 +450,7 @@ public static boolean scaleClusterWithRestApi(String domainUid, logger.info("Got decoded token for secret {0} associated with service account {1} in namespace {2}: {3}", secretName, opServiceAccount, opNamespace, decodedToken); - try { - List ns = Kubernetes.listNamespaces(); - for (String n : ns) { - if (n.startsWith("ns-")) { - try { - oracle.weblogic.domain.Domain domain = getDomainCustomResource(domainUid, n); - logger.info(Yaml.dump(domain)); - } catch (ApiException e) { - logger.warning(e.getMessage()); - } - } - } - } catch (ApiException e) { - logger.warning(e.getMessage()); - } + dumpLogs(domainUid); // build the curl command to scale the cluster String command = new StringBuffer() @@ -496,9 +482,29 @@ public static boolean scaleClusterWithRestApi(String domainUid, testUntil( () -> Command.withParams(params).execute(), logger, - "Calling curl command"); + "Calling curl command"); + dumpLogs(domainUid); return true; } + + private static void dumpLogs(String domainUid) { + LoggingFacade logger = getLogger(); + try { + List ns = Kubernetes.listNamespaces(); + for (String n : ns) { + if (n.startsWith("ns-")) { + try { + oracle.weblogic.domain.Domain domain = getDomainCustomResource(domainUid, n); + logger.info(Yaml.dump(domain)); + } catch (ApiException e) { + logger.warning(e.getMessage()); + } + } + } + } catch (ApiException e) { + logger.warning(e.getMessage()); + } + } /** * Scale the cluster of the domain in the specified namespace with WLDF. From a8785d206d40c35d93f11c829e23a724dacd0eef Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Tue, 21 Jun 2022 10:20:00 -0700 Subject: [PATCH 05/16] wip --- .../java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java index a9983e626a7..4249345e417 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java @@ -24,6 +24,7 @@ import io.kubernetes.client.openapi.models.V1PodSpec; import io.kubernetes.client.openapi.models.V1Volume; import io.kubernetes.client.openapi.models.V1VolumeMount; +import io.kubernetes.client.util.Yaml; import oracle.weblogic.domain.Domain; import oracle.weblogic.kubernetes.actions.impl.primitive.Kubernetes; import oracle.weblogic.kubernetes.actions.impl.primitive.WitParams; @@ -269,6 +270,8 @@ image, adminSecretName, createSecretsForImageRepos(domainNamespace), String adminServerPodName = domainUid + "-" + ADMIN_SERVER_NAME_BASE; String managedServerPodNamePrefix = domainUid + "-" + MANAGED_SERVER_NAME_BASE; + + logger.info(Yaml.dump(domainCR)); logger.info("Creating domain {0} with model in image {1} in namespace {2}", domainUid, image, domainNamespace); From 0f915e0891f1d31028573550f8ff3a869ff75643 Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Tue, 21 Jun 2022 15:15:51 -0700 Subject: [PATCH 06/16] wip --- .../oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java index 4249345e417..21dd5dbfa4d 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java @@ -26,6 +26,7 @@ import io.kubernetes.client.openapi.models.V1VolumeMount; import io.kubernetes.client.util.Yaml; import oracle.weblogic.domain.Domain; +import oracle.weblogic.domain.Model; import oracle.weblogic.kubernetes.actions.impl.primitive.Kubernetes; import oracle.weblogic.kubernetes.actions.impl.primitive.WitParams; import oracle.weblogic.kubernetes.annotations.IntegrationTest; @@ -258,7 +259,9 @@ void testMiiDomainWithModelAndApplicationInPV(Entry params) { Domain domainCR = CommonMiiTestUtils.createDomainResource(domainUid, domainNamespace, image, adminSecretName, createSecretsForImageRepos(domainNamespace), encryptionSecretName, replicaCount, clusterName); - domainCR.spec().configuration().model().withModelHome(modelMountPath + "/model"); + Model withModelHome = domainCR.spec().configuration().model().withModelHome(modelMountPath + "/model"); + logger.info(Yaml.dump(withModelHome)); + logger.info(Yaml.dump(domainCR.spec().configuration())); domainCR.spec().serverPod() .addVolumesItem(new V1Volume() .name(pvName) From 63deaf59ec028b92c9df2750e8d109fd6f4b81e1 Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Tue, 21 Jun 2022 19:12:24 -0700 Subject: [PATCH 07/16] wip --- .../src/test/java/oracle/weblogic/domain/Model.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/domain/Model.java b/integration-tests/src/test/java/oracle/weblogic/domain/Model.java index 8ecc55e465d..ff6737323e1 100644 --- a/integration-tests/src/test/java/oracle/weblogic/domain/Model.java +++ b/integration-tests/src/test/java/oracle/weblogic/domain/Model.java @@ -86,11 +86,11 @@ public void setRuntimeEncryptionSecret(String runtimeEncryptionSecret) { this.runtimeEncryptionSecret = runtimeEncryptionSecret; } - String getModelHome() { + public String getModelHome() { return modelHome; } - void setModelHome(String modelHome) { + public void setModelHome(String modelHome) { this.modelHome = modelHome; } @@ -99,11 +99,11 @@ public Model withModelHome(String modelHome) { return this; } - String getWdtInstallHome() { + public String getWdtInstallHome() { return wdtInstallHome; } - void setWdtInstallHome(String wdtInstallHome) { + public void setWdtInstallHome(String wdtInstallHome) { this.wdtInstallHome = wdtInstallHome; } From 9a912f69e071fa0ca8d610ee5ef38b4a639a3c25 Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Wed, 22 Jun 2022 07:02:13 -0700 Subject: [PATCH 08/16] wip --- .../oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java index 21dd5dbfa4d..69fdc633419 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java @@ -14,6 +14,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.concurrent.TimeUnit; import java.util.stream.Stream; import io.kubernetes.client.openapi.models.V1Container; @@ -252,6 +253,10 @@ void testMiiDomainWithModelAndApplicationInPV(Entry params) { String domainUid = params.getKey(); String image = params.getValue(); + + if (domainUid.equals(domainUid1)) { + assertDoesNotThrow(() -> TimeUnit.MINUTES.sleep(5)); + } // create domain custom resource and verify all the pods came up logger.info("Creating domain custom resource with domainUid {0} and image {1}", From 79d39086b4ca0b5cb953aae84a222c2bd793219d Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Wed, 22 Jun 2022 15:47:18 -0700 Subject: [PATCH 09/16] change driver name for ps3 --- .../weblogic/kubernetes/ItConfigDistributionStrategy.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItConfigDistributionStrategy.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItConfigDistributionStrategy.java index 458efee6660..eab8172c276 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItConfigDistributionStrategy.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItConfigDistributionStrategy.java @@ -1076,7 +1076,11 @@ private void createJdbcDataSource(String dsName, String user, String password, p.setProperty("admin_password", ADMIN_PASSWORD_DEFAULT); p.setProperty("dsName", dsName); p.setProperty("dsUrl", jdbcDsUrl); - p.setProperty("dsDriver", "com.mysql.cj.jdbc.Driver"); + if (WEBLOGIC_IMAGE_TO_USE_IN_SPEC.contains("12.2.1.3")) { + p.setProperty("dsDriver", "com.mysql.cj.jdbc.Driver"); + } else { + p.setProperty("dsDriver", "com.mysql.cj.jdbc.Driver"); + } p.setProperty("dsUser", user); p.setProperty("dsPassword", password); p.setProperty("dsTarget", clusterName); From f695ff1014a02d22e069724fb8bfb4994990c1f1 Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Wed, 22 Jun 2022 16:04:29 -0700 Subject: [PATCH 10/16] wip --- .../weblogic/kubernetes/ItConfigDistributionStrategy.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItConfigDistributionStrategy.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItConfigDistributionStrategy.java index eab8172c276..85726991f63 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItConfigDistributionStrategy.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItConfigDistributionStrategy.java @@ -1077,8 +1077,10 @@ private void createJdbcDataSource(String dsName, String user, String password, p.setProperty("dsName", dsName); p.setProperty("dsUrl", jdbcDsUrl); if (WEBLOGIC_IMAGE_TO_USE_IN_SPEC.contains("12.2.1.3")) { - p.setProperty("dsDriver", "com.mysql.cj.jdbc.Driver"); + logger.info("Using 12.2.1.3 image, driver is com.mysql.jdbc.Driver"); + p.setProperty("dsDriver", "com.mysql.jdbc.Driver"); } else { + logger.info("Using 12.2.1.4 and later image, driver is com.mysql.cj.jdbc.Driver"); p.setProperty("dsDriver", "com.mysql.cj.jdbc.Driver"); } p.setProperty("dsUser", user); From 7ee6682678c7590d270429139fd13191f87bb2c2 Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Wed, 22 Jun 2022 16:37:02 -0700 Subject: [PATCH 11/16] wip --- .../oracle/weblogic/kubernetes/ItMiiDynamicUpdatePart3.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDynamicUpdatePart3.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDynamicUpdatePart3.java index 41860f54c6a..da3709c41a5 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDynamicUpdatePart3.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDynamicUpdatePart3.java @@ -26,7 +26,6 @@ import static oracle.weblogic.kubernetes.TestConstants.MII_DYNAMIC_UPDATE_EXPECTED_ERROR_MSG; import static oracle.weblogic.kubernetes.TestConstants.OPERATOR_RELEASE_NAME; import static oracle.weblogic.kubernetes.TestConstants.WEBLOGIC_SLIM; -import static oracle.weblogic.kubernetes.TestConstants.WEBLOGIC_VERSION; import static oracle.weblogic.kubernetes.actions.ActionConstants.MODEL_DIR; import static oracle.weblogic.kubernetes.actions.ActionConstants.WORK_DIR; import static oracle.weblogic.kubernetes.actions.TestActions.getDomainCustomResource; @@ -260,7 +259,7 @@ void testOperatorLogIntrospectorMsg() { logger.info("operator pod log: {0}", operatorPodLog); assertTrue(operatorPodLog.contains("Introspector Job Log")); if (!WEBLOGIC_SLIM) { - assertTrue(operatorPodLog.contains("WebLogic version='" + WEBLOGIC_VERSION + "'")); + assertTrue(operatorPodLog.contains("Version check passed")); } assertTrue(operatorPodLog.contains("Job " + domainUid + "-introspector has failed")); assertTrue(operatorPodLog.contains(MII_DYNAMIC_UPDATE_EXPECTED_ERROR_MSG)); From 8a4ce0364baeb35868bde3e998cda7a4fe2991ca Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Wed, 22 Jun 2022 17:30:41 -0700 Subject: [PATCH 12/16] wip --- .../kubernetes/ItConfigDistributionStrategy.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItConfigDistributionStrategy.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItConfigDistributionStrategy.java index 85726991f63..ab42cda8622 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItConfigDistributionStrategy.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItConfigDistributionStrategy.java @@ -115,6 +115,7 @@ import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /** * Tests related to overrideDistributionStrategy attribute. @@ -555,8 +556,18 @@ void testOnRestartOverride() { Path dstDsOverrideFile = Paths.get(WORK_DIR, "jdbc-JdbcTestDataSource-1.xml"); String tempString = assertDoesNotThrow(() -> Files.readString(srcDsOverrideFile).replaceAll("JDBC_URL", dsUrl2)); - assertDoesNotThrow(() - -> Files.write(dstDsOverrideFile, tempString.getBytes(StandardCharsets.UTF_8))); + logger.info("Before override \n{0}", tempString); + if (WEBLOGIC_IMAGE_TO_USE_IN_SPEC.contains("12.2.1.3")) { + logger.info("Using 12.2.1.3 image, driver is com.mysql.jdbc.Driver"); + tempString = tempString.replaceAll("com.mysql.cj.jdbc.Driver", "com.mysql.jdbc.Driver"); + } + logger.info("After override \n{0}", tempString); + try { + Files.write(dstDsOverrideFile, tempString.getBytes(StandardCharsets.UTF_8)); + } catch (IOException ioe) { + logger.severe(ioe.getMessage()); + fail("Couldn't write override file"); + } List overrideFiles = new ArrayList<>(); overrideFiles.add(dstDsOverrideFile); From e7fa126c12681a88751737b6907dd9fcf5935eee Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Wed, 22 Jun 2022 21:40:36 -0700 Subject: [PATCH 13/16] wip --- .../kubernetes/ItMiiDomainModelInPV.java | 11 +++----- .../kubernetes/actions/impl/Domain.java | 25 +------------------ 2 files changed, 5 insertions(+), 31 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java index 69fdc633419..7c6ef334db8 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java @@ -253,10 +253,6 @@ void testMiiDomainWithModelAndApplicationInPV(Entry params) { String domainUid = params.getKey(); String image = params.getValue(); - - if (domainUid.equals(domainUid1)) { - assertDoesNotThrow(() -> TimeUnit.MINUTES.sleep(5)); - } // create domain custom resource and verify all the pods came up logger.info("Creating domain custom resource with domainUid {0} and image {1}", @@ -265,8 +261,6 @@ void testMiiDomainWithModelAndApplicationInPV(Entry params) { image, adminSecretName, createSecretsForImageRepos(domainNamespace), encryptionSecretName, replicaCount, clusterName); Model withModelHome = domainCR.spec().configuration().model().withModelHome(modelMountPath + "/model"); - logger.info(Yaml.dump(withModelHome)); - logger.info(Yaml.dump(domainCR.spec().configuration())); domainCR.spec().serverPod() .addVolumesItem(new V1Volume() .name(pvName) @@ -280,7 +274,6 @@ image, adminSecretName, createSecretsForImageRepos(domainNamespace), String managedServerPodNamePrefix = domainUid + "-" + MANAGED_SERVER_NAME_BASE; logger.info(Yaml.dump(domainCR)); - logger.info("Creating domain {0} with model in image {1} in namespace {2}", domainUid, image, domainNamespace); createVerifyDomain(domainUid, domainCR, adminServerPodName, managedServerPodNamePrefix); @@ -292,6 +285,10 @@ image, adminSecretName, createSecretsForImageRepos(domainNamespace), //verify admin server accessibility and the health of cluster members verifyMemberHealth(adminServerPodName, managedServerNames, ADMIN_USERNAME_DEFAULT, ADMIN_PASSWORD_DEFAULT); + + if (domainUid.equals(domainUid1)) { + assertDoesNotThrow(() -> TimeUnit.MINUTES.sleep(30)); + } } diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java index 07cb9650a09..ea0422fdea7 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/Domain.java @@ -20,7 +20,6 @@ import io.kubernetes.client.openapi.models.V1RoleBinding; import io.kubernetes.client.openapi.models.V1RoleRef; import io.kubernetes.client.openapi.models.V1Subject; -import io.kubernetes.client.util.Yaml; import oracle.weblogic.domain.Cluster; import oracle.weblogic.domain.DomainList; import oracle.weblogic.kubernetes.actions.impl.primitive.Command; @@ -449,8 +448,6 @@ public static boolean scaleClusterWithRestApi(String domainUid, String decodedToken = new String(Base64.getDecoder().decode(secretToken)); logger.info("Got decoded token for secret {0} associated with service account {1} in namespace {2}: {3}", secretName, opServiceAccount, opNamespace, decodedToken); - - dumpLogs(domainUid); // build the curl command to scale the cluster String command = new StringBuffer() @@ -482,29 +479,9 @@ public static boolean scaleClusterWithRestApi(String domainUid, testUntil( () -> Command.withParams(params).execute(), logger, - "Calling curl command"); - dumpLogs(domainUid); + "Calling curl command"); return true; } - - private static void dumpLogs(String domainUid) { - LoggingFacade logger = getLogger(); - try { - List ns = Kubernetes.listNamespaces(); - for (String n : ns) { - if (n.startsWith("ns-")) { - try { - oracle.weblogic.domain.Domain domain = getDomainCustomResource(domainUid, n); - logger.info(Yaml.dump(domain)); - } catch (ApiException e) { - logger.warning(e.getMessage()); - } - } - } - } catch (ApiException e) { - logger.warning(e.getMessage()); - } - } /** * Scale the cluster of the domain in the specified namespace with WLDF. From 634c443f0f36c0802945f934c942286a250a75bb Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Thu, 23 Jun 2022 08:00:08 -0700 Subject: [PATCH 14/16] wip --- .../oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java index 7c6ef334db8..5585e13e1fd 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java @@ -286,9 +286,8 @@ image, adminSecretName, createSecretsForImageRepos(domainNamespace), //verify admin server accessibility and the health of cluster members verifyMemberHealth(adminServerPodName, managedServerNames, ADMIN_USERNAME_DEFAULT, ADMIN_PASSWORD_DEFAULT); - if (domainUid.equals(domainUid1)) { - assertDoesNotThrow(() -> TimeUnit.MINUTES.sleep(30)); - } + + assertDoesNotThrow(() -> TimeUnit.MINUTES.sleep(30)); } From 7444d8dc2a4e8fde2d765cc59b353210bfd5511b Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Fri, 24 Jun 2022 12:22:00 -0700 Subject: [PATCH 15/16] cleanup --- .../weblogic/kubernetes/ItMiiDomainModelInPV.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java index 5585e13e1fd..6885fca0d67 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java @@ -14,7 +14,6 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.TimeUnit; import java.util.stream.Stream; import io.kubernetes.client.openapi.models.V1Container; @@ -25,9 +24,7 @@ import io.kubernetes.client.openapi.models.V1PodSpec; import io.kubernetes.client.openapi.models.V1Volume; import io.kubernetes.client.openapi.models.V1VolumeMount; -import io.kubernetes.client.util.Yaml; import oracle.weblogic.domain.Domain; -import oracle.weblogic.domain.Model; import oracle.weblogic.kubernetes.actions.impl.primitive.Kubernetes; import oracle.weblogic.kubernetes.actions.impl.primitive.WitParams; import oracle.weblogic.kubernetes.annotations.IntegrationTest; @@ -260,7 +257,7 @@ void testMiiDomainWithModelAndApplicationInPV(Entry params) { Domain domainCR = CommonMiiTestUtils.createDomainResource(domainUid, domainNamespace, image, adminSecretName, createSecretsForImageRepos(domainNamespace), encryptionSecretName, replicaCount, clusterName); - Model withModelHome = domainCR.spec().configuration().model().withModelHome(modelMountPath + "/model"); + domainCR.spec().configuration().model().withModelHome(modelMountPath + "/model"); domainCR.spec().serverPod() .addVolumesItem(new V1Volume() .name(pvName) @@ -273,7 +270,6 @@ image, adminSecretName, createSecretsForImageRepos(domainNamespace), String adminServerPodName = domainUid + "-" + ADMIN_SERVER_NAME_BASE; String managedServerPodNamePrefix = domainUid + "-" + MANAGED_SERVER_NAME_BASE; - logger.info(Yaml.dump(domainCR)); logger.info("Creating domain {0} with model in image {1} in namespace {2}", domainUid, image, domainNamespace); createVerifyDomain(domainUid, domainCR, adminServerPodName, managedServerPodNamePrefix); @@ -285,10 +281,6 @@ image, adminSecretName, createSecretsForImageRepos(domainNamespace), //verify admin server accessibility and the health of cluster members verifyMemberHealth(adminServerPodName, managedServerNames, ADMIN_USERNAME_DEFAULT, ADMIN_PASSWORD_DEFAULT); - - - assertDoesNotThrow(() -> TimeUnit.MINUTES.sleep(30)); - } // generates the stream of objects used by parametrized test. From 07c0ef71a1859aacbaa9c0c4710d15bfe5e46388 Mon Sep 17 00:00:00 2001 From: Sankar Neelakandan Date: Mon, 27 Jun 2022 09:42:22 -0700 Subject: [PATCH 16/16] revert changes to integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java --- .../java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java index 6885fca0d67..a9983e626a7 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomainModelInPV.java @@ -269,7 +269,7 @@ image, adminSecretName, createSecretsForImageRepos(domainNamespace), String adminServerPodName = domainUid + "-" + ADMIN_SERVER_NAME_BASE; String managedServerPodNamePrefix = domainUid + "-" + MANAGED_SERVER_NAME_BASE; - + logger.info("Creating domain {0} with model in image {1} in namespace {2}", domainUid, image, domainNamespace); createVerifyDomain(domainUid, domainCR, adminServerPodName, managedServerPodNamePrefix); @@ -281,6 +281,7 @@ image, adminSecretName, createSecretsForImageRepos(domainNamespace), //verify admin server accessibility and the health of cluster members verifyMemberHealth(adminServerPodName, managedServerNames, ADMIN_USERNAME_DEFAULT, ADMIN_PASSWORD_DEFAULT); + } // generates the stream of objects used by parametrized test.