diff --git a/integration-tests/src/test/java/oracle/verrazzano/weblogic/kubernetes/ItVzMiiDomain.java b/integration-tests/src/test/java/oracle/verrazzano/weblogic/kubernetes/ItVzMiiDomain.java index a6075df797f..df1f000948d 100644 --- a/integration-tests/src/test/java/oracle/verrazzano/weblogic/kubernetes/ItVzMiiDomain.java +++ b/integration-tests/src/test/java/oracle/verrazzano/weblogic/kubernetes/ItVzMiiDomain.java @@ -27,6 +27,7 @@ import oracle.verrazzano.weblogic.WorkloadSpec; import oracle.verrazzano.weblogic.kubernetes.annotations.VzIntegrationTest; import oracle.weblogic.domain.DomainResource; +import oracle.weblogic.kubernetes.actions.impl.AppParams; import oracle.weblogic.kubernetes.actions.impl.primitive.Command; import oracle.weblogic.kubernetes.actions.impl.primitive.CommandParams; import oracle.weblogic.kubernetes.actions.impl.primitive.WitParams; @@ -252,13 +253,14 @@ void testVzMiiAuxilaryImage() { "weblogicenc", "weblogicenc"); // build app - assertTrue(buildAppArchive(defaultAppParams() + AppParams appParams = defaultAppParams().appArchiveDir(ARCHIVE_DIR + this.getClass().getSimpleName()); + assertTrue(buildAppArchive(appParams .srcDirList(Collections.singletonList(MII_BASIC_APP_NAME)) .appName(MII_BASIC_APP_NAME)), String.format("Failed to create app archive for %s", MII_BASIC_APP_NAME)); // image1 with model files for domain config, ds, app and wdt install files - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); diff --git a/integration-tests/src/test/java/oracle/verrazzano/weblogic/kubernetes/ItVzWlsDomainOnPV.java b/integration-tests/src/test/java/oracle/verrazzano/weblogic/kubernetes/ItVzWlsDomainOnPV.java index 74ebc800150..69c7a942523 100644 --- a/integration-tests/src/test/java/oracle/verrazzano/weblogic/kubernetes/ItVzWlsDomainOnPV.java +++ b/integration-tests/src/test/java/oracle/verrazzano/weblogic/kubernetes/ItVzWlsDomainOnPV.java @@ -38,6 +38,7 @@ import oracle.weblogic.domain.DomainOnPV; import oracle.weblogic.domain.DomainOnPVType; import oracle.weblogic.domain.DomainResource; +import oracle.weblogic.kubernetes.actions.impl.AppParams; import oracle.weblogic.kubernetes.actions.impl.primitive.WitParams; import oracle.weblogic.kubernetes.annotations.Namespaces; import oracle.weblogic.kubernetes.logging.LoggingFacade; @@ -307,12 +308,13 @@ private DomainCreationImage createDomainCreationImage() { // create image with model and wdt installation files // build an application archive using what is in resources/apps/APP_NAME logger.info("Build an application archive using resources/apps/{0}", appName); - assertTrue(buildAppArchive(defaultAppParams() + AppParams appParams = defaultAppParams().appArchiveDir(ARCHIVE_DIR + this.getClass().getSimpleName()); + assertTrue(buildAppArchive(appParams .srcDirList(Collections.singletonList(appName))), String.format("Failed to create app archive for %s", appName)); // build the archive list - String zipFile = String.format("%s/%s.zip", ARCHIVE_DIR, appName); + String zipFile = String.format("%s/%s.zip", appParams.appArchiveDir(), appName); final List archiveList = Collections.singletonList(zipFile); WitParams witParams = new WitParams() diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItAuxV8DomainImplicitUpgrade.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItAuxV8DomainImplicitUpgrade.java index 4fa88b0d831..cd67e653fe9 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItAuxV8DomainImplicitUpgrade.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItAuxV8DomainImplicitUpgrade.java @@ -14,6 +14,7 @@ import io.kubernetes.client.openapi.models.V1Container; import oracle.weblogic.domain.DomainResource; +import oracle.weblogic.kubernetes.actions.impl.AppParams; import oracle.weblogic.kubernetes.actions.impl.primitive.Command; import oracle.weblogic.kubernetes.actions.impl.primitive.CommandParams; import oracle.weblogic.kubernetes.actions.impl.primitive.WitParams; @@ -88,6 +89,8 @@ class ItAuxV8DomainImplicitUpgrade { private static Map podsWithTimeStamps = null; private boolean foundCompatiblityContainer = false; private String domainUid = "implicit-upg"; + private static AppParams appParams = defaultAppParams() + .appArchiveDir(ARCHIVE_DIR + ItAuxV8DomainImplicitUpgrade.class.getSimpleName()); /** * Install Operator. @@ -128,7 +131,7 @@ public static void initAll(@Namespaces(2) List namespaces) { ENCRYPION_USERNAME_DEFAULT, ENCRYPION_PASSWORD_DEFAULT); // build app - assertTrue(buildAppArchive(defaultAppParams() + assertTrue(buildAppArchive(appParams .srcDirList(Collections.singletonList(MII_BASIC_APP_NAME)) .appName(MII_BASIC_APP_NAME)), String.format("Failed to create app archive for %s", MII_BASIC_APP_NAME)); @@ -167,7 +170,7 @@ void testMultipleAuxImagesV8Domain() { String modelOnlyImage = MII_AUXILIARY_IMAGE_NAME + ":" + modelOnlyImageTag; String wdtOnlyImage = MII_AUXILIARY_IMAGE_NAME + ":" + wdtOnlyImageTag; String configOnlyImage = MII_AUXILIARY_IMAGE_NAME + ":" + configOnlyImageTag; - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); @@ -510,7 +513,7 @@ void testUpdateBaseImageV8AuxDomain() { deleteDomainResource(domainNamespace, domainUid); } - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); modelList.add(MODEL_DIR + "/model.jms2.yaml"); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItLargeMiiDomainsClusters.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItLargeMiiDomainsClusters.java index 6f600abaed5..b1970b9457d 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItLargeMiiDomainsClusters.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItLargeMiiDomainsClusters.java @@ -23,6 +23,7 @@ import io.kubernetes.client.openapi.models.V1ResourceRequirements; import io.kubernetes.client.openapi.models.V1ServiceAccount; import oracle.weblogic.domain.DomainResource; +import oracle.weblogic.kubernetes.actions.impl.AppParams; import oracle.weblogic.kubernetes.actions.impl.OperatorParams; import oracle.weblogic.kubernetes.actions.impl.primitive.HelmParams; import oracle.weblogic.kubernetes.annotations.IntegrationTest; @@ -219,13 +220,16 @@ void testCreateNDomainsNClusters() { createSecrets(domainNamespaces.get(i)); // build app - assertTrue(buildAppArchive(defaultAppParams() + AppParams appParams = defaultAppParams() + .appArchiveDir(ARCHIVE_DIR + this.getClass().getSimpleName()); + assertTrue(buildAppArchive(appParams .srcDirList(Collections.singletonList(MII_BASIC_APP_NAME)) .appName(MII_BASIC_APP_NAME)), String.format("Failed to create app archive for %s", MII_BASIC_APP_NAME)); // image with model files for domain config, app and wdt install files - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList + = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItLiftAndShiftFromOnPremDomain.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItLiftAndShiftFromOnPremDomain.java index a80856cc5e4..165ffc8cc1e 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItLiftAndShiftFromOnPremDomain.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItLiftAndShiftFromOnPremDomain.java @@ -16,6 +16,7 @@ import io.kubernetes.client.openapi.models.V1EnvVar; import io.kubernetes.client.openapi.models.V1Pod; import io.kubernetes.client.util.exception.CopyNotSupportedException; +import oracle.weblogic.kubernetes.actions.impl.AppParams; import oracle.weblogic.kubernetes.actions.impl.Exec; import oracle.weblogic.kubernetes.actions.impl.primitive.Command; import oracle.weblogic.kubernetes.actions.impl.primitive.CommandParams; @@ -193,9 +194,11 @@ void testCreateMiiDomainWithClusterFromOnPremDomain() { List appDirList = Collections.singletonList("onprem-app"); logger.info("Build the application archive using what is in {0}", appDirList); + AppParams appParams = defaultAppParams() + .appArchiveDir(ARCHIVE_DIR + this.getClass().getSimpleName()); assertTrue( buildAppArchive( - defaultAppParams() + appParams .srcDirList(appDirList) .appName("opdemo")), String.format("Failed to create application archive for %s", @@ -203,7 +206,8 @@ void testCreateMiiDomainWithClusterFromOnPremDomain() { //copy file from stage dir to where the config files are try { - copy(Paths.get(ARCHIVE_DIR, "/wlsdeploy/applications/opdemo.ear"), Paths.get(DOMAIN_TEMP_DIR, "/opdemo.ear")); + copy(Paths.get(appParams.appArchiveDir(), "/wlsdeploy/applications/opdemo.ear"), + Paths.get(DOMAIN_TEMP_DIR, "/opdemo.ear")); } catch (IOException ioex) { logger.info("Copy of the application to the domain directory failed"); } diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiAuxiliaryImage.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiAuxiliaryImage.java index eb5f74d0507..9c0157c9832 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiAuxiliaryImage.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiAuxiliaryImage.java @@ -17,6 +17,7 @@ import io.kubernetes.client.openapi.ApiException; import oracle.weblogic.domain.AuxiliaryImage; import oracle.weblogic.domain.DomainResource; +import oracle.weblogic.kubernetes.actions.impl.AppParams; import oracle.weblogic.kubernetes.actions.impl.primitive.WitParams; import oracle.weblogic.kubernetes.annotations.IntegrationTest; import oracle.weblogic.kubernetes.annotations.Namespaces; @@ -184,6 +185,8 @@ class ItMiiAuxiliaryImage { private static String opNamespace = null; private static String operatorPodName = null; private static String oldMiiAuxImageNameInDomain1 = miiAuxiliaryImage1; + private static AppParams appParams = defaultAppParams() + .appArchiveDir(ARCHIVE_DIR + ItMiiAuxiliaryImage.class.getSimpleName()); /** * Install Operator. Create a domain using multiple auxiliary images. @@ -238,13 +241,13 @@ public static void initAll(@Namespaces(4) List namespaces) { createSecretWithUsernamePassword(encryptionSecretName, errorpathDomainNamespace, "weblogicenc", "weblogicenc"); // build app - assertTrue(buildAppArchive(defaultAppParams() + assertTrue(buildAppArchive(appParams .srcDirList(Collections.singletonList(MII_BASIC_APP_NAME)) .appName(MII_BASIC_APP_NAME)), String.format("Failed to create app archive for %s", MII_BASIC_APP_NAME)); // image1 with model files for domain config, ds, app and wdt install files - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); @@ -334,7 +337,7 @@ void testUpdateDataSourceInDomainUsingAuxiliaryImage() { "/multi-model-one-ds.20.yaml").toString(), "ORCLCDB", "dbsvc"), "Can't replace datasource url in the model file"); - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); @@ -540,7 +543,7 @@ void testCreateDomainNoFilesAtSourceWDTInstallHome() { // creating image with no WDT install files - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); @@ -597,7 +600,7 @@ void testSourceWDTInstallHomeSetAtMultipleAIs() { //createAuxiliaryImageWithDomainConfig(miiAuxiliaryImage6, auxiliaryImagePathCustom); // admin/managed server name here should match with model yaml - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); @@ -733,7 +736,7 @@ void testCreateDomainWithConfigMapAndEmptyModelFileDir() { String domainUid = "testdomain8"; String adminServerPodName = domainUid + "-admin-server"; String managedServerPrefix = domainUid + "-managed-server"; - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); WitParams witParams = new WitParams() @@ -785,7 +788,7 @@ void testCreateDomainWithEmptyConfigMapWithNoModelFiles() { String domainUid = "testdomain9"; String adminServerPodName = domainUid + "-admin-server"; String managedServerPrefix = domainUid + "-managed-server"; - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); WitParams witParams = new WitParams() @@ -967,7 +970,7 @@ void testErrorPathDomainMissingWDTBinary() { } OffsetDateTime timestamp = now(); - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); @@ -1039,7 +1042,7 @@ void testErrorPathDomainMissingDomainConfig() { final String auxiliaryImagePath = "/auxiliary"; OffsetDateTime timestamp = now(); - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/model.jms2.yaml"); @@ -1110,7 +1113,7 @@ void testErrorPathFilePermission() { OffsetDateTime timestamp = now(); - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); @@ -1197,7 +1200,7 @@ void testUpdateWDTVersionUsingMultipleAuxiliaryImages() { createSecretWithUsernamePassword(encryptionSecretName, wdtDomainNamespace, "weblogicenc", "weblogicenc"); - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/multi-model-one-ds.20.yaml"); @@ -1389,17 +1392,14 @@ void testUpdateApplicationUsingAI() { logger.info("Build an application archive using what is in {0}", appDirList); assertTrue( - buildAppArchive( - defaultAppParams() - .srcDirList(appDirList)), - String.format("Failed to create application archive for %s", - MII_BASIC_APP_NAME)); + buildAppArchive(appParams.srcDirList(appDirList)), + String.format("Failed to create application archive for %s", MII_BASIC_APP_NAME)); logger.info("Build the archive list that contains {0}", - String.format("%s/%s.zip", ARCHIVE_DIR, MII_BASIC_APP_NAME)); + String.format("%s/%s.zip", appParams.appArchiveDir(), MII_BASIC_APP_NAME)); List archiveList = Collections.singletonList( - String.format("%s/%s.zip", ARCHIVE_DIR, MII_BASIC_APP_NAME)); + String.format("%s/%s.zip", appParams.appArchiveDir(), MII_BASIC_APP_NAME)); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); @@ -1517,7 +1517,7 @@ private void createDomainUsingAuxImageWithCustomWdtModelHomeInstallHome(String w String domainUid, String imageTag) { - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomain.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomain.java index 64cc83a5307..ddff8dad711 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomain.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomain.java @@ -28,6 +28,7 @@ import oracle.weblogic.domain.Model; import oracle.weblogic.domain.ServerPod; import oracle.weblogic.domain.ServerService; +import oracle.weblogic.kubernetes.actions.impl.AppParams; import oracle.weblogic.kubernetes.annotations.IntegrationTest; import oracle.weblogic.kubernetes.annotations.Namespaces; import oracle.weblogic.kubernetes.logging.LoggingFacade; @@ -148,6 +149,7 @@ class ItMiiDomain { private static volatile boolean mainThreadDone = false; private static String miiDomainNegativeNamespace = null; private String encryptionSecretName = "encryptionsecret"; + private AppParams appParams = defaultAppParams().appArchiveDir(ARCHIVE_DIR + this.getClass().getSimpleName()); /** * Install Operator. @@ -713,18 +715,16 @@ private String updateImageWithAppV2Patch( Collections.singletonList(String.format("%s/%s", MODEL_DIR, MII_BASIC_WDT_MODEL_FILE)); logger.info("Build an application archive using what is in {0}", appDirList); + assertTrue( - buildAppArchive( - defaultAppParams() - .srcDirList(appDirList)), - String.format("Failed to create application archive for %s", - MII_BASIC_APP_NAME)); + buildAppArchive(appParams.srcDirList(appDirList)), + String.format("Failed to create application archive for %s", MII_BASIC_APP_NAME)); logger.info("Build the archive list that contains {0}", - String.format("%s/%s.zip", ARCHIVE_DIR, MII_BASIC_APP_NAME)); + String.format("%s/%s.zip", appParams.appArchiveDir(), MII_BASIC_APP_NAME)); List archiveList = Collections.singletonList( - String.format("%s/%s.zip", ARCHIVE_DIR, MII_BASIC_APP_NAME)); + String.format("%s/%s.zip", appParams.appArchiveDir(), MII_BASIC_APP_NAME)); return createImageAndVerify( imageName, @@ -748,7 +748,7 @@ private String updateImageWithSampleApp3( logger.info("Build the first application archive using what is in {0}", appDirList1); assertTrue( buildAppArchive( - defaultAppParams() + appParams .srcDirList(appDirList1) .appName(appName1)), String.format("Failed to create application archive for %s", @@ -757,18 +757,18 @@ private String updateImageWithSampleApp3( logger.info("Build the second application archive usingt what is in {0}", appDirList2); assertTrue( buildAppArchive( - defaultAppParams() + appParams .srcDirList(appDirList2) .appName(appName2)), String.format("Failed to create application archive for %s", appName2)); logger.info("Build the archive list with two zip files: {0} and {1}", - String.format("%s/%s.zip", ARCHIVE_DIR, appName1), - String.format("%s/%s.zip", ARCHIVE_DIR, appName2)); + String.format("%s/%s.zip", appParams.appArchiveDir(), appName1), + String.format("%s/%s.zip", appParams.appArchiveDir(), appName2)); List archiveList = Arrays.asList( - String.format("%s/%s.zip", ARCHIVE_DIR, appName1), - String.format("%s/%s.zip", ARCHIVE_DIR, appName2)); + String.format("%s/%s.zip", appParams.appArchiveDir(), appName1), + String.format("%s/%s.zip", appParams.appArchiveDir(), appName2)); return createImageAndVerify( imageName, diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMultiDomainModels.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMultiDomainModels.java index 6733bfdbec7..bb70eb3093c 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMultiDomainModels.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMultiDomainModels.java @@ -10,6 +10,7 @@ import java.util.concurrent.Callable; import oracle.weblogic.domain.DomainResource; +import oracle.weblogic.kubernetes.actions.impl.AppParams; import oracle.weblogic.kubernetes.annotations.DisabledOnSlimImage; import oracle.weblogic.kubernetes.annotations.IntegrationTest; import oracle.weblogic.kubernetes.annotations.Namespaces; @@ -256,13 +257,16 @@ private DomainResource createDomainUsingAuxiliaryImage() { "weblogicenc", "weblogicenc"); // build app - assertTrue(buildAppArchive(defaultAppParams() - .srcDirList(Collections.singletonList(MII_BASIC_APP_NAME)) - .appName(MII_BASIC_APP_NAME)), + AppParams appParams = defaultAppParams() + .srcDirList(Collections.singletonList(MII_BASIC_APP_NAME)) + .appArchiveDir(ARCHIVE_DIR + this.getClass().getSimpleName()) + .appName(MII_BASIC_APP_NAME); + + assertTrue(buildAppArchive(appParams), String.format("Failed to create app archive for %s", MII_BASIC_APP_NAME)); // image1 with model files for domain config, ds, app and wdt install files - List archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip"); + List archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip"); List modelList = new ArrayList<>(); modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMultiDomainModelsScale.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMultiDomainModelsScale.java index 6d7d47443c5..052607bff67 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMultiDomainModelsScale.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMultiDomainModelsScale.java @@ -21,6 +21,7 @@ import oracle.weblogic.domain.DomainSpec; import oracle.weblogic.domain.Model; import oracle.weblogic.domain.ServerPod; +import oracle.weblogic.kubernetes.actions.impl.AppParams; import oracle.weblogic.kubernetes.actions.impl.NginxParams; import oracle.weblogic.kubernetes.annotations.DisabledOnSlimImage; import oracle.weblogic.kubernetes.annotations.IntegrationTest; @@ -495,9 +496,12 @@ private static DomainResource createDomainOnPvUsingWdt(String domainUid, String appSrcDirList.add(WLDF_OPENSESSION_APP); for (String appName : appSrcDirList) { - assertTrue(buildAppArchive(defaultAppParams() - .srcDirList(Collections.singletonList(appName)) - .appName(appName)), + AppParams appParams = defaultAppParams() + .srcDirList(Collections.singletonList(appName)) + .appArchiveDir(ARCHIVE_DIR + ItMultiDomainModelsScale.class.getSimpleName()) + .appName(appName); + + assertTrue(buildAppArchive(appParams), String.format("Failed to create app archive for %s", appName)); logger.info("Getting port for default channel"); @@ -508,7 +512,7 @@ private static DomainResource createDomainOnPvUsingWdt(String domainUid, String assertNotEquals(-1, defaultChannelPort, "admin server defaultChannelPort is not valid"); //deploy application - Path archivePath = get(ARCHIVE_DIR, "wlsdeploy", "applications", appName + ".ear"); + Path archivePath = get(appParams.appArchiveDir(), "wlsdeploy", "applications", appName + ".ear"); logger.info("Deploying webapp {0} to domain {1}", archivePath, domainUid); deployUsingWlst(adminServerPodName, Integer.toString(defaultChannelPort), ADMIN_USERNAME_DEFAULT, ADMIN_PASSWORD_DEFAULT, clusterName + "," + ADMIN_SERVER_NAME_BASE, archivePath, diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMultiDomainModelsUpgradeAndScale.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMultiDomainModelsUpgradeAndScale.java index a439de448ae..071291e114c 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMultiDomainModelsUpgradeAndScale.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMultiDomainModelsUpgradeAndScale.java @@ -21,6 +21,7 @@ import oracle.weblogic.domain.DomainSpec; import oracle.weblogic.domain.Model; import oracle.weblogic.domain.ServerPod; +import oracle.weblogic.kubernetes.actions.impl.AppParams; import oracle.weblogic.kubernetes.annotations.IntegrationTest; import oracle.weblogic.kubernetes.annotations.Namespaces; import oracle.weblogic.kubernetes.logging.LoggingFacade; @@ -348,7 +349,9 @@ private static DomainResource createDomainOnPvUsingWdt(String domainUid, String appSrcDirList.add(WLDF_OPENSESSION_APP); for (String appName : appSrcDirList) { - assertTrue(buildAppArchive(defaultAppParams() + AppParams appParams = defaultAppParams() + .appArchiveDir(ARCHIVE_DIR + ItMultiDomainModelsUpgradeAndScale.class.getSimpleName()); + assertTrue(buildAppArchive(appParams .srcDirList(Collections.singletonList(appName)) .appName(appName)), String.format("Failed to create app archive for %s", appName)); @@ -361,7 +364,7 @@ private static DomainResource createDomainOnPvUsingWdt(String domainUid, String assertNotEquals(-1, defaultChannelPort, "admin server defaultChannelPort is not valid"); //deploy application - Path archivePath = get(ARCHIVE_DIR, "wlsdeploy", "applications", appName + ".ear"); + Path archivePath = get(appParams.appArchiveDir(), "wlsdeploy", "applications", appName + ".ear"); logger.info("Deploying webapp {0} to domain {1}", archivePath, domainUid); deployUsingWlst(adminServerPodName, Integer.toString(defaultChannelPort), ADMIN_USERNAME_DEFAULT, ADMIN_PASSWORD_DEFAULT, clusterName + "," + ADMIN_SERVER_NAME_BASE, archivePath, diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/AppBuilder.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/AppBuilder.java index 56576b148ad..7b047e5c72d 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/AppBuilder.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/AppBuilder.java @@ -13,7 +13,6 @@ import oracle.weblogic.kubernetes.utils.FileUtils; import static oracle.weblogic.kubernetes.actions.ActionConstants.APP_DIR; -import static oracle.weblogic.kubernetes.actions.ActionConstants.ARCHIVE_DIR; import static oracle.weblogic.kubernetes.actions.ActionConstants.WORK_DIR; import static oracle.weblogic.kubernetes.actions.impl.primitive.Command.defaultCommandParams; import static oracle.weblogic.kubernetes.utils.FileUtils.checkDirectory; @@ -27,7 +26,6 @@ */ public class AppBuilder { - private static final String ARCHIVE_SRC_DIR = ARCHIVE_DIR + "/wlsdeploy/applications"; private AppParams params; @@ -67,17 +65,18 @@ private AppBuilder params(AppParams params) { * @return true if the command succeeds */ public boolean build() { + String archiveSrcDir = params.appArchiveDir() + "/wlsdeploy/applications"; // prepare the archive directory and copy over the app src try { - cleanupDirectory(ARCHIVE_SRC_DIR); - checkDirectory(ARCHIVE_SRC_DIR); + cleanupDirectory(archiveSrcDir); + checkDirectory(archiveSrcDir); for (String item : params.srcDirList()) { copyFolder( APP_DIR + "/" + item, - ARCHIVE_SRC_DIR); + archiveSrcDir); } } catch (IOException ioe) { - getLogger().severe("Failed to get the directory " + ARCHIVE_DIR + " ready", ioe); + getLogger().severe("Failed to get the directory " + archiveSrcDir + " ready", ioe); return false; } @@ -88,11 +87,11 @@ public boolean build() { // build the app archive String jarPath = String.format("%s.ear", params.appName()); - boolean jarBuilt = buildJarArchive(jarPath, ARCHIVE_SRC_DIR); + boolean jarBuilt = buildJarArchive(jarPath, archiveSrcDir); // build a zip file that can be passed to WIT - String zipPath = String.format("%s/%s.zip", ARCHIVE_DIR, params.appName()); - boolean zipBuilt = buildZipArchive(zipPath, ARCHIVE_DIR); + String zipPath = String.format("%s/%s.zip", params.appArchiveDir(), params.appName()); + boolean zipBuilt = buildZipArchive(zipPath, params.appArchiveDir()); return jarBuilt && zipBuilt; } @@ -103,14 +102,15 @@ public boolean build() { */ public boolean buildCoherence() { // prepare the archive directory and copy over the app src + String archiveSrcDir = params.appArchiveDir() + "/wlsdeploy/applications"; try { - cleanupDirectory(ARCHIVE_SRC_DIR); - checkDirectory(ARCHIVE_SRC_DIR); + cleanupDirectory(archiveSrcDir); + checkDirectory(archiveSrcDir); for (String item : params.srcDirList()) { - copyFolder(APP_DIR + "/" + item, ARCHIVE_SRC_DIR); + copyFolder(APP_DIR + "/" + item, archiveSrcDir); } } catch (IOException ioe) { - getLogger().severe("Failed to get the directory " + ARCHIVE_DIR + " ready", ioe); + getLogger().severe("Failed to get the directory " + archiveSrcDir + " ready", ioe); return false; } @@ -123,18 +123,18 @@ public boolean buildCoherence() { boolean jarBuilt = false; if (params.appName().contains("coherence-proxy")) { String jarPath = String.format("%s.gar", params.appName()); - jarBuilt = buildJarArchive(jarPath, ARCHIVE_SRC_DIR); + jarBuilt = buildJarArchive(jarPath, archiveSrcDir); } else if (params.appName().contains("CoherenceApp")) { String [] appTypes = {"ear", "gar"}; try { for (String appType : appTypes) { String appSrcDir = String.format("%s/%s/u01/application/builddir/%s.%s", WORK_DIR, params.appName(), params.appName(), appType); - String archiveSrcDir = String.format("%s/%s.%s", ARCHIVE_SRC_DIR, params.appName(), appType); + String appArchiveSrcDir = String.format("%s/%s.%s", archiveSrcDir, params.appName(), appType); assertTrue(FileUtils.doesFileExist(appSrcDir), "File " + appSrcDir + " doesn't exist"); - assertTrue(FileUtils.doesDirExist(ARCHIVE_SRC_DIR), "Dir " + ARCHIVE_SRC_DIR + " doesn't exist"); + assertTrue(FileUtils.doesDirExist(archiveSrcDir), "Dir " + archiveSrcDir + " doesn't exist"); - FileUtils.copy(Paths.get(appSrcDir), Paths.get(archiveSrcDir)); + FileUtils.copy(Paths.get(appSrcDir), Paths.get(appArchiveSrcDir)); } jarBuilt = true; } catch (IOException ex) { @@ -145,8 +145,8 @@ public boolean buildCoherence() { } // build a zip file that can be passed to WIT - String zipPath = String.format("%s/%s.zip", ARCHIVE_DIR, params.appName()); - boolean zipBuilt = buildCoherenceZipArchive(zipPath, ARCHIVE_DIR); + String zipPath = String.format("%s/%s.zip", params.appArchiveDir(), params.appName()); + boolean zipBuilt = buildCoherenceZipArchive(zipPath, params.appArchiveDir()); return jarBuilt && zipBuilt; } @@ -222,7 +222,7 @@ public boolean buildCoherenceZipArchive(String zipPath, String srcDir) { if (params.appName().contains("CoherenceApp")) { cmd = String.format( "cd %s ; zip -r %s.zip wlsdeploy/applications ", - ARCHIVE_DIR, + params.appArchiveDir(), params.appName() ); } @@ -244,26 +244,27 @@ public boolean archiveApp() { List srcFiles = params.srcDirList(); String srcFile = srcFiles.get(0); String appName = srcFile.substring(srcFile.lastIndexOf("/") + 1, srcFile.lastIndexOf(".")); + String archiveSrcDir = params.appArchiveDir() + "/wlsdeploy/applications"; + try { - String appDir = ARCHIVE_DIR + "/wlsdeploy/applications"; - cleanupDirectory(appDir); - checkDirectory(appDir); + cleanupDirectory(archiveSrcDir); + checkDirectory(archiveSrcDir); for (String appSrcFile : srcFiles) { if (appSrcFile.length() > 0) { - getLogger().info("copy {0} to {1} ", appSrcFile, appDir); + getLogger().info("copy {0} to {1} ", appSrcFile, archiveSrcDir); String fileName = appSrcFile.substring(appSrcFile.lastIndexOf("/") + 1); - Files.copy(Paths.get(appSrcFile), Paths.get(appDir + "/" + fileName), + Files.copy(Paths.get(appSrcFile), Paths.get(archiveSrcDir + "/" + fileName), StandardCopyOption.REPLACE_EXISTING); } } } catch (IOException ioe) { - getLogger().severe("Failed to get the directory " + ARCHIVE_DIR + " ready", ioe); + getLogger().severe("Failed to get the directory " + archiveSrcDir + " ready", ioe); return false; } String cmd = String.format( "cd %s ; zip -r %s.zip wlsdeploy/applications ", - ARCHIVE_DIR, + params.appArchiveDir(), appName ); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/AppParams.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/AppParams.java index c2724441517..1397d74415b 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/AppParams.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/AppParams.java @@ -5,6 +5,8 @@ import java.util.List; +import static oracle.weblogic.kubernetes.actions.ActionConstants.ARCHIVE_DIR; + /** * Contains the parameters for creating an application archive. */ @@ -22,7 +24,10 @@ public class AppParams { // Whether the output of the command is redirected to system out private boolean redirect = true; - + + // The directory for the app archive + private String appArchiveDir = ARCHIVE_DIR; + public AppParams defaults() { return this; } @@ -36,6 +41,15 @@ public List srcDirList() { return srcDirList; } + public AppParams appArchiveDir(String appArchiveDir) { + this.appArchiveDir = appArchiveDir; + return this; + } + + public String appArchiveDir() { + return appArchiveDir; + } + public AppParams appName(String appName) { this.appName = appName; return this; diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ImageUtils.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ImageUtils.java index 88164c23d3c..2a1fbc39262 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ImageUtils.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ImageUtils.java @@ -19,6 +19,7 @@ import io.kubernetes.client.openapi.models.V1Secret; import io.kubernetes.client.openapi.models.V1SecretList; import oracle.weblogic.kubernetes.TestConstants; +import oracle.weblogic.kubernetes.actions.impl.AppParams; import oracle.weblogic.kubernetes.actions.impl.Namespace; import oracle.weblogic.kubernetes.actions.impl.primitive.Image; import oracle.weblogic.kubernetes.actions.impl.primitive.WitParams; @@ -323,6 +324,14 @@ public static String createImageAndVerify(String imageNameBase, final String imageName = DOMAIN_IMAGES_PREFIX + imageNameBase; final String image = imageName + ":" + imageTag; + // Generates a "unique" name by choosing a random name from + // 26^4 possible combinations. + Random random = new Random(System.currentTimeMillis()); + char[] cacheSfx = new char[4]; + for (int i = 0; i < cacheSfx.length; i++) { + cacheSfx[i] = (char) (random.nextInt(25) + (int) 'a'); + } + List archiveList = new ArrayList<>(); if (appSrcDirList != null && appSrcDirList.size() != 0 && appSrcDirList.get(0) != null) { List archiveAppsList = new ArrayList<>(); @@ -341,9 +350,10 @@ public static String createImageAndVerify(String imageNameBase, } } + AppParams appParams = defaultAppParams().appArchiveDir(ARCHIVE_DIR + cacheSfx); + if (archiveAppsList.size() != 0 && archiveAppsList.get(0) != null) { - assertTrue(archiveApp(defaultAppParams() - .srcDirList(archiveAppsList))); + assertTrue(archiveApp(appParams.srcDirList(archiveAppsList))); String appPath = archiveAppsList.get(0); //archive provided ear or war file @@ -351,9 +361,8 @@ public static String createImageAndVerify(String imageNameBase, appPath.lastIndexOf(".")); // build the archive list - String zipAppFile = String.format("%s/%s.zip", ARCHIVE_DIR, appName); + String zipAppFile = String.format("%s/%s.zip", appParams.appArchiveDir(), appName); archiveList.add(zipAppFile); - } if (buildAppDirList.size() != 0 && buildAppDirList.get(0) != null) { @@ -361,29 +370,28 @@ public static String createImageAndVerify(String imageNameBase, String zipFile = ""; if (oneArchiveContainsMultiApps) { for (String buildAppDirs : buildAppDirList) { - assertTrue(buildAppArchive(defaultAppParams() + assertTrue(buildAppArchive(appParams .srcDirList(Collections.singletonList(buildAppDirs)) .appName(buildAppDirs)), String.format("Failed to create app archive for %s", buildAppDirs)); - zipFile = String.format("%s/%s.zip", ARCHIVE_DIR, buildAppDirs); + zipFile = String.format("%s/%s.zip", appParams.appArchiveDir(), buildAppDirs); // build the archive list archiveList.add(zipFile); } } else if (buildCoherence) { // build the Coherence GAR file - assertTrue(buildCoherenceArchive(defaultAppParams() - .srcDirList(buildAppDirList)), + assertTrue(buildCoherenceArchive(appParams.srcDirList(buildAppDirList)), String.format("Failed to create app archive for %s", buildAppDirList.get(0))); - zipFile = String.format("%s/%s.zip", ARCHIVE_DIR, buildAppDirList.get(0)); + zipFile = String.format("%s/%s.zip", appParams.appArchiveDir(), buildAppDirList.get(0)); // build the archive list archiveList.add(zipFile); } else { for (String appName : buildAppDirList) { - assertTrue(buildAppArchive(defaultAppParams() + assertTrue(buildAppArchive(appParams .srcDirList(Collections.singletonList(appName)) .appName(appName)), String.format("Failed to create app archive for %s", appName)); - zipFile = String.format("%s/%s.zip", ARCHIVE_DIR, appName); + zipFile = String.format("%s/%s.zip", appParams.appArchiveDir(), appName); // build the archive list archiveList.add(zipFile); } @@ -392,14 +400,6 @@ public static String createImageAndVerify(String imageNameBase, } // Set additional environment variables for WIT - - // Generates a "unique" name by choosing a random name from - // 26^4 possible combinations. - Random random = new Random(System.currentTimeMillis()); - char[] cacheSfx = new char[4]; - for (int i = 0; i < cacheSfx.length; i++) { - cacheSfx[i] = (char) (random.nextInt(25) + (int) 'a'); - } String cacheDir = WIT_BUILD_DIR + "/cache-" + new String(cacheSfx); logger.info("WLSIMG_CACHEDIR is set to {0}", cacheDir); logger.info("WLSIMG_BLDDIR is set to {0}", WIT_BUILD_DIR);