Skip to content

Commit

Permalink
Merge branch 'xc-113425-main' into 'main'
Browse files Browse the repository at this point in the history
Fix Multiple tests create app archive at the same time using same directory

See merge request weblogic-cloud/weblogic-kubernetes-operator!4494
  • Loading branch information
rjeberhard committed Nov 9, 2023
2 parents 779d7e5 + 3674239 commit c87440d
Show file tree
Hide file tree
Showing 13 changed files with 141 additions and 100 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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<String> archiveList = Collections.singletonList(zipFile);
WitParams witParams
= new WitParams()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -88,6 +89,8 @@ class ItAuxV8DomainImplicitUpgrade {
private static Map<String, OffsetDateTime> podsWithTimeStamps = null;
private boolean foundCompatiblityContainer = false;
private String domainUid = "implicit-upg";
private static AppParams appParams = defaultAppParams()
.appArchiveDir(ARCHIVE_DIR + ItAuxV8DomainImplicitUpgrade.class.getSimpleName());

/**
* Install Operator.
Expand Down Expand Up @@ -128,7 +131,7 @@ public static void initAll(@Namespaces(2) List<String> 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));
Expand Down Expand Up @@ -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<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE);
Expand Down Expand Up @@ -510,7 +513,7 @@ void testUpdateBaseImageV8AuxDomain() {
deleteDomainResource(domainNamespace, domainUid);
}

List<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE);
modelList.add(MODEL_DIR + "/model.jms2.yaml");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList
= Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -193,17 +194,20 @@ void testCreateMiiDomainWithClusterFromOnPremDomain() {
List<String> 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",
"opdemo"));

//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");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -238,13 +241,13 @@ public static void initAll(@Namespaces(4) List<String> 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<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE);
Expand Down Expand Up @@ -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<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE);
Expand Down Expand Up @@ -540,7 +543,7 @@ void testCreateDomainNoFilesAtSourceWDTInstallHome() {

// creating image with no WDT install files

List<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE);
Expand Down Expand Up @@ -597,7 +600,7 @@ void testSourceWDTInstallHomeSetAtMultipleAIs() {
//createAuxiliaryImageWithDomainConfig(miiAuxiliaryImage6, auxiliaryImagePathCustom);

// admin/managed server name here should match with model yaml
List<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE);
Expand Down Expand Up @@ -733,7 +736,7 @@ void testCreateDomainWithConfigMapAndEmptyModelFileDir() {
String domainUid = "testdomain8";
String adminServerPodName = domainUid + "-admin-server";
String managedServerPrefix = domainUid + "-managed-server";
List<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

WitParams witParams =
new WitParams()
Expand Down Expand Up @@ -785,7 +788,7 @@ void testCreateDomainWithEmptyConfigMapWithNoModelFiles() {
String domainUid = "testdomain9";
String adminServerPodName = domainUid + "-admin-server";
String managedServerPrefix = domainUid + "-managed-server";
List<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

WitParams witParams =
new WitParams()
Expand Down Expand Up @@ -967,7 +970,7 @@ void testErrorPathDomainMissingWDTBinary() {
}
OffsetDateTime timestamp = now();

List<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE);
Expand Down Expand Up @@ -1039,7 +1042,7 @@ void testErrorPathDomainMissingDomainConfig() {
final String auxiliaryImagePath = "/auxiliary";
OffsetDateTime timestamp = now();

List<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/model.jms2.yaml");
Expand Down Expand Up @@ -1110,7 +1113,7 @@ void testErrorPathFilePermission() {

OffsetDateTime timestamp = now();

List<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE);
Expand Down Expand Up @@ -1197,7 +1200,7 @@ void testUpdateWDTVersionUsingMultipleAuxiliaryImages() {
createSecretWithUsernamePassword(encryptionSecretName, wdtDomainNamespace,
"weblogicenc", "weblogicenc");

List<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/multi-model-one-ds.20.yaml");
Expand Down Expand Up @@ -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<String> 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<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE);
Expand Down Expand Up @@ -1517,7 +1517,7 @@ private void createDomainUsingAuxImageWithCustomWdtModelHomeInstallHome(String w
String domainUid,
String imageTag) {

List<String> archiveList = Collections.singletonList(ARCHIVE_DIR + "/" + MII_BASIC_APP_NAME + ".zip");
List<String> archiveList = Collections.singletonList(appParams.appArchiveDir() + "/" + MII_BASIC_APP_NAME + ".zip");

List<String> modelList = new ArrayList<>();
modelList.add(MODEL_DIR + "/" + MII_BASIC_WDT_MODEL_FILE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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<String> 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,
Expand All @@ -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",
Expand All @@ -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<String> 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,
Expand Down
Loading

0 comments on commit c87440d

Please sign in to comment.