diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItCrossDomainTransaction.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItCrossDomainTransaction.java index 15cfc121620..d587385fa35 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItCrossDomainTransaction.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItCrossDomainTransaction.java @@ -113,7 +113,7 @@ class ItCrossDomainTransaction { private static String domain2AdminServerPodName = domainUid2 + "-admin-server"; private final String domain2ManagedServerPrefix = domainUid2 + "-managed-server"; private static final String ORACLEDBURLPREFIX = "oracledb."; - private static final String ORACLEDBSUFFIX = ".svc.cluster.local:1521/devpdb.k8s"; + private static String ORACLEDBSUFFIX = null; private static LoggingFacade logger = null; static String dbUrl; static int dbNodePort; @@ -144,12 +144,16 @@ public static void initAll(@Namespaces(3) List namespaces) { assertNotNull(namespaces.get(2), "Namespace list is null"); domain2Namespace = namespaces.get(2); + final int dbListenerPort = getNextFreePort(); + ORACLEDBSUFFIX = ".svc.cluster.local:" + dbListenerPort + "/devpdb.k8s"; dbUrl = ORACLEDBURLPREFIX + domain2Namespace + ORACLEDBSUFFIX; createSecretForBaseImages(domain2Namespace); //Start oracleDB + logger.info("Start Oracle DB with namespace: {0}, dbListenerPort:{1}", + domain2Namespace, dbListenerPort); assertDoesNotThrow(() -> { - startOracleDB(DB_IMAGE_TO_USE_IN_SPEC, getNextFreePort(), domain2Namespace); + startOracleDB(DB_IMAGE_TO_USE_IN_SPEC, getNextFreePort(), domain2Namespace, dbListenerPort); String.format("Failed to start Oracle DB"); }); dbNodePort = getDBNodePort(domain2Namespace, "oracledb"); @@ -322,7 +326,7 @@ private static void buildApplicationsAndDomains() { assertNotEquals(-1, domain1AdminServiceNodePort, "admin server default node port is not valid"); admin2ServiceNodePort = assertDoesNotThrow( - () -> getServiceNodePort(domain2Namespace, getExternalServicePodName(domain2AdminServerPodName), "default"), + () -> getServiceNodePort(domain2Namespace, getExternalServicePodName(domain2AdminServerPodName), "default"), "Getting admin server node port failed"); assertNotEquals(-1, admin2ServiceNodePort, "admin server default node port is not valid"); } @@ -365,7 +369,7 @@ void testCrossDomainTransaction() { } } - /* + /** * This test verifies a cross-domain transaction with re-connection. * It makes sure the disitibuted transaction is completed successfully * when a coordinator server is re-started after writing to transcation log @@ -399,7 +403,7 @@ void testCrossDomainTransactionWithFailInjection() { } } - /* + /** * This test verifies cross-domain MessageDrivenBean communication * A transacted MDB on Domain D1 listen on a replicated Distributed Topic * on Domain D2. diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwBigCMMiiDomain.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwBigCMMiiDomain.java index 52a120fe770..934993d752b 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwBigCMMiiDomain.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwBigCMMiiDomain.java @@ -71,7 +71,7 @@ class ItFmwBigCMMiiDomain { private static final String RCUSCHEMAPREFIX = "jrfdomainmii"; private static final String ORACLEDBURLPREFIX = "oracledb."; - private static final String ORACLEDBSUFFIX = ".svc.cluster.local:1521/devpdb.k8s"; + private static String ORACLEDBSUFFIX = null; private static final String RCUSYSUSERNAME = "sys"; private static final String RCUSYSPASSWORD = "Oradoc_db1"; private static final String RCUSCHEMAUSERNAME = "myrcuuser"; @@ -114,6 +114,8 @@ public static void initAll(@Namespaces(3) List namespaces) { logger.info("Assign a unique namespace for DB and RCU"); assertNotNull(namespaces.get(0), "Namespace is null"); dbNamespace = namespaces.get(0); + final int dbListenerPort = getNextFreePort(); + ORACLEDBSUFFIX = ".svc.cluster.local:" + dbListenerPort + "/devpdb.k8s"; dbUrl = ORACLEDBURLPREFIX + dbNamespace + ORACLEDBSUFFIX; logger.info("Assign a unique namespace for operator"); @@ -124,13 +126,13 @@ public static void initAll(@Namespaces(3) List namespaces) { assertNotNull(namespaces.get(2), "Namespace is null"); jrfDomainNamespace = namespaces.get(2); - logger.info("Start DB and create RCU schema for namespace: {0}, RCU prefix: {1}, " - + "dbUrl: {2}, dbImage: {3}, fmwImage: {4} ", dbNamespace, RCUSCHEMAPREFIX, dbUrl, + logger.info("Start DB and create RCU schema for namespace: {0}, dbListenerPort: {1}, RCU prefix: {2}, " + + "dbUrl: {3}, dbImage: {4}, fmwImage: {5} ", dbNamespace, dbListenerPort, RCUSCHEMAPREFIX, dbUrl, DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC); assertDoesNotThrow(() -> setupDBandRCUschema(DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC, - RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl), + RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl, dbListenerPort), String.format("Failed to create RCU schema for prefix %s in the namespace %s with " - + "dbUrl %s", RCUSCHEMAPREFIX, dbNamespace, dbUrl)); + + "dbUrl %s, dbListenerPost $s", RCUSCHEMAPREFIX, dbNamespace, dbUrl, dbListenerPort)); dbNodePort = getDBNodePort(dbNamespace, "oracledb"); logger.info("DB Node Port = {0}", dbNodePort); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDomainInPVUsingWDT.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDomainInPVUsingWDT.java index f3d0e1d7119..0426eed6be9 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDomainInPVUsingWDT.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDomainInPVUsingWDT.java @@ -69,7 +69,7 @@ class ItFmwDomainInPVUsingWDT { private static final String RCUSCHEMAPREFIX = "fmwdomainpv"; private static final String ORACLEDBURLPREFIX = "oracledb."; - private static final String ORACLEDBSUFFIX = ".svc.cluster.local:1521/devpdb.k8s"; + private static String ORACLEDBSUFFIX = null; private static final String RCUSYSUSERNAME = "sys"; private static final String RCUSYSPASSWORD = "Oradoc_db1"; private static final String RCUSCHEMAUSERNAME = "myrcuuser"; @@ -112,6 +112,8 @@ public static void initAll(@Namespaces(3) List namespaces) { logger.info("Assign a unique namespace for DB and RCU"); assertNotNull(namespaces.get(0), "Namespace is null"); dbNamespace = namespaces.get(0); + final int dbListenerPort = getNextFreePort(); + ORACLEDBSUFFIX = ".svc.cluster.local:" + dbListenerPort + "/devpdb.k8s"; dbUrl = ORACLEDBURLPREFIX + dbNamespace + ORACLEDBSUFFIX; // get a new unique opNamespace @@ -125,15 +127,13 @@ public static void initAll(@Namespaces(3) List namespaces) { domainNamespace = namespaces.get(2); // start DB and create RCU schema - logger.info("Start DB and create RCU schema for namespace: {0}, RCU prefix: {1}, " - + "dbUrl: {2}, dbImage: {3}, fmwImage: {4} ", dbNamespace, RCUSCHEMAPREFIX, dbUrl, + logger.info("Start DB and create RCU schema for namespace: {0}, dbListenerPort: {1}, RCU prefix: {2}, " + + "dbUrl: {3}, dbImage: {4}, fmwImage: {5} ", dbNamespace, dbListenerPort, RCUSCHEMAPREFIX, dbUrl, DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC); assertDoesNotThrow(() -> setupDBandRCUschema(DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC, - RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl), + RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl, dbListenerPort), String.format("Failed to create RCU schema for prefix %s in the namespace %s with " - + "dbUrl %s", RCUSCHEMAPREFIX, dbNamespace, dbUrl)); - logger.info("DB image: {0}, FMW image {1} used in the test", - DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC); + + "dbUrl %s, dbListenerPost $s", RCUSCHEMAPREFIX, dbNamespace, dbUrl, dbListenerPort)); // install operator and verify its running in ready state installAndVerifyOperator(opNamespace, domainNamespace); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDomainInPVUsingWLST.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDomainInPVUsingWLST.java index b893fad6904..8f781d6b41e 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDomainInPVUsingWLST.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDomainInPVUsingWLST.java @@ -80,7 +80,7 @@ class ItFmwDomainInPVUsingWLST { private static final String RCUSCHEMAPREFIX = "jrfdomainpv"; private static final String ORACLEDBURLPREFIX = "oracledb."; - private static final String ORACLEDBSUFFIX = ".svc.cluster.local:1521/devpdb.k8s"; + private static String ORACLEDBSUFFIX = null; private static final String RCUSYSUSERNAME = "sys"; private static final String RCUSYSPASSWORD = "Oradoc_db1"; private static final String RCUSCHEMAUSERNAME = "myrcuuser"; @@ -114,6 +114,8 @@ public static void initAll(@Namespaces(3) List namespaces) { logger.info("Assign a unique namespace for DB and RCU"); assertNotNull(namespaces.get(0), "Namespace is null"); dbNamespace = namespaces.get(0); + final int dbListenerPort = getNextFreePort(); + ORACLEDBSUFFIX = ".svc.cluster.local:" + dbListenerPort + "/devpdb.k8s"; dbUrl = ORACLEDBURLPREFIX + dbNamespace + ORACLEDBSUFFIX; logger.info("Assign a unique namespace for operator"); @@ -124,13 +126,13 @@ public static void initAll(@Namespaces(3) List namespaces) { assertNotNull(namespaces.get(2), "Namespace is null"); jrfDomainNamespace = namespaces.get(2); - logger.info("Start DB and create RCU schema for namespace: {0}, RCU prefix: {1}, " - + "dbUrl: {2}, dbImage: {3}, fmwImage: {4} ", dbNamespace, RCUSCHEMAPREFIX, dbUrl, + logger.info("Start DB and create RCU schema for namespace: {0}, dbListenerPort: {1}, RCU prefix: {2}, " + + "dbUrl: {3}, dbImage: {4}, fmwImage: {5} ", dbNamespace, dbListenerPort, RCUSCHEMAPREFIX, dbUrl, DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC); assertDoesNotThrow(() -> setupDBandRCUschema(DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC, - RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl), + RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl, dbListenerPort), String.format("Failed to create RCU schema for prefix %s in the namespace %s with " - + "dbUrl %s", RCUSCHEMAPREFIX, dbNamespace, dbUrl)); + + "dbUrl %s, dbListenerPost $s", RCUSCHEMAPREFIX, dbNamespace, dbUrl, dbListenerPort)); // install operator and verify its running in ready state installAndVerifyOperator(opNamespace, jrfDomainNamespace); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDynamicClusterMiiDomain.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDynamicClusterMiiDomain.java index de9565f1453..d8aa500b4b4 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDynamicClusterMiiDomain.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDynamicClusterMiiDomain.java @@ -75,7 +75,7 @@ class ItFmwDynamicClusterMiiDomain { private static final String RCUSCHEMAPREFIX = "jrfdomainmii"; private static final String ORACLEDBURLPREFIX = "oracledb."; - private static final String ORACLEDBSUFFIX = ".svc.cluster.local:1521/devpdb.k8s"; + private static String ORACLEDBSUFFIX = null; private static final String RCUSCHEMAPASSWORD = "Oradoc_db1"; private static final String modelFile = "model-fmw-dynamicdomain.yaml"; @@ -112,6 +112,8 @@ public static void initAll(@Namespaces(3) List namespaces) { logger.info("Assign a unique namespace for DB and RCU"); assertNotNull(namespaces.get(0), "Namespace is null"); dbNamespace = namespaces.get(0); + final int dbListenerPort = getNextFreePort(); + ORACLEDBSUFFIX = ".svc.cluster.local:" + dbListenerPort + "/devpdb.k8s"; dbUrl = ORACLEDBURLPREFIX + dbNamespace + ORACLEDBSUFFIX; logger.info("Assign a unique namespace for operator"); @@ -122,13 +124,13 @@ public static void initAll(@Namespaces(3) List namespaces) { assertNotNull(namespaces.get(2), "Namespace is null"); domainNamespace = namespaces.get(2); - logger.info("Start DB and create RCU schema for namespace: {0}, RCU prefix: {1}, " - + "dbUrl: {2}, dbImage: {3}, fmwImage: {4} ", dbNamespace, RCUSCHEMAPREFIX, dbUrl, + logger.info("Start DB and create RCU schema for namespace: {0}, dbListenerPort: {1}, RCU prefix: {2}, " + + "dbUrl: {3}, dbImage: {4}, fmwImage: {5} ", dbNamespace, dbListenerPort, RCUSCHEMAPREFIX, dbUrl, DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC); assertDoesNotThrow(() -> setupDBandRCUschema(DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC, - RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl), + RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl, dbListenerPort), String.format("Failed to create RCU schema for prefix %s in the namespace %s with " - + "dbUrl %s", RCUSCHEMAPREFIX, dbNamespace, dbUrl)); + + "dbUrl %s, dbListenerPost $s", RCUSCHEMAPREFIX, dbNamespace, dbUrl, dbListenerPort)); logger.info("DB image: {0}, FMW image {1} used in the test", DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDynamicDomainInPV.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDynamicDomainInPV.java index 85c373043a9..68a26d91197 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDynamicDomainInPV.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwDynamicDomainInPV.java @@ -85,7 +85,7 @@ class ItFmwDynamicDomainInPV { private static final String RCUSCHEMAPREFIX = "fmwdomainpv"; private static final String ORACLEDBURLPREFIX = "oracledb."; - private static final String ORACLEDBSUFFIX = ".svc.cluster.local:1521/devpdb.k8s"; + private static String ORACLEDBSUFFIX = null; private static final String RCUSYSUSERNAME = "sys"; private static final String RCUSYSPASSWORD = "Oradoc_db1"; private static final String RCUSCHEMAUSERNAME = "myrcuuser"; @@ -121,6 +121,8 @@ public static void initAll(@Namespaces(3) List namespaces) { logger.info("Assign a unique namespace for DB and RCU"); assertNotNull(namespaces.get(0), "Namespace is null"); dbNamespace = namespaces.get(0); + final int dbListenerPort = getNextFreePort(); + ORACLEDBSUFFIX = ".svc.cluster.local:" + dbListenerPort + "/devpdb.k8s"; dbUrl = ORACLEDBURLPREFIX + dbNamespace + ORACLEDBSUFFIX; logger.info("Assign a unique namespace for operator1"); @@ -131,13 +133,13 @@ public static void initAll(@Namespaces(3) List namespaces) { assertNotNull(namespaces.get(2), "Namespace is null"); domainNamespace = namespaces.get(2); - logger.info("Start DB and create RCU schema for namespace: {0}, RCU prefix: {1}, " - + "dbUrl: {2}, dbImage: {3}, fmwImage: {4} ", dbNamespace, RCUSCHEMAPREFIX, dbUrl, + logger.info("Start DB and create RCU schema for namespace: {0}, dbListenerPort: {1}, RCU prefix: {2}, " + + "dbUrl: {3}, dbImage: {4}, fmwImage: {5} ", dbNamespace, dbListenerPort, RCUSCHEMAPREFIX, dbUrl, DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC); assertDoesNotThrow(() -> setupDBandRCUschema(DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC, - RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl), + RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl, dbListenerPort), String.format("Failed to create RCU schema for prefix %s in the namespace %s with " - + "dbUrl %s", RCUSCHEMAPREFIX, dbNamespace, dbUrl)); + + "dbUrl %s, dbListenerPost $s", RCUSCHEMAPREFIX, dbNamespace, dbUrl, dbListenerPort)); logger.info("DB image: {0}, FMW image {1} used in the test", DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwMiiDomain.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwMiiDomain.java index 5a7e4f367c8..48e1a5552ec 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwMiiDomain.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItFmwMiiDomain.java @@ -75,7 +75,7 @@ class ItFmwMiiDomain { private static final String RCUSCHEMAPREFIX = "FMWDOMAINMII"; private static final String ORACLEDBURLPREFIX = "oracledb."; - private static final String ORACLEDBSUFFIX = ".svc.cluster.local:1521/devpdb.k8s"; + private static String ORACLEDBSUFFIX = null; private static final String RCUSYSUSERNAME = "sys"; private static final String RCUSYSPASSWORD = "Oradoc_db1"; private static final String RCUSCHEMAUSERNAME = "myrcuuser"; @@ -118,6 +118,8 @@ public static void initAll(@Namespaces(3) List namespaces) { logger.info("Assign a unique namespace for DB and RCU"); assertNotNull(namespaces.get(0), "Namespace is null"); dbNamespace = namespaces.get(0); + final int dbListenerPort = getNextFreePort(); + ORACLEDBSUFFIX = ".svc.cluster.local:" + dbListenerPort + "/devpdb.k8s"; dbUrl = ORACLEDBURLPREFIX + dbNamespace + ORACLEDBSUFFIX; logger.info("Assign a unique namespace for operator"); @@ -128,13 +130,13 @@ public static void initAll(@Namespaces(3) List namespaces) { assertNotNull(namespaces.get(2), "Namespace is null"); fmwDomainNamespace = namespaces.get(2); - logger.info("Start DB and create RCU schema for namespace: {0}, RCU prefix: {1}, " - + "dbUrl: {2}, dbImage: {3}, fmwImage: {4} ", dbNamespace, RCUSCHEMAPREFIX, dbUrl, + logger.info("Start DB and create RCU schema for namespace: {0}, dbListenerPort: {1}, RCU prefix: {2}, " + + "dbUrl: {3}, dbImage: {4}, fmwImage: {5} ", dbNamespace, dbListenerPort, RCUSCHEMAPREFIX, dbUrl, DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC); assertDoesNotThrow(() -> setupDBandRCUschema(DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC, - RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl), + RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl, dbListenerPort), String.format("Failed to create RCU schema for prefix %s in the namespace %s with " - + "dbUrl %s", RCUSCHEMAPREFIX, dbNamespace, dbUrl)); + + "dbUrl %s, dbListenerPost $s", RCUSCHEMAPREFIX, dbNamespace, dbUrl, dbListenerPort)); // install operator and verify its running in ready state installAndVerifyOperator(opNamespace, fmwDomainNamespace); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIstioCrossClusters.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIstioCrossClusters.java index 1f24cda66ff..18f731208f2 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIstioCrossClusters.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIstioCrossClusters.java @@ -107,7 +107,7 @@ class ItIstioCrossClusters { private final String domain1ManagedServerPrefix = domainUid1 + "-managed-server"; private final String domain2ManagedServerPrefix = domainUid2 + "-managed-server"; private static final String ORACLEDBURLPREFIX = "oracledb."; - private static final String ORACLEDBSUFFIX = ".svc.cluster.local:1521/devpdb.k8s"; + private static String ORACLEDBSUFFIX = null; private static LoggingFacade logger = null; static String dbUrl; @@ -153,12 +153,14 @@ public static void initAll(@Namespaces(3) List namespaces) { assertNotNull(namespaces.get(2), "Namespace list is null"); domain2Namespace = namespaces.get(2); + final int dbListenerPort = getNextFreePort(); + ORACLEDBSUFFIX = ".svc.cluster.local:" + dbListenerPort + "/devpdb.k8s"; dbUrl = ORACLEDBURLPREFIX + domain2Namespace + ORACLEDBSUFFIX; createSecretForBaseImages(domain2Namespace); //Start oracleDB assertDoesNotThrow(() -> { - startOracleDB(DB_IMAGE_TO_USE_IN_SPEC, getNextFreePort(), domain2Namespace); + startOracleDB(DB_IMAGE_TO_USE_IN_SPEC, getNextFreePort(), domain2Namespace, dbListenerPort); String.format("Failed to start Oracle DB"); }); dbNodePort = getDBNodePort(domain2Namespace, "oracledb"); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIstioCrossDomainTransaction.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIstioCrossDomainTransaction.java index 713bace3a9d..1dcf1804df2 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIstioCrossDomainTransaction.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItIstioCrossDomainTransaction.java @@ -115,7 +115,7 @@ class ItIstioCrossDomainTransaction { private final String domain2ManagedServerPrefix = domainUid2 + "-managed-server"; private static String clusterName = "cluster-1"; private static final String ORACLEDBURLPREFIX = "oracledb."; - private static final String ORACLEDBSUFFIX = ".svc.cluster.local:1521/devpdb.k8s"; + private static String ORACLEDBSUFFIX = null; private static LoggingFacade logger = null; static String dbUrl; static int dbNodePort; @@ -146,12 +146,14 @@ public static void initAll(@Namespaces(3) List namespaces) { assertNotNull(namespaces.get(2), "Namespace list is null"); domain2Namespace = namespaces.get(2); + final int dbListenerPort = getNextFreePort(); + ORACLEDBSUFFIX = ".svc.cluster.local:" + dbListenerPort + "/devpdb.k8s"; dbUrl = ORACLEDBURLPREFIX + domain2Namespace + ORACLEDBSUFFIX; createSecretForBaseImages(domain2Namespace); //Start oracleDB assertDoesNotThrow(() -> { - startOracleDB(DB_IMAGE_TO_USE_IN_SPEC, getNextFreePort(), domain2Namespace); + startOracleDB(DB_IMAGE_TO_USE_IN_SPEC, getNextFreePort(), domain2Namespace, dbListenerPort); String.format("Failed to start Oracle DB"); }); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiServiceMigration.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiServiceMigration.java index 3f2592a652d..32ec27d04cd 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiServiceMigration.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiServiceMigration.java @@ -136,8 +136,11 @@ public static void initAll(@Namespaces(2) List namespaces) { createOcirRepoSecret(domainNamespace); //Start oracleDB + final int dbListenerPort = getNextFreePort(); + logger.info("Start Oracle DB with namespace: {0}, dbListenerPort:{1}", + domainNamespace, dbListenerPort); assertDoesNotThrow(() -> { - startOracleDB(DB_IMAGE_TO_USE_IN_SPEC, getNextFreePort(), domainNamespace); + startOracleDB(DB_IMAGE_TO_USE_IN_SPEC, getNextFreePort(), domainNamespace, dbListenerPort); String.format("Failed to start Oracle Database Service"); }); dbNodePort = getDBNodePort(domainNamespace, "oracledb"); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItOpUpgradeFmwDomainInPV.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItOpUpgradeFmwDomainInPV.java index 1a25c5a2cf8..78799d82b1e 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItOpUpgradeFmwDomainInPV.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/ItOpUpgradeFmwDomainInPV.java @@ -110,7 +110,7 @@ class ItOpUpgradeFmwDomainInPV { private static final String RCUSCHEMAPREFIX = "fmwdomainpv"; private static final String ORACLEDBURLPREFIX = "oracledb."; - private static final String ORACLEDBSUFFIX = ".svc.cluster.local:1521/devpdb.k8s"; + private static String ORACLEDBSUFFIX = null; private static final String RCUSYSUSERNAME = "sys"; private static final String RCUSYSPASSWORD = "Oradoc_db1"; private static final String RCUSCHEMAUSERNAME = "myrcuuser"; @@ -166,6 +166,8 @@ public void beforeEach(@Namespaces(4) List namespaces) { logger.info("Assign a unique namespace for DB and RCU"); assertNotNull(namespaces.get(0), "Namespace is null"); dbNamespace = namespaces.get(0); + final int dbListenerPort = getNextFreePort(); + ORACLEDBSUFFIX = ".svc.cluster.local:" + dbListenerPort + "/devpdb.k8s"; dbUrl = ORACLEDBURLPREFIX + dbNamespace + ORACLEDBSUFFIX; logger.info("Assign a unique namespace for operator1"); @@ -180,13 +182,13 @@ public void beforeEach(@Namespaces(4) List namespaces) { assertNotNull(namespaces.get(3), "Namespace is null"); domainNamespace = namespaces.get(3); - logger.info("Start DB and create RCU schema for namespace: {0}, RCU prefix: {1}, " - + "dbUrl: {2}, dbImage: {3}, fmwImage: {4} ", dbNamespace, RCUSCHEMAPREFIX, dbUrl, + logger.info("Start DB and create RCU schema for namespace: {0}, dbListenerPort: {1}, RCU prefix: {2}, " + + "dbUrl: {3}, dbImage: {4}, fmwImage: {5} ", dbNamespace, dbListenerPort, RCUSCHEMAPREFIX, dbUrl, DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC); assertDoesNotThrow(() -> setupDBandRCUschema(DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC, - RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl), + RCUSCHEMAPREFIX, dbNamespace, getNextFreePort(), dbUrl, dbListenerPort), String.format("Failed to create RCU schema for prefix %s in the namespace %s with " - + "dbUrl %s", RCUSCHEMAPREFIX, dbNamespace, dbUrl)); + + "dbUrl %s, dbListenerPost $s", RCUSCHEMAPREFIX, dbNamespace, dbUrl, dbListenerPort)); logger.info("DB image: {0}, FMW image {1} used in the test", DB_IMAGE_TO_USE_IN_SPEC, FMWINFRA_IMAGE_TO_USE_IN_SPEC); diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/DbUtils.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/DbUtils.java index ab938bc1f75..74ee4debd5c 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/DbUtils.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/DbUtils.java @@ -95,16 +95,15 @@ public class DbUtils { */ public static synchronized void setupDBandRCUschema(String dbImage, String fmwImage, String rcuSchemaPrefix, - String dbNamespace, - int dbPort, String dbUrl) throws ApiException { + String dbNamespace, int dbPort, String dbUrl, int dbListenerPort) throws ApiException { LoggingFacade logger = getLogger(); // create pull secrets when running in non Kind Kubernetes cluster // this secret is used only for non-kind cluster createSecretForBaseImages(dbNamespace); - logger.info("Start Oracle DB with dbImage: {0}, dbPort: {1}, dbNamespace: {2}", - dbImage, dbPort, dbNamespace); - startOracleDB(dbImage, dbPort, dbNamespace); + logger.info("Start Oracle DB with dbImage: {0}, dbPort: {1}, dbNamespace: {2}, dbListenerPort:{3}", + dbImage, dbPort, dbNamespace, dbListenerPort); + startOracleDB(dbImage, dbPort, dbNamespace, dbListenerPort); logger.info("Create RCU schema with fmwImage: {0}, rcuSchemaPrefix: {1}, dbUrl: {2}, " + " dbNamespace: {3}:", fmwImage, rcuSchemaPrefix, dbUrl, dbNamespace); createRcuSchema(fmwImage, rcuSchemaPrefix, dbUrl, dbNamespace); @@ -117,9 +116,10 @@ public static synchronized void setupDBandRCUschema(String dbImage, String fmwIm * @param dbBaseImageName full image name for DB deployment * @param dbPort NodePort of DB * @param dbNamespace namespace where DB instance is going to start + * @param dbListenerPort TCP listener port of DB */ - public static synchronized void startOracleDB(String dbBaseImageName, int dbPort, String dbNamespace) - throws ApiException { + public static synchronized void startOracleDB(String dbBaseImageName, int dbPort, String dbNamespace, + int dbListenerPort) throws ApiException { LoggingFacade logger = getLogger(); Map labels = new HashMap(); labels.put("app", "database"); @@ -144,7 +144,7 @@ public static synchronized void startOracleDB(String dbBaseImageName, int dbPort .ports(Arrays.asList( new V1ServicePort() .name("tns") - .port(1521) + .port(dbListenerPort) .protocol("TCP") .targetPort(new IntOrString(1521)) .nodePort(dbPort))) @@ -152,15 +152,17 @@ public static synchronized void startOracleDB(String dbBaseImageName, int dbPort .sessionAffinity("None") .type("LoadBalancer")); - logger.info("Create service for Oracle DB service in namespace {0}", dbNamespace); + logger.info("Create service for Oracle DB service in namespace {0}, dbListenerPort: {1}", dbNamespace, + dbListenerPort); boolean serviceCreated = assertDoesNotThrow(() -> Kubernetes.createService(oracleDBService), String.format("Create service failed with ApiException for oracleDBService in namespace %s", dbNamespace)); assertTrue(serviceCreated, String.format( - "Create service failed for OracleDbService in namespace %s ", dbNamespace)); + "Create service failed for OracleDbService in namespace %s dbListenerPort %s ", dbNamespace, dbListenerPort)); //create V1Deployment for Oracle DB - logger.info("Configure V1Deployment in namespace {0} using image {1}", dbNamespace, dbBaseImageName); + logger.info("Configure V1Deployment in namespace {0} using image {1} dbListenerPort {2}", dbNamespace, + dbBaseImageName, dbListenerPort); oracleDbDepl = new V1Deployment() .apiVersion("apps/v1") .kind("Deployment") @@ -192,10 +194,10 @@ public static synchronized void startOracleDB(String dbBaseImageName, int dbPort .name("oracledb") .ports(Arrays.asList( new V1ContainerPort() - .containerPort(1521) + .containerPort(dbListenerPort) .name("tns") .protocol("TCP") - .hostPort(1521))) + .hostPort(dbListenerPort))) .resources(new V1ResourceRequirements() .limits(limits) .requests(requests)) @@ -209,14 +211,14 @@ public static synchronized void startOracleDB(String dbBaseImageName, int dbPort new V1LocalObjectReference() .name(BASE_IMAGES_REPO_SECRET)))))); - logger.info("Create deployment for Oracle DB in namespace {0}", - dbNamespace); + logger.info("Create deployment for Oracle DB in namespace {0} dbListenerPost {1}", + dbNamespace, dbListenerPort); boolean deploymentCreated = assertDoesNotThrow(() -> Kubernetes.createDeployment(oracleDbDepl), String.format("Create deployment failed with ApiException for Oracle DB in namespace %s", dbNamespace)); assertTrue(deploymentCreated, String.format( - "Create deployment failed for oracleDbDepl in namespace %s ", - dbNamespace)); + "Create deployment failed for oracleDbDepl in namespace %s dbListenerPort %s", + dbNamespace, dbListenerPort)); // sleep for a while to make sure the DB pod is created try { @@ -261,11 +263,14 @@ public static synchronized void startOracleDB(String dbBaseImageName, int dbPort public static synchronized void createRcuSchema(String fmwBaseImageName, String rcuPrefix, String dbUrl, String dbNamespace) throws ApiException { LoggingFacade logger = getLogger(); - logger.info("Create RCU pod for RCU prefix {0}", rcuPrefix); + logger.info("Create RCU pod for for namespace: {0}, RCU prefix: {1}, " + + "dbUrl: {2}, fmwImage: {3} ", dbNamespace, rcuPrefix, dbUrl, fmwBaseImageName); assertDoesNotThrow(() -> createRcuPod(fmwBaseImageName, dbUrl, dbNamespace), String.format("Creating RCU pod failed with ApiException for image: %s, rcuPrefix: %s, dbUrl: %s, " + "in namespace: %s", fmwBaseImageName, rcuPrefix, dbUrl, dbNamespace)); + logger.info("createRcuRepository for dbNamespace: {0}, dbUrl: {1}, RCU prefix: {2} ", + dbNamespace, dbUrl, rcuPrefix); assertTrue(assertDoesNotThrow( () -> createRcuRepository(dbNamespace, dbUrl, rcuPrefix), String.format("createRcuRepository failed for dbNamespace: %s, dbUrl: %s, rcuPrefix: %s",