1313import javax .annotation .Nonnull ;
1414
1515import io .kubernetes .client .custom .V1Patch ;
16+ import io .kubernetes .client .openapi .ApiException ;
1617import io .kubernetes .client .openapi .models .V1EnvVar ;
1718import io .kubernetes .client .openapi .models .V1LocalObjectReference ;
1819import io .kubernetes .client .openapi .models .V1ObjectMeta ;
2930import oracle .weblogic .domain .Model ;
3031import oracle .weblogic .domain .ServerPod ;
3132import oracle .weblogic .domain .ServerService ;
32- import oracle .weblogic .kubernetes .actions .impl .primitive .Kubernetes ;
3333import oracle .weblogic .kubernetes .annotations .IntegrationTest ;
3434import oracle .weblogic .kubernetes .annotations .Namespaces ;
3535import oracle .weblogic .kubernetes .logging .LoggingFacade ;
4848import static oracle .weblogic .kubernetes .TestConstants .BASE_IMAGES_REPO ;
4949import static oracle .weblogic .kubernetes .TestConstants .BASE_IMAGES_REPO_SECRET_NAME ;
5050import static oracle .weblogic .kubernetes .TestConstants .CLUSTER_VERSION ;
51- import static oracle .weblogic .kubernetes .TestConstants .DB_IMAGE_TO_USE_IN_SPEC ;
5251import static oracle .weblogic .kubernetes .TestConstants .DOMAIN_API_VERSION ;
5352import static oracle .weblogic .kubernetes .TestConstants .DOMAIN_STATUS_CONDITION_AVAILABLE_TYPE ;
5453import static oracle .weblogic .kubernetes .TestConstants .DOMAIN_STATUS_CONDITION_COMPLETED_TYPE ;
8483import static oracle .weblogic .kubernetes .utils .ConfigMapUtils .configMapExist ;
8584import static oracle .weblogic .kubernetes .utils .ConfigMapUtils .createConfigMapAndVerify ;
8685import static oracle .weblogic .kubernetes .utils .ConfigMapUtils .createConfigMapFromFiles ;
86+ import static oracle .weblogic .kubernetes .utils .DbUtils .createOracleDBUsingOperator ;
8787import static oracle .weblogic .kubernetes .utils .DbUtils .createRcuAccessSecret ;
88- import static oracle .weblogic .kubernetes .utils .DbUtils .setupDBandRCUschema ;
88+ import static oracle .weblogic .kubernetes .utils .DbUtils .createRcuSchema ;
89+ import static oracle .weblogic .kubernetes .utils .DbUtils .deleteOracleDB ;
8990import static oracle .weblogic .kubernetes .utils .DomainUtils .checkDomainStatusConditionTypeExists ;
9091import static oracle .weblogic .kubernetes .utils .DomainUtils .checkDomainStatusConditionTypeHasExpectedStatus ;
9192import static oracle .weblogic .kubernetes .utils .DomainUtils .checkServerStatusPodPhaseAndPodReady ;
@@ -734,24 +735,21 @@ void testMSBootFailureStatus() {
734735
735736 String rcuaccessSecretName = domainName + "-rcu-access" ;
736737 String opsswalletpassSecretName = domainName + "-opss-wallet-password-secret" ;
738+ String rcuSysPassword = "Oradoc_db1" ;
739+ String dbName = domainName + "my-oracle-db" ;
737740
738- logger .info ("Start DB and create RCU schema for namespace: {0}, dbListenerPort: {1}, RCU prefix: {2}, "
739- + "dbUrl: {3}, dbImage: {4}, fmwImage: {5} " , domainNamespace , dbListenerPort , rcuSchemaPrefix , dbUrl ,
740- DB_IMAGE_TO_USE_IN_SPEC , FMWINFRA_IMAGE_TO_USE_IN_SPEC );
741- assertDoesNotThrow (() -> setupDBandRCUschema ( DB_IMAGE_TO_USE_IN_SPEC , FMWINFRA_IMAGE_TO_USE_IN_SPEC ,
742- rcuSchemaPrefix , domainNamespace , getNextFreePort () , dbUrl , dbListenerPort ),
743- String . format ( "Failed to create RCU schema for prefix %s in the namespace %s with "
744- + "dbUrl %s, dbListenerPost %s" , rcuSchemaPrefix , domainNamespace , dbUrl , dbListenerPort ) );
741+ logger .info ("Create Oracle DB in namespace: {0} " , domainNamespace );
742+ createBaseRepoSecret ( domainNamespace );
743+ dbUrl = assertDoesNotThrow (() -> createOracleDBUsingOperator ( dbName , rcuSysPassword , domainNamespace ) );
744+
745+ logger . info ( "Create RCU schema with fmwImage: {0}, rcuSchemaPrefix: {1} , dbUrl: {2}, "
746+ + " dbNamespace: {3}" , FMWINFRA_IMAGE_TO_USE_IN_SPEC , rcuSchemaPrefix , dbUrl , domainNamespace );
747+ createRcuSchema ( FMWINFRA_IMAGE_TO_USE_IN_SPEC , rcuSchemaPrefix , dbUrl , domainNamespace );
745748
746749 // create RCU access secret
747750 logger .info ("Creating RCU access secret: {0}, with prefix: {1}, dbUrl: {2}, schemapassword: {3})" ,
748751 rcuaccessSecretName , rcuSchemaPrefix , rcuSchemaPassword , dbUrl );
749- assertDoesNotThrow (() -> createRcuAccessSecret (rcuaccessSecretName ,
750- domainNamespace ,
751- rcuSchemaPrefix ,
752- rcuSchemaPassword ,
753- dbUrl ),
754- String .format ("createSecret failed for %s" , rcuaccessSecretName ));
752+ createRcuAccessSecret (rcuaccessSecretName , domainNamespace , rcuSchemaPrefix , rcuSchemaPassword , dbUrl );
755753
756754 logger .info ("Create OPSS wallet password secret" );
757755 assertDoesNotThrow (() -> createOpsswalletpasswordSecret (
@@ -823,12 +821,7 @@ rcuSchemaPrefix, domainNamespace, getNextFreePort(), dbUrl, dbListenerPort),
823821 }
824822
825823 // delete Oracle database
826- String dbPodName = "oracledb" ;
827- assertDoesNotThrow (() -> Kubernetes .deleteDeployment (domainNamespace , "oracledb" ),
828- "deleting oracle db failed" );
829-
830- logger .info ("Wait for the oracle Db pod: {0} to be deleted in namespace {1}" , dbPodName , domainNamespace );
831- PodUtils .checkPodDeleted (dbPodName , null , domainNamespace );
824+ deleteOracleDB (domainNamespace , dbName );
832825
833826 patchStr
834827 = "[{\" op\" : \" replace\" , \" path\" : \" /spec/serverStartPolicy\" , \" value\" : \" IfNeeded\" }]" ;
@@ -848,6 +841,8 @@ rcuSchemaPrefix, domainNamespace, getNextFreePort(), dbUrl, dbListenerPort),
848841 checkServerStatusPodPhaseAndPodReady (domainName , domainNamespace , managedServerName , "Running" , "False" );
849842 }
850843 testPassed = true ;
844+ } catch (ApiException ex ) {
845+ logger .severe (ex .getLocalizedMessage ());
851846 } finally {
852847 if (!testPassed ) {
853848 LoggingUtil .generateLog (this , ns );
0 commit comments