Skip to content

Commit 6f8709a

Browse files
committed
Merge branch 'backport-mr-4372-41' into 'release/4.1'
Backport - fix database issues and logging util changes See merge request weblogic-cloud/weblogic-kubernetes-operator!4376
2 parents 377fb74 + 8f377ad commit 6f8709a

File tree

4 files changed

+53
-29
lines changed

4 files changed

+53
-29
lines changed

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@
7070
import static oracle.weblogic.kubernetes.utils.DbUtils.createOracleDBUsingOperator;
7171
import static oracle.weblogic.kubernetes.utils.DbUtils.createRcuAccessSecret;
7272
import static oracle.weblogic.kubernetes.utils.DbUtils.createRcuSchema;
73-
import static oracle.weblogic.kubernetes.utils.DbUtils.deleteHostPathProvisioner;
7473
import static oracle.weblogic.kubernetes.utils.DbUtils.deleteOracleDB;
7574
import static oracle.weblogic.kubernetes.utils.DbUtils.installDBOperator;
7675
import static oracle.weblogic.kubernetes.utils.DbUtils.uninstallDBOperator;
@@ -505,7 +504,6 @@ private void testMiiJmsJtaServiceMigration() {
505504
public void tearDownAll() throws ApiException {
506505
if (!SKIP_CLEANUP) {
507506
deleteOracleDB(dbNamespace, dbName);
508-
deleteHostPathProvisioner(dbNamespace);
509507
uninstallDBOperator(dbNamespace);
510508
}
511509
}

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@
8989
import static oracle.weblogic.kubernetes.utils.DbUtils.createOracleDBUsingOperator;
9090
import static oracle.weblogic.kubernetes.utils.DbUtils.createRcuAccessSecret;
9191
import static oracle.weblogic.kubernetes.utils.DbUtils.createRcuSchema;
92-
import static oracle.weblogic.kubernetes.utils.DbUtils.deleteHostPathProvisioner;
9392
import static oracle.weblogic.kubernetes.utils.DbUtils.deleteOracleDB;
9493
import static oracle.weblogic.kubernetes.utils.DbUtils.installDBOperator;
9594
import static oracle.weblogic.kubernetes.utils.DbUtils.uninstallDBOperator;
@@ -584,7 +583,6 @@ private void testMiiJmsJtaServiceMigration() {
584583
public void tearDownAll() throws ApiException {
585584
if (!SKIP_CLEANUP) {
586585
deleteOracleDB(dbNamespace, dbName);
587-
deleteHostPathProvisioner(dbNamespace);
588586
uninstallDBOperator(dbNamespace);
589587
}
590588
}

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

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import io.kubernetes.client.openapi.models.V1HostPathVolumeSource;
3030
import io.kubernetes.client.openapi.models.V1LabelSelector;
3131
import io.kubernetes.client.openapi.models.V1LocalObjectReference;
32+
import io.kubernetes.client.openapi.models.V1NFSVolumeSource;
3233
import io.kubernetes.client.openapi.models.V1ObjectFieldSelector;
3334
import io.kubernetes.client.openapi.models.V1ObjectMeta;
3435
import io.kubernetes.client.openapi.models.V1PersistentVolume;
@@ -55,6 +56,7 @@
5556
import io.kubernetes.client.openapi.models.V1Subject;
5657
import io.kubernetes.client.openapi.models.V1Volume;
5758
import io.kubernetes.client.openapi.models.V1VolumeMount;
59+
import io.kubernetes.client.util.Yaml;
5860
import oracle.weblogic.kubernetes.TestConstants;
5961
import oracle.weblogic.kubernetes.actions.TestActions;
6062
import oracle.weblogic.kubernetes.actions.impl.primitive.Command;
@@ -76,6 +78,7 @@
7678
import static oracle.weblogic.kubernetes.TestConstants.DB_PREBUILT_IMAGE_NAME;
7779
import static oracle.weblogic.kubernetes.TestConstants.IMAGE_PULL_POLICY;
7880
import static oracle.weblogic.kubernetes.TestConstants.KUBERNETES_CLI;
81+
import static oracle.weblogic.kubernetes.TestConstants.NFS_SERVER;
7982
import static oracle.weblogic.kubernetes.TestConstants.OKD;
8083
import static oracle.weblogic.kubernetes.TestConstants.OKE_CLUSTER;
8184
import static oracle.weblogic.kubernetes.TestConstants.ORACLE_DB_SECRET_NAME;
@@ -104,7 +107,6 @@
104107
import static oracle.weblogic.kubernetes.utils.FileUtils.replaceStringInFile;
105108
import static oracle.weblogic.kubernetes.utils.ImageUtils.createBaseRepoSecret;
106109
import static oracle.weblogic.kubernetes.utils.ImageUtils.createTestRepoSecret;
107-
import static oracle.weblogic.kubernetes.utils.PersistentVolumeUtils.setVolumeSource;
108110
import static oracle.weblogic.kubernetes.utils.PodUtils.checkPodDoesNotExist;
109111
import static oracle.weblogic.kubernetes.utils.ThreadSafeLogger.getLogger;
110112
import static org.apache.commons.io.FileUtils.deleteDirectory;
@@ -858,9 +860,6 @@ public static String createOracleDBUsingOperator(String dbName, String sysPasswo
858860
replaceStringInFile(dbYaml.toString(), "pullFrom:", "pullFrom: " + DB_IMAGE_19C);
859861
replaceStringInFile(dbYaml.toString(), "pullSecrets:", "pullSecrets: " + BASE_IMAGES_REPO_SECRET_NAME);
860862
String storageClass = "weblogic-domain-storage-class";
861-
if (OKE_CLUSTER) {
862-
storageClass = "oci-fss";
863-
}
864863
replaceStringInFile(dbYaml.toString(), "storageClass: \"oci-bv\"",
865864
"storageClass: \"" + storageClass + "\"");
866865
replaceStringInFile(dbYaml.toString(), "accessMode: \"ReadWriteOnce\"", "accessMode: \"ReadWriteMany\"");
@@ -1015,16 +1014,15 @@ public static void deleteOracleDB(String namespace, String dbName) {
10151014
public static void createPV(String pvName) {
10161015

10171016
LoggingFacade logger = getLogger();
1018-
Path pvHostPath = null;
1017+
Path pvHostPath = Paths.get(PV_ROOT, pvName);
10191018

10201019
logger.info("creating persistent volume {0}", pvName);
1021-
1020+
10221021
// when tests are running in local box the PV directories need to exist
10231022
if (!OKE_CLUSTER && !OKD) {
10241023
try {
1025-
pvHostPath = Files.createDirectories(Paths.get(
1026-
PV_ROOT, pvName));
10271024
logger.info("Creating PV directory host path {0}", pvHostPath);
1025+
Files.createDirectories(pvHostPath);
10281026
deleteDirectory(pvHostPath.toFile());
10291027
createDirectories(pvHostPath);
10301028
} catch (IOException ioex) {
@@ -1034,15 +1032,29 @@ public static void createPV(String pvName) {
10341032
}
10351033

10361034
V1PersistentVolume v1pv = new V1PersistentVolume()
1035+
.metadata(new V1ObjectMeta()
1036+
.name(pvName))
10371037
.spec(new V1PersistentVolumeSpec()
10381038
.addAccessModesItem("ReadWriteMany")
10391039
.volumeMode("Filesystem")
10401040
.putCapacityItem("storage", Quantity.fromString("100Gi"))
10411041
.persistentVolumeReclaimPolicy("Recycle")
1042-
.accessModes(Arrays.asList("ReadWriteMany")))
1043-
.metadata(new V1ObjectMeta()
1044-
.name(pvName));
1045-
setVolumeSource(pvHostPath, v1pv);
1042+
.accessModes(Arrays.asList("ReadWriteMany")));
1043+
if (OKD) {
1044+
v1pv.getSpec()
1045+
.storageClassName("okd-nfsmnt")
1046+
.nfs(new V1NFSVolumeSource()
1047+
.path(PV_ROOT)
1048+
.server(NFS_SERVER)
1049+
.readOnly(false));
1050+
} else {
1051+
v1pv.getSpec()
1052+
.storageClassName("weblogic-domain-storage-class")
1053+
.hostPath(new V1HostPathVolumeSource()
1054+
.path(pvHostPath.toString()));
1055+
}
1056+
logger.info(Yaml.dump(v1pv));
1057+
10461058
boolean success = assertDoesNotThrow(() -> createPersistentVolume(v1pv),
10471059
"Failed to create persistent volume");
10481060
assertTrue(success, "PersistentVolume creation failed");

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

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -137,19 +137,6 @@ public static void collectLogs(String namespace, String resultDir) {
137137
&& pv.getMetadata().getName()
138138
.equals(pvc.getSpec().getVolumeName())) {
139139
pvList.add(pv);
140-
String pvName = pv.getMetadata().getName();
141-
String pvcName = pvc.getMetadata().getName();
142-
try {
143-
if (pv.getMetadata().getDeletionTimestamp() == null) {
144-
copyFromPV(namespace, pvcName, pvName,
145-
Files.createDirectories(
146-
Paths.get(resultDir, pvcName, pvName)));
147-
}
148-
} catch (ApiException ex) {
149-
logger.warning(ex.getResponseBody());
150-
} catch (IOException ex) {
151-
logger.warning(ex.getMessage());
152-
}
153140
}
154141
}
155142
}
@@ -564,4 +551,33 @@ public static void checkPodLogContainsString(String namespace, String podName,
564551
podName,
565552
namespace);
566553
}
554+
555+
private void archivePV(String namespace, String resultDir) {
556+
// archive persistent volume contents
557+
List<V1PersistentVolume> pvList = new ArrayList<>();
558+
for (var pv : Kubernetes.listPersistentVolumes().getItems()) {
559+
for (var pvc : Kubernetes.listPersistentVolumeClaims(namespace).getItems()) {
560+
if (pv.getSpec().getStorageClassName()
561+
.equals(pvc.getSpec().getStorageClassName())
562+
&& pv.getMetadata().getName()
563+
.equals(pvc.getSpec().getVolumeName())) {
564+
pvList.add(pv);
565+
String pvName = pv.getMetadata().getName();
566+
String pvcName = pvc.getMetadata().getName();
567+
try {
568+
if (pv.getMetadata().getDeletionTimestamp() == null) {
569+
copyFromPV(namespace, pvcName, pvName,
570+
Files.createDirectories(
571+
Paths.get(resultDir, pvcName, pvName)));
572+
}
573+
} catch (ApiException ex) {
574+
getLogger().warning(ex.getResponseBody());
575+
} catch (IOException ex) {
576+
getLogger().warning(ex.getMessage());
577+
}
578+
}
579+
}
580+
}
581+
}
582+
567583
}

0 commit comments

Comments
 (0)