From b973c132094a36005d2f4f1ff8dd3309d75df20a Mon Sep 17 00:00:00 2001 From: xiancao Date: Tue, 14 Dec 2021 21:43:05 +0000 Subject: [PATCH 01/14] add crio-pipeline --- integration-tests/pom.xml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 1e4711073c9..1465ffd8764 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -266,6 +266,36 @@ + + crio-pipeline + + false + + **/ItConfigDistributionStrategy, + **/ItCrossDomainTransaction, + **/ItElasticLogging, + **/ItElasticLoggingFluentd, + **/ItIntrospectVersion, + **/ItIstioDomainInPV, + **/ItIstioMiiDomain, + **/ItMiiAuxiliaryImage, + **/ItMiiAuxiliaryImageCluster, + **/ItMiiSampleWlsAux, + **/ItMiiServiceMigration, + **/ItMiiDomain, + **/ItMiiDynamicUpdate*, + **/ItMiiSampleWlsMain, + **/ItMiiUpdateDomainConfig, + **/ItMonitoringExporter*, + **/ItParameterizedDomain, + **/ItPodsShutdownOption, + **/ItProductionSecureMode, + **/ItWlsSamples, + **/ItSessionMigration, + **/ItSystemResOverrides + + + fmw-image-cert From 5d93ce41af425d1dbec137c1be650ed1ea43d9c8 Mon Sep 17 00:00:00 2001 From: xiancao Date: Thu, 16 Dec 2021 02:50:32 +0000 Subject: [PATCH 02/14] change monitoring exporter branch to main --- .../weblogic/kubernetes/ItElasticLogging.java | 40 ++++++++++++------ .../kubernetes/ItElasticLoggingFluentd.java | 41 ++++++++++++++----- .../kubernetes/utils/MonitoringUtils.java | 2 +- 3 files changed, 59 insertions(+), 24 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLogging.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLogging.java index a8959e38e95..071c9abe015 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLogging.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLogging.java @@ -39,8 +39,16 @@ import static oracle.weblogic.kubernetes.TestConstants.COPY_WLS_LOGGING_EXPORTER_FILE_NAME; import static oracle.weblogic.kubernetes.TestConstants.DOMAIN_API_VERSION; import static oracle.weblogic.kubernetes.TestConstants.ELASTICSEARCH_HOST; +import static oracle.weblogic.kubernetes.TestConstants.ELASTICSEARCH_HTTPS_PORT; import static oracle.weblogic.kubernetes.TestConstants.ELASTICSEARCH_HTTP_PORT; +import static oracle.weblogic.kubernetes.TestConstants.ELASTICSEARCH_IMAGE; +import static oracle.weblogic.kubernetes.TestConstants.ELASTICSEARCH_NAME; +import static oracle.weblogic.kubernetes.TestConstants.ELKSTACK_NAMESPACE; +import static oracle.weblogic.kubernetes.TestConstants.KIBANA_IMAGE; import static oracle.weblogic.kubernetes.TestConstants.KIBANA_INDEX_KEY; +import static oracle.weblogic.kubernetes.TestConstants.KIBANA_NAME; +import static oracle.weblogic.kubernetes.TestConstants.KIBANA_PORT; +import static oracle.weblogic.kubernetes.TestConstants.KIBANA_TYPE; import static oracle.weblogic.kubernetes.TestConstants.LOGSTASH_INDEX_KEY; import static oracle.weblogic.kubernetes.TestConstants.MII_BASIC_APP_NAME; import static oracle.weblogic.kubernetes.TestConstants.OCIR_SECRET_NAME; @@ -52,7 +60,6 @@ import static oracle.weblogic.kubernetes.actions.ActionConstants.SNAKE_DOWNLOADED_FILENAME; import static oracle.weblogic.kubernetes.actions.ActionConstants.WLE_DOWNLOAD_FILENAME_DEFAULT; import static oracle.weblogic.kubernetes.actions.ActionConstants.WORK_DIR; -import static oracle.weblogic.kubernetes.actions.TestActions.deleteDomainCustomResource; import static oracle.weblogic.kubernetes.actions.TestActions.execCommand; import static oracle.weblogic.kubernetes.actions.TestActions.getOperatorPodName; import static oracle.weblogic.kubernetes.utils.CommonTestUtils.checkServiceExists; @@ -202,24 +209,33 @@ public static void init(@Namespaces(2) List namespaces) { */ @AfterAll void tearDown() { - // uninstall ELK Stack - if (elasticsearchParams != null) { + if (System.getenv("SKIP_CLEANUP") == null + || (System.getenv("SKIP_CLEANUP") != null + && System.getenv("SKIP_CLEANUP").equalsIgnoreCase("false"))) { + + // uninstall ELK Stack + elasticsearchParams = new LoggingExporterParams() + .elasticsearchName(ELASTICSEARCH_NAME) + .elasticsearchImage(ELASTICSEARCH_IMAGE) + .elasticsearchHttpPort(ELASTICSEARCH_HTTP_PORT) + .elasticsearchHttpsPort(ELASTICSEARCH_HTTPS_PORT) + .loggingExporterNamespace(ELKSTACK_NAMESPACE); + + kibanaParams = new LoggingExporterParams() + .kibanaName(KIBANA_NAME) + .kibanaImage(KIBANA_IMAGE) + .kibanaType(KIBANA_TYPE) + .loggingExporterNamespace(ELKSTACK_NAMESPACE) + .kibanaContainerPort(KIBANA_PORT); + logger.info("Uninstall Elasticsearch pod"); assertDoesNotThrow(() -> uninstallAndVerifyElasticsearch(elasticsearchParams), "uninstallAndVerifyElasticsearch failed with ApiException"); - } - if (kibanaParams != null) { - logger.info("Uninstall Elasticsearch pod"); + logger.info("Uninstall Kibana pod"); assertDoesNotThrow(() -> uninstallAndVerifyKibana(kibanaParams), "uninstallAndVerifyKibana failed with ApiException"); } - - // delete domain custom resource - logger.info("Delete domain custom resource in namespace {0}", domainNamespace); - assertDoesNotThrow(() -> deleteDomainCustomResource(domainUid, domainNamespace), - "deleteDomainCustomResource failed with ApiException"); - logger.info("Deleted Domain Custom Resource " + domainUid + " from " + domainNamespace); } /** diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLoggingFluentd.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLoggingFluentd.java index 38a610b15ab..708830d4d85 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLoggingFluentd.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLoggingFluentd.java @@ -53,10 +53,18 @@ import static java.util.concurrent.TimeUnit.SECONDS; import static oracle.weblogic.kubernetes.TestConstants.DOMAIN_API_VERSION; import static oracle.weblogic.kubernetes.TestConstants.ELASTICSEARCH_HOST; +import static oracle.weblogic.kubernetes.TestConstants.ELASTICSEARCH_HTTPS_PORT; import static oracle.weblogic.kubernetes.TestConstants.ELASTICSEARCH_HTTP_PORT; +import static oracle.weblogic.kubernetes.TestConstants.ELASTICSEARCH_IMAGE; +import static oracle.weblogic.kubernetes.TestConstants.ELASTICSEARCH_NAME; +import static oracle.weblogic.kubernetes.TestConstants.ELKSTACK_NAMESPACE; import static oracle.weblogic.kubernetes.TestConstants.FLUENTD_IMAGE; import static oracle.weblogic.kubernetes.TestConstants.FLUENTD_INDEX_KEY; +import static oracle.weblogic.kubernetes.TestConstants.KIBANA_IMAGE; import static oracle.weblogic.kubernetes.TestConstants.KIBANA_INDEX_KEY; +import static oracle.weblogic.kubernetes.TestConstants.KIBANA_NAME; +import static oracle.weblogic.kubernetes.TestConstants.KIBANA_PORT; +import static oracle.weblogic.kubernetes.TestConstants.KIBANA_TYPE; import static oracle.weblogic.kubernetes.TestConstants.MII_BASIC_APP_NAME; import static oracle.weblogic.kubernetes.TestConstants.OCIR_SECRET_NAME; import static oracle.weblogic.kubernetes.TestConstants.OPERATOR_RELEASE_NAME; @@ -203,18 +211,29 @@ void tearDown() { if (System.getenv("SKIP_CLEANUP") == null || (System.getenv("SKIP_CLEANUP") != null && System.getenv("SKIP_CLEANUP").equalsIgnoreCase("false"))) { + + elasticsearchParams = new LoggingExporterParams() + .elasticsearchName(ELASTICSEARCH_NAME) + .elasticsearchImage(ELASTICSEARCH_IMAGE) + .elasticsearchHttpPort(ELASTICSEARCH_HTTP_PORT) + .elasticsearchHttpsPort(ELASTICSEARCH_HTTPS_PORT) + .loggingExporterNamespace(ELKSTACK_NAMESPACE); + + kibanaParams = new LoggingExporterParams() + .kibanaName(KIBANA_NAME) + .kibanaImage(KIBANA_IMAGE) + .kibanaType(KIBANA_TYPE) + .loggingExporterNamespace(ELKSTACK_NAMESPACE) + .kibanaContainerPort(KIBANA_PORT); + // uninstall ELK Stack - if (elasticsearchParams != null) { - logger.info("Uninstall Elasticsearch pod"); - assertDoesNotThrow(() -> uninstallAndVerifyElasticsearch(elasticsearchParams), - "uninstallAndVerifyElasticsearch failed with ApiException"); - } - - if (kibanaParams != null) { - logger.info("Uninstall Elasticsearch pod"); - assertDoesNotThrow(() -> uninstallAndVerifyKibana(kibanaParams), - "uninstallAndVerifyKibana failed with ApiException"); - } + logger.info("Uninstall Elasticsearch pod"); + assertDoesNotThrow(() -> uninstallAndVerifyElasticsearch(elasticsearchParams), + "uninstallAndVerifyElasticsearch failed with ApiException"); + + logger.info("Uninstall Kibana pod"); + assertDoesNotThrow(() -> uninstallAndVerifyKibana(kibanaParams), + "uninstallAndVerifyKibana failed with ApiException"); } } diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/MonitoringUtils.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/MonitoringUtils.java index b5259da20dd..37e6ba4f69b 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/MonitoringUtils.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/MonitoringUtils.java @@ -142,7 +142,7 @@ public static void cloneMonitoringExporter(String monitoringExporterSrcDir) { assertDoesNotThrow(() -> Files.createDirectories(monitoringTemp)); String monitoringExporterBranch = Optional.ofNullable(System.getenv("MONITORING_EXPORTER_BRANCH")) - .orElse("master"); + .orElse("main"); CommandParams params = Command.defaultCommandParams() .command("git clone -b " + monitoringExporterBranch From 4d31e6dcfe5233eec6bc8977d546326f1c6862a1 Mon Sep 17 00:00:00 2001 From: xiancao Date: Thu, 16 Dec 2021 06:49:25 +0000 Subject: [PATCH 03/14] remove pv first --- integration-tests/pom.xml | 2 -- .../java/oracle/weblogic/kubernetes/ItIntrospectVersion.java | 4 ++++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 1465ffd8764..78164e16695 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -273,8 +273,6 @@ **/ItConfigDistributionStrategy, **/ItCrossDomainTransaction, - **/ItElasticLogging, - **/ItElasticLoggingFluentd, **/ItIntrospectVersion, **/ItIstioDomainInPV, **/ItIstioMiiDomain, diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java index 4dcba03c15f..91484797066 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java @@ -75,6 +75,8 @@ import static oracle.weblogic.kubernetes.actions.ActionConstants.ITTESTS_DIR; import static oracle.weblogic.kubernetes.actions.ActionConstants.RESOURCE_DIR; import static oracle.weblogic.kubernetes.actions.ActionConstants.WORK_DIR; +import static oracle.weblogic.kubernetes.actions.TestActions.deletePersistentVolume; +import static oracle.weblogic.kubernetes.actions.TestActions.deletePersistentVolumeClaim; import static oracle.weblogic.kubernetes.actions.TestActions.deleteSecret; import static oracle.weblogic.kubernetes.actions.TestActions.dockerTag; import static oracle.weblogic.kubernetes.actions.TestActions.execCommand; @@ -254,6 +256,8 @@ void testDomainIntrospectVersionNotRolling() { // create persistent volume and persistent volume claim for domain // these resources should be labeled with domainUid for cleanup after testing + deletePersistentVolumeClaim(pvcName, introDomainNamespace); + deletePersistentVolume(pvName); createPV(pvName, domainUid, this.getClass().getSimpleName()); createPVC(pvName, pvcName, domainUid, introDomainNamespace); From 9572198f4b6e7cf825e8cf56ce4bb4eeb2342dd2 Mon Sep 17 00:00:00 2001 From: xiancao Date: Thu, 16 Dec 2021 18:30:31 +0000 Subject: [PATCH 04/14] delete pv first --- .../kubernetes/ItIntrospectVersion.java | 16 ++++++- .../kubernetes/assertions/TestAssertions.java | 13 ++++- .../assertions/impl/PersistentVolume.java | 48 +++++++++++++------ 3 files changed, 61 insertions(+), 16 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java index 91484797066..9d7e2354baf 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java @@ -92,6 +92,7 @@ import static oracle.weblogic.kubernetes.actions.impl.Domain.patchDomainCustomResource; import static oracle.weblogic.kubernetes.actions.impl.Pod.getPod; import static oracle.weblogic.kubernetes.assertions.TestAssertions.podStateNotChanged; +import static oracle.weblogic.kubernetes.assertions.TestAssertions.pvNotExists; import static oracle.weblogic.kubernetes.assertions.TestAssertions.verifyRollingRestartOccurred; import static oracle.weblogic.kubernetes.utils.CommonMiiTestUtils.verifyPodsNotRolled; import static oracle.weblogic.kubernetes.utils.CommonTestUtils.checkPodReadyAndServiceExists; @@ -169,7 +170,7 @@ class ItIntrospectVersion { = with().pollDelay(2, SECONDS) .and().with().pollInterval(10, SECONDS) .atMost(10, MINUTES).await(); - + private static Path clusterViewAppPath; private static LoggingFacade logger = null; @@ -256,8 +257,21 @@ void testDomainIntrospectVersionNotRolling() { // create persistent volume and persistent volume claim for domain // these resources should be labeled with domainUid for cleanup after testing + // delete the PV first in case it exists + String labelSelector = String.format("weblogic.domainUID in (%s)", domainUid); deletePersistentVolumeClaim(pvcName, introDomainNamespace); deletePersistentVolume(pvName); + // wait until the pv is deleted + withStandardRetryPolicy + .conditionEvaluationListener( + condition -> logger.info("Waiting for persistent volume {0} deleted " + + "(elapsed time {1}ms, remaining time {2}ms)", + pvName, + condition.getElapsedTimeInMS(), + condition.getRemainingTimeInMS())) + .until(assertDoesNotThrow(() -> pvNotExists(pvName, labelSelector), + String.format("pvNotExists failed with ApiException when checking pv %s", pvName))); + createPV(pvName, domainUid, this.getClass().getSimpleName()); createPVC(pvName, pvcName, domainUid, introDomainNamespace); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/TestAssertions.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/TestAssertions.java index d5386855dc8..32f423a349d 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/TestAssertions.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/TestAssertions.java @@ -667,7 +667,7 @@ public static Callable isGrafanaReady(String namespace) { return Grafana.isReady(namespace); } - /* + /** * Check whether persistent volume with pvName exists. * * @param pvName persistent volume to check @@ -678,6 +678,17 @@ public static Callable pvExists(String pvName, String labelSelector) { return PersistentVolume.pvExists(pvName, labelSelector); } + /** + * Check whether persistent volume with pvName NOT exists. + * + * @param pvName persistent volume to check + * @param labelSelector String containing the labels the PV is decorated with + * @return true if the persistent volume exists, false otherwise + */ + public static Callable pvNotExists(String pvName, String labelSelector) { + return PersistentVolume.pvNotExists(pvName, labelSelector); + } + /** * Check whether persistent volume claims with pvcName exists in the specified namespace. * diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/impl/PersistentVolume.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/impl/PersistentVolume.java index b6e32a37a3e..6e08c0d737f 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/impl/PersistentVolume.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/impl/PersistentVolume.java @@ -7,6 +7,7 @@ import java.util.List; import java.util.concurrent.Callable; +import io.kubernetes.client.openapi.ApiException; import io.kubernetes.client.openapi.models.V1PersistentVolume; import io.kubernetes.client.openapi.models.V1PersistentVolumeList; @@ -20,26 +21,45 @@ public class PersistentVolume { * @return true if the persistent volume exists, false otherwise */ public static Callable pvExists(String pvName, String labelSelector) { - return () -> { + return () -> doesPVExist(pvName, labelSelector); + } - List v1PersistentVolumes = new ArrayList<>(); + /** + * Check whether persistent volume with pvName NOT exists. + * + * @param pvName persistent volume to check + * @param labelSelector String containing the labels the PV is decorated with + * @return true if the persistent volume exists, false otherwise + */ + public static Callable pvNotExists(String pvName, String labelSelector) { + return () -> !doesPVExist(pvName, labelSelector); + } - V1PersistentVolumeList v1PersistentVolumeList = Kubernetes.listPersistentVolumes(labelSelector); - if (v1PersistentVolumeList != null) { - v1PersistentVolumes = v1PersistentVolumeList.getItems(); - } + /** + * Check whether persistent volume with pvName exists. + * + * @param pvName persistent volume to check + * @param labelSelector String containing the labels the PV is decorated with + * @return true if the persistent volume exists, false otherwise + */ + public static boolean doesPVExist(String pvName, String labelSelector) throws ApiException { + List v1PersistentVolumes = new ArrayList<>(); + + V1PersistentVolumeList v1PersistentVolumeList = Kubernetes.listPersistentVolumes(labelSelector); + if (v1PersistentVolumeList != null) { + v1PersistentVolumes = v1PersistentVolumeList.getItems(); + } - for (V1PersistentVolume v1PersistentVolume : v1PersistentVolumes) { - if (v1PersistentVolume.getMetadata() != null) { - if (v1PersistentVolume.getMetadata().getName() != null) { - if (v1PersistentVolume.getMetadata().getName().equals(pvName)) { - return true; - } + for (V1PersistentVolume v1PersistentVolume : v1PersistentVolumes) { + if (v1PersistentVolume.getMetadata() != null) { + if (v1PersistentVolume.getMetadata().getName() != null) { + if (v1PersistentVolume.getMetadata().getName().equals(pvName)) { + return true; } } } + } - return false; - }; + return false; } } From 47cb614c78c88d20de96a307425838504b23c2a4 Mon Sep 17 00:00:00 2001 From: xiancao Date: Thu, 16 Dec 2021 21:07:34 +0000 Subject: [PATCH 05/14] change auxiliary image name --- .../java/oracle/weblogic/kubernetes/ItIntrospectVersion.java | 2 +- .../oracle/weblogic/kubernetes/ItMiiAuxiliaryImageCluster.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java index 9d7e2354baf..2117b3157e1 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java @@ -170,7 +170,7 @@ class ItIntrospectVersion { = with().pollDelay(2, SECONDS) .and().with().pollInterval(10, SECONDS) .atMost(10, MINUTES).await(); - + private static Path clusterViewAppPath; private static LoggingFacade logger = null; diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiAuxiliaryImageCluster.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiAuxiliaryImageCluster.java index e8073ffefaa..917f87d1bdd 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiAuxiliaryImageCluster.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiAuxiliaryImageCluster.java @@ -73,7 +73,7 @@ class ItMiiAuxiliaryImageCluster { private final String clusterName = "cluster-1"; private final int replicaCount = 2; private final int clusterIndex = 0; - private final String miiAuxiliaryImagePrefix = MII_AUXILIARY_IMAGE_NAME + ":" + MII_BASIC_IMAGE_TAG; + private final String miiAuxiliaryImagePrefix = MII_AUXILIARY_IMAGE_NAME + "-cluster:" + MII_BASIC_IMAGE_TAG; private final String auxiliaryImageVolumeName = "auxiliaryImageVolumeCluster"; private final String auxiliaryImagePath = "/auxiliary"; private final String customDir = "customdir"; From 1cb4907197caf8551ff653822c1c0b128b8e5345 Mon Sep 17 00:00:00 2001 From: xiancao Date: Fri, 17 Dec 2021 01:52:00 +0000 Subject: [PATCH 06/14] update image pull policy --- .../weblogic/kubernetes/ItWlsSamples.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItWlsSamples.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItWlsSamples.java index ddad77201a0..5b00c86774c 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItWlsSamples.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItWlsSamples.java @@ -32,9 +32,11 @@ import static oracle.weblogic.kubernetes.TestConstants.ADMIN_PASSWORD_DEFAULT; import static oracle.weblogic.kubernetes.TestConstants.ADMIN_USERNAME_DEFAULT; import static oracle.weblogic.kubernetes.TestConstants.BASE_IMAGES_REPO_SECRET; +import static oracle.weblogic.kubernetes.TestConstants.DOMAIN_IMAGES_REPO; import static oracle.weblogic.kubernetes.TestConstants.DOMAIN_VERSION; import static oracle.weblogic.kubernetes.TestConstants.K8S_NODEPORT_HOST; import static oracle.weblogic.kubernetes.TestConstants.KIND_REPO; +import static oracle.weblogic.kubernetes.TestConstants.OCIR_WEBLOGIC_IMAGE_TAG; import static oracle.weblogic.kubernetes.TestConstants.PV_ROOT; import static oracle.weblogic.kubernetes.TestConstants.WEBLOGIC_IMAGE_TO_USE_IN_SPEC; import static oracle.weblogic.kubernetes.actions.ActionConstants.ITTESTS_DIR; @@ -47,6 +49,7 @@ import static oracle.weblogic.kubernetes.assertions.TestAssertions.secretExists; import static oracle.weblogic.kubernetes.utils.CommonTestUtils.checkClusterReplicaCountMatches; import static oracle.weblogic.kubernetes.utils.CommonTestUtils.checkPodReadyAndServiceExists; +import static oracle.weblogic.kubernetes.utils.CommonTestUtils.getDateAndTimeStamp; import static oracle.weblogic.kubernetes.utils.FileUtils.replaceStringInFile; import static oracle.weblogic.kubernetes.utils.ImageUtils.createOcirRepoSecret; import static oracle.weblogic.kubernetes.utils.ImageUtils.createSecretForBaseImages; @@ -88,7 +91,7 @@ class ItWlsSamples { private static String domainNamespace = null; private static final String domainName = "domain1"; private static final String diiImageNameBase = "domain-home-in-image"; - private static final String diiImageTag = "12.2.1.4"; + private static final String diiImageTag = getDateAndTimeStamp(); private final int replicaCount = 2; private final String clusterName = "cluster-1"; private final String managedServerNameBase = "managed-server"; @@ -157,9 +160,7 @@ public static void initAll(@Namespaces(5) List namespaces) { void testSampleDomainInImage(String model) { String domainName = model.split(":")[1]; String script = model.split(":")[0]; - String imageName = (KIND_REPO != null - ? KIND_REPO + diiImageNameBase + "_" + script + ":" + diiImageTag - : diiImageNameBase + "_" + script + ":" + diiImageTag); + String imageName = DOMAIN_IMAGES_REPO + diiImageNameBase + "-" + script + ":" + diiImageTag; //copy the samples directory to a temporary location setupSample(); @@ -174,7 +175,7 @@ void testSampleDomainInImage(String model) { // update domainHomeImageBase with right values in create-domain-inputs.yaml assertDoesNotThrow(() -> { replaceStringInFile(Paths.get(sampleBase.toString(), "create-domain-inputs.yaml").toString(), - "domainHomeImageBase: container-registry.oracle.com/middleware/weblogic:" + diiImageTag, + "domainHomeImageBase: container-registry.oracle.com/middleware/weblogic:" + OCIR_WEBLOGIC_IMAGE_TAG, "domainHomeImageBase: " + WEBLOGIC_IMAGE_TO_USE_IN_SPEC); replaceStringInFile(Paths.get(sampleBase.toString(), "create-domain-inputs.yaml").toString(), "#image:", @@ -247,7 +248,7 @@ void testSampleDomainInPv(String model) { replaceStringInFile(Paths.get(sampleBase.toString(), "create-domain-inputs.yaml").toString(), "createDomainFilesDir: wlst", "createDomainFilesDir: " + script); replaceStringInFile(Paths.get(sampleBase.toString(), "create-domain-inputs.yaml").toString(), - "image: container-registry.oracle.com/middleware/weblogic:12.2.1.4", + "image: container-registry.oracle.com/middleware/weblogic:" + OCIR_WEBLOGIC_IMAGE_TAG, "image: " + WEBLOGIC_IMAGE_TO_USE_IN_SPEC); }); @@ -550,6 +551,10 @@ private void updateDomainInputsFile(String domainName, Path sampleBase) { "#t3PublicAddress:", "t3PublicAddress: " + K8S_NODEPORT_HOST); replaceStringInFile(Paths.get(sampleBase.toString(), "create-domain-inputs.yaml").toString(), "#imagePullSecretName:", "imagePullSecretName: " + BASE_IMAGES_REPO_SECRET); + if (KIND_REPO == null) { + replaceStringInFile(Paths.get(sampleBase.toString(), "create-domain-inputs.yaml").toString(), + "imagePullPolicy: IfNotPresent", "imagePullPolicy: Always"); + } }); } From 858097d42153797910921d9b8849f40261cb9b3c Mon Sep 17 00:00:00 2001 From: xiancao Date: Tue, 4 Jan 2022 17:09:46 +0000 Subject: [PATCH 07/14] disable unstable tests --- integration-tests/pom.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 78164e16695..3ca4776d0d5 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -272,7 +272,6 @@ false **/ItConfigDistributionStrategy, - **/ItCrossDomainTransaction, **/ItIntrospectVersion, **/ItIstioDomainInPV, **/ItIstioMiiDomain, @@ -285,7 +284,6 @@ **/ItMiiSampleWlsMain, **/ItMiiUpdateDomainConfig, **/ItMonitoringExporter*, - **/ItParameterizedDomain, **/ItPodsShutdownOption, **/ItProductionSecureMode, **/ItWlsSamples, From 7ae35ffb199bb9ec500ba0d9be733f9e5d88e38a Mon Sep 17 00:00:00 2001 From: xiancao Date: Thu, 6 Jan 2022 04:55:38 +0000 Subject: [PATCH 08/14] remove unstable tests --- integration-tests/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 3ca4776d0d5..f517cee1386 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -272,7 +272,6 @@ false **/ItConfigDistributionStrategy, - **/ItIntrospectVersion, **/ItIstioDomainInPV, **/ItIstioMiiDomain, **/ItMiiAuxiliaryImage, From 7d91199ce4ed8c851da9ef57d82a4fd5ace6024b Mon Sep 17 00:00:00 2001 From: xiancao Date: Fri, 7 Jan 2022 02:33:29 +0000 Subject: [PATCH 09/14] change redirect to false --- .../oracle/weblogic/kubernetes/extensions/ImageBuilders.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/extensions/ImageBuilders.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/extensions/ImageBuilders.java index 518d1b30639..5ca8775ad5a 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/extensions/ImageBuilders.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/extensions/ImageBuilders.java @@ -538,7 +538,7 @@ public Callable createBasicImage(String imageName, String imageTag, Str .wdtOperation("CREATE") .wdtVersion(WDT_VERSION) .env(env) - .redirect(true)); + .redirect(false)); } else if (domainType.equalsIgnoreCase("mii")) { imageCreation = createImage( defaultWitParams() @@ -549,7 +549,7 @@ public Callable createBasicImage(String imageName, String imageTag, Str .wdtModelOnly(true) .wdtVersion(WDT_VERSION) .env(env) - .redirect(true)); + .redirect(false)); } return imageCreation; }); From e330c3c494740f35a351b8e852e943ab3b706ab6 Mon Sep 17 00:00:00 2001 From: xiancao Date: Fri, 7 Jan 2022 04:41:41 +0000 Subject: [PATCH 10/14] change verbose to true --- .../kubernetes/actions/impl/primitive/WebLogicImageTool.java | 3 ++- .../oracle/weblogic/kubernetes/extensions/ImageBuilders.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/primitive/WebLogicImageTool.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/primitive/WebLogicImageTool.java index 7aedf74ddab..fa288c5694d 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/primitive/WebLogicImageTool.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/primitive/WebLogicImageTool.java @@ -75,7 +75,8 @@ public boolean updateImage() { defaultCommandParams() .command(buildiWitCommand()) .env(params.env()) - .redirect(params.redirect())) + .redirect(params.redirect()) + .verbose(true)) .execute(); } diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/extensions/ImageBuilders.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/extensions/ImageBuilders.java index 5ca8775ad5a..518d1b30639 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/extensions/ImageBuilders.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/extensions/ImageBuilders.java @@ -538,7 +538,7 @@ public Callable createBasicImage(String imageName, String imageTag, Str .wdtOperation("CREATE") .wdtVersion(WDT_VERSION) .env(env) - .redirect(false)); + .redirect(true)); } else if (domainType.equalsIgnoreCase("mii")) { imageCreation = createImage( defaultWitParams() @@ -549,7 +549,7 @@ public Callable createBasicImage(String imageName, String imageTag, Str .wdtModelOnly(true) .wdtVersion(WDT_VERSION) .env(env) - .redirect(false)); + .redirect(true)); } return imageCreation; }); From 2f23a76d05dc5b68edd2a926fa05b289cb8d6bc1 Mon Sep 17 00:00:00 2001 From: xiancao Date: Tue, 11 Jan 2022 17:30:48 +0000 Subject: [PATCH 11/14] disable ItMiiUpdateDomainConfig due to WDT parsing issue --- integration-tests/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index f517cee1386..462531acb33 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -281,7 +281,6 @@ **/ItMiiDomain, **/ItMiiDynamicUpdate*, **/ItMiiSampleWlsMain, - **/ItMiiUpdateDomainConfig, **/ItMonitoringExporter*, **/ItPodsShutdownOption, **/ItProductionSecureMode, From 5a52651b0ff2c9a6c0c7a84a5d574aa401ab4b37 Mon Sep 17 00:00:00 2001 From: xiancao Date: Wed, 12 Jan 2022 17:53:58 +0000 Subject: [PATCH 12/14] cleanup --- integration-tests/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 462531acb33..4001cdba4b7 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -274,7 +274,6 @@ **/ItConfigDistributionStrategy, **/ItIstioDomainInPV, **/ItIstioMiiDomain, - **/ItMiiAuxiliaryImage, **/ItMiiAuxiliaryImageCluster, **/ItMiiSampleWlsAux, **/ItMiiServiceMigration, From c60e86de65b425ce01a89f1941d1330779e15c48 Mon Sep 17 00:00:00 2001 From: xiancao Date: Fri, 14 Jan 2022 06:24:01 +0000 Subject: [PATCH 13/14] wip --- integration-tests/pom.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 4001cdba4b7..26816aae39b 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -274,13 +274,12 @@ **/ItConfigDistributionStrategy, **/ItIstioDomainInPV, **/ItIstioMiiDomain, - **/ItMiiAuxiliaryImageCluster, **/ItMiiSampleWlsAux, **/ItMiiServiceMigration, **/ItMiiDomain, - **/ItMiiDynamicUpdate*, + **/ItMiiDynamicUpdate, **/ItMiiSampleWlsMain, - **/ItMonitoringExporter*, + **/ItMonitoringExporter, **/ItPodsShutdownOption, **/ItProductionSecureMode, **/ItWlsSamples, From 131e9b5669e210f377db1bd3f131c498feaf4086 Mon Sep 17 00:00:00 2001 From: xiancao Date: Tue, 18 Jan 2022 22:31:06 +0000 Subject: [PATCH 14/14] address Robert's comments --- integration-tests/pom.xml | 2 +- .../test/java/oracle/weblogic/kubernetes/ItElasticLogging.java | 2 +- .../oracle/weblogic/kubernetes/ItElasticLoggingFluentd.java | 2 +- .../java/oracle/weblogic/kubernetes/ItIntrospectVersion.java | 2 +- .../oracle/weblogic/kubernetes/ItMiiAuxiliaryImageCluster.java | 2 +- .../src/test/java/oracle/weblogic/kubernetes/ItWlsSamples.java | 2 +- .../kubernetes/actions/impl/primitive/WebLogicImageTool.java | 2 +- .../oracle/weblogic/kubernetes/assertions/TestAssertions.java | 2 +- .../weblogic/kubernetes/assertions/impl/PersistentVolume.java | 2 +- .../java/oracle/weblogic/kubernetes/utils/MonitoringUtils.java | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 4a3c7fda5c4..7fd74b700e2 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -1,4 +1,4 @@ - diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLogging.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLogging.java index 071c9abe015..21b03becfa1 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLogging.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLogging.java @@ -1,4 +1,4 @@ -// Copyright (c) 2020, 2021, Oracle and/or its affiliates. +// Copyright (c) 2020, 2022, Oracle and/or its affiliates. // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. package oracle.weblogic.kubernetes; diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLoggingFluentd.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLoggingFluentd.java index 708830d4d85..a845d350113 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLoggingFluentd.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItElasticLoggingFluentd.java @@ -1,4 +1,4 @@ -// Copyright (c) 2020, 2021, Oracle and/or its affiliates. +// Copyright (c) 2020, 2022, Oracle and/or its affiliates. // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. package oracle.weblogic.kubernetes; diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java index 2117b3157e1..500ec660508 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIntrospectVersion.java @@ -1,4 +1,4 @@ -// Copyright (c) 2020, 2021, Oracle and/or its affiliates. +// Copyright (c) 2020, 2022, Oracle and/or its affiliates. // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. package oracle.weblogic.kubernetes; diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiAuxiliaryImageCluster.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiAuxiliaryImageCluster.java index 917f87d1bdd..da1c9b76388 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiAuxiliaryImageCluster.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiAuxiliaryImageCluster.java @@ -1,4 +1,4 @@ -// Copyright (c) 2021, Oracle and/or its affiliates. +// Copyright (c) 2021, 2022, Oracle and/or its affiliates. // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. package oracle.weblogic.kubernetes; diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItWlsSamples.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItWlsSamples.java index 5b00c86774c..79c4cf8d0bb 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItWlsSamples.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItWlsSamples.java @@ -1,4 +1,4 @@ -// Copyright (c) 2020, 2021, Oracle and/or its affiliates. +// Copyright (c) 2020, 2022, Oracle and/or its affiliates. // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. package oracle.weblogic.kubernetes; diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/primitive/WebLogicImageTool.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/primitive/WebLogicImageTool.java index fa288c5694d..ed97669f830 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/primitive/WebLogicImageTool.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/primitive/WebLogicImageTool.java @@ -1,4 +1,4 @@ -// Copyright (c) 2020, 2021, Oracle and/or its affiliates. +// Copyright (c) 2020, 2022, Oracle and/or its affiliates. // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. package oracle.weblogic.kubernetes.actions.impl.primitive; diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/TestAssertions.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/TestAssertions.java index 32f423a349d..e10245810cb 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/TestAssertions.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/TestAssertions.java @@ -1,4 +1,4 @@ -// Copyright (c) 2020, 2021, Oracle and/or its affiliates. +// Copyright (c) 2020, 2022, Oracle and/or its affiliates. // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. package oracle.weblogic.kubernetes.assertions; diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/impl/PersistentVolume.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/impl/PersistentVolume.java index 6e08c0d737f..2aedb4ff129 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/impl/PersistentVolume.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/impl/PersistentVolume.java @@ -1,4 +1,4 @@ -// Copyright (c) 2020, 2021, Oracle and/or its affiliates. +// Copyright (c) 2020, 2022, Oracle and/or its affiliates. // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. package oracle.weblogic.kubernetes.assertions.impl; diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/MonitoringUtils.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/MonitoringUtils.java index 37e6ba4f69b..cd42607c300 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/MonitoringUtils.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/MonitoringUtils.java @@ -1,4 +1,4 @@ -// Copyright (c) 2021, Oracle and/or its affiliates. +// Copyright (c) 2021, 2022, Oracle and/or its affiliates. // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. package oracle.weblogic.kubernetes.utils;