Skip to content

Commit 5f6bac8

Browse files
committed
Merge branch 'post-rcu-create-hook' into 'main'
first pass at adding post RCU hook See merge request weblogic-cloud/weblogic-deploy-tooling!1517
2 parents 0940cd5 + b064e9c commit 5f6bac8

File tree

5 files changed

+121
-51
lines changed

5 files changed

+121
-51
lines changed

core/src/main/java/oracle/weblogic/deploy/create/PostCreateDomainScriptRunner.java renamed to core/src/main/java/oracle/weblogic/deploy/create/CreateDomainLifecycleHookScriptRunner.java

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,29 @@
2020
import static oracle.weblogic.deploy.create.ValidationUtils.validateExistingExecutableFile;
2121
import static oracle.weblogic.deploy.create.ValidationUtils.validateNonEmptyString;
2222

23-
public class PostCreateDomainScriptRunner {
24-
private static final String CLASS = PostCreateDomainScriptRunner.class.getName();
23+
public class CreateDomainLifecycleHookScriptRunner {
24+
private static final String CLASS = CreateDomainLifecycleHookScriptRunner.class.getName();
2525
private static final PlatformLogger LOGGER = WLSDeployLogFactory.getLogger("wlsdeploy.create");
2626
private static final List<String> EMPTY_STRING_LIST = Collections.emptyList();
2727

28+
private final String scriptType;
29+
private final String scriptLogBasenameDefault;
2830
private final File scriptFile;
2931
private final File javaHome;
3032
private final File oracleHome;
3133
private final File domainHome;
3234
private final String domainName;
3335
private Map<String, String> environmentVariables;
34-
public PostCreateDomainScriptRunner(String scriptFileName, String javaHome, String oracleHome, String domainHome,
35-
String domainName) throws CreateException {
36+
public CreateDomainLifecycleHookScriptRunner(String scriptType, String scriptLogBasenameDefault,
37+
String scriptFileName, String javaHome, String oracleHome,
38+
String domainHome, String domainName) throws CreateException {
3639
final String METHOD = "<init>";
37-
LOGGER.entering(CLASS, METHOD, scriptFileName, javaHome, oracleHome, domainHome, domainName);
40+
LOGGER.entering(CLASS, METHOD, scriptType, scriptLogBasenameDefault, scriptFileName, javaHome, oracleHome,
41+
domainHome, domainName);
3842

39-
this.scriptFile = validateExistingExecutableFile(scriptFileName, "Post Create Domain Script");
43+
this.scriptType = validateNonEmptyString(scriptType, "script type");
44+
this.scriptLogBasenameDefault = validateNonEmptyString(scriptType, "script log file basename default");
45+
this.scriptFile = validateExistingExecutableFile(scriptFileName, scriptType);
4046
this.javaHome = validateExistingDirectory(javaHome, "JAVA_HOME");
4147
this.oracleHome = validateExistingDirectory(oracleHome, "ORACLE_HOME");
4248
this.domainHome = validateExistingDirectory(domainHome, "DOMAIN_HOME");
@@ -51,22 +57,22 @@ public void runScript() throws CreateException {
5157
LOGGER.entering(CLASS, METHOD);
5258

5359
String[] fileComponents = FileUtils.parseFileName(this.scriptFile);
54-
String logFileBaseName = fileComponents.length > 0 ? fileComponents[0] : "postCreateDomainScript";
60+
String logFileBaseName = fileComponents.length > 0 ? fileComponents[0] : scriptLogBasenameDefault;
5561
ScriptRunner runner = new ScriptRunner(this.environmentVariables, logFileBaseName);
5662

5763
int exitCode;
5864
try {
5965
exitCode = runner.executeScript(this.scriptFile, EMPTY_STRING_LIST);
6066
} catch (ScriptRunnerException sre) {
61-
CreateException ce = new CreateException("WLSDPLY-12001", sre, CLASS, this.scriptFile.getAbsolutePath(),
62-
sre.getLocalizedMessage());
67+
CreateException ce = new CreateException("WLSDPLY-12013", sre, CLASS, this.scriptFile.getAbsolutePath(),
68+
this.scriptType, sre.getLocalizedMessage());
6369
LOGGER.throwing(CLASS, METHOD, ce);
6470
throw ce;
6571
}
6672

6773
if (exitCode != 0) {
68-
CreateException ce = new CreateException("WLSDPLY-12014", this.scriptFile.getAbsolutePath(), exitCode,
69-
runner.getStdoutFileName());
74+
CreateException ce = new CreateException("WLSDPLY-12012", this.scriptType,
75+
this.scriptFile.getAbsolutePath(), exitCode, runner.getStdoutFileName());
7076
LOGGER.throwing(CLASS, METHOD, ce);
7177
throw ce;
7278
}

core/src/main/java/oracle/weblogic/deploy/create/RCURunner.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ public void runRcu(String rcuSysPass, String rcuSchemaPass, boolean disableRcuDr
283283
}
284284
if (exitCode != 0) {
285285
if (disableRcuDropSchema && isSchemaAlreadyExistsError(runner)) {
286-
CreateException ce = new CreateException("WLSDPLY-12015", CLASS, rcuPrefix, runner.getStdoutFileName());
286+
CreateException ce = new CreateException("WLSDPLY-12010", CLASS, rcuPrefix, runner.getStdoutFileName());
287287
LOGGER.throwing(CLASS, METHOD, ce);
288288
throw ce;
289289
} else {

core/src/main/python/wlsdeploy/tool/create/domain_creator.py

Lines changed: 29 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from java.lang import IllegalArgumentException
1111
from java.util import Properties
1212

13-
from oracle.weblogic.deploy.create import PostCreateDomainScriptRunner
13+
from oracle.weblogic.deploy.create import CreateDomainLifecycleHookScriptRunner
1414
from oracle.weblogic.deploy.create import RCURunner
1515
from oracle.weblogic.deploy.util import FileUtils
1616
from wlsdeploy.aliases.location_context import LocationContext
@@ -89,6 +89,8 @@
8989
from wlsdeploy.tool.create import ssl_helper
9090
from wlsdeploy.tool.create import rcudbinfo_helper
9191
from wlsdeploy.tool.create.creator import Creator
92+
from wlsdeploy.tool.create.domain_typedef import POST_CREATE_DOMAIN_LIFECYCLE_HOOK
93+
from wlsdeploy.tool.create.domain_typedef import POST_CREATE_RCU_SCHEMAS_LIFECYCLE_HOOK
9294
from wlsdeploy.tool.create.security_provider_creator import SecurityProviderCreator
9395
from wlsdeploy.tool.create.wlsroles_helper import WLSRoles
9496
from wlsdeploy.tool.deploy import deployer_utils
@@ -111,6 +113,9 @@
111113

112114
import wlsdeploy.util.unicode_helper as str_helper
113115

116+
POST_CREATE_RCU_SCHEMA_LOG_BASENAME = 'postCreateRcuSchemasScript'
117+
POST_CREATE_DOMAIN_LOG_BASENAME = 'postCreateDomainScript'
118+
114119
class DomainCreator(Creator):
115120
"""
116121
The class that driver domain creation.
@@ -372,6 +377,7 @@ def __run_rcu(self):
372377

373378
disable_rcu_drop_schema = self.model_context.get_model_config().get_disable_rcu_drop_schema() == 'true'
374379
runner.runRcu(rcu_sys_pass, rcu_schema_pass, disable_rcu_drop_schema)
380+
self.__run_post_create_rcu_schemas_script()
375381
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
376382

377383
def _set_rcu_ssl_args_properties(self, ssl_conn_properties, rcu_db_info, keystore, keystore_type, truststore,
@@ -400,6 +406,23 @@ def _set_rcu_ssl_args_properties(self, ssl_conn_properties, rcu_db_info, keystor
400406
DRIVER_PARAMS_TRUSTSTORE_PROPERTY)
401407
raise ex
402408

409+
def __run_post_create_rcu_schemas_script(self):
410+
_method_name = '__run_post_create_rcu_schemas_script'
411+
412+
self.logger.entering(self.__class_name, _method_name)
413+
script = self._domain_typedef.get_post_create_rcu_schemas_script()
414+
if script is None:
415+
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
416+
return
417+
418+
java_home = self.model_context.get_java_home()
419+
oracle_home = self.model_context.get_oracle_home()
420+
runner = CreateDomainLifecycleHookScriptRunner(POST_CREATE_RCU_SCHEMAS_LIFECYCLE_HOOK,
421+
POST_CREATE_RCU_SCHEMA_LOG_BASENAME, script, java_home,
422+
oracle_home, self._domain_home, self._domain_name)
423+
runner.runScript()
424+
self.logger.info('WLSDPLY-12577', script, class_name=self.__class_name, method_name=_method_name)
425+
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
403426

404427
def __fail_mt_1221_domain_creation(self):
405428
"""
@@ -488,7 +511,6 @@ def __deploy_resources_and_apps(self):
488511
self.logger.entering(class_name=self.__class_name, method_name=_method_name)
489512
model_deployer.deploy_resources_and_apps_for_create(self.model, self.model_context, self.aliases)
490513
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
491-
return
492514

493515
def __create_base_domain(self, domain_home):
494516
"""
@@ -512,7 +534,6 @@ def __create_base_domain(self, domain_home):
512534
self.wlst_helper.close_template()
513535
self.wlst_helper.read_domain(domain_home)
514536
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
515-
return
516537

517538
def __extend_domain(self, domain_home):
518539
"""
@@ -572,7 +593,6 @@ def __extend_domain(self, domain_home):
572593
# known issue
573594
self.__apply_base_domain_config(topology_folder_list, delete=True)
574595
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
575-
return
576596

577597
def __create_base_domain_with_select_template(self, domain_home):
578598
"""
@@ -596,7 +616,6 @@ def __create_base_domain_with_select_template(self, domain_home):
596616
self.wlst_helper.select_template(base_template)
597617

598618
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
599-
return
600619

601620
def __extend_domain_with_select_template(self, domain_home):
602621
"""
@@ -676,7 +695,6 @@ def __extend_domain_with_select_template(self, domain_home):
676695
self.__create_security_folder()
677696

678697
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
679-
return
680698

681699
def __set_server_groups(self):
682700
_method_name = '__set_server_groups'
@@ -741,7 +759,6 @@ def __apply_base_domain_config(self, topology_folder_list, delete=True):
741759
self._reset_fmw_template_data_source_defaults_from_model()
742760

743761
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
744-
return
745762

746763
def _reset_fmw_template_data_source_defaults_from_model(self):
747764
# Go through the model to find any FMW data sources to override the defaults
@@ -841,7 +858,6 @@ def __create_log_filters(self, location):
841858
if len(log_filter_nodes) > 0:
842859
self._create_named_mbeans(LOG_FILTER, log_filter_nodes, location, log_created=True)
843860
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
844-
return
845861

846862
def __create_reliable_delivery_policy(self, location):
847863
"""
@@ -857,7 +873,6 @@ def __create_reliable_delivery_policy(self, location):
857873
if len(policy_nodes) > 0:
858874
self._create_named_mbeans(WS_RELIABLE_DELIVERY_POLICY, policy_nodes, location, log_created=True)
859875
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
860-
return
861876

862877
def __create_xml_entity_cache(self, location):
863878
"""
@@ -873,7 +888,6 @@ def __create_xml_entity_cache(self, location):
873888
if len(cache_nodes) > 0:
874889
self._create_named_mbeans(XML_ENTITY_CACHE, cache_nodes, location, log_created=True)
875890
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
876-
return
877891

878892
def __create_xml_registry(self, location):
879893
"""
@@ -889,7 +903,6 @@ def __create_xml_registry(self, location):
889903
if len(registry_nodes) > 0:
890904
self._create_named_mbeans(XML_REGISTRY, registry_nodes, location, log_created=True)
891905
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
892-
return
893906

894907
def __create_ws_security(self, location):
895908
"""
@@ -903,7 +916,6 @@ def __create_ws_security(self, location):
903916
if len(ws_security) > 0:
904917
self._create_named_mbeans(WEB_SERVICE_SECURITY, ws_security, location, log_created=True)
905918
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
906-
return
907919

908920
def __create_machines(self, location, delete_now=True):
909921
"""
@@ -923,7 +935,6 @@ def __create_machines(self, location, delete_now=True):
923935
self._create_named_mbeans(UNIX_MACHINE, unix_machine_nodes, location, log_created=True,
924936
delete_now=delete_now)
925937
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
926-
return
927938

928939
def __create_machines_clusters_and_servers(self, delete_now=True):
929940
"""
@@ -989,7 +1000,6 @@ def __create_machines_clusters_and_servers(self, delete_now=True):
9891000
self.__create_migratable_targets(location, delete_now=delete_now)
9901001

9911002
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
992-
return
9931003

9941004
def __create_migratable_targets(self, location, delete_now=True):
9951005
"""
@@ -1008,7 +1018,6 @@ def __create_migratable_targets(self, location, delete_now=True):
10081018
delete_now=delete_now)
10091019

10101020
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
1011-
return
10121021

10131022
def __create_other_domain_artifacts(self, location, mbean_type_list):
10141023
"""
@@ -1031,7 +1040,6 @@ def __create_other_domain_artifacts(self, location, mbean_type_list):
10311040
self._create_mbean(mbean_type, mbean_nodes, location, log_created=True)
10321041

10331042
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
1034-
return
10351043

10361044
def __set_connection_property_info(self, root_location, property_name, property_value, info_bucket, encrypted=False):
10371045
p = self.__set_connection_property(root_location, property_name, property_value, encrypted)
@@ -1191,15 +1199,6 @@ def __configure_fmw_infra_database(self):
11911199
self.__set_rcu_datasource_parameters_without_shadow_table(rcu_db_info)
11921200

11931201
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
1194-
return
1195-
1196-
1197-
def __rcudb_info_in_model(self):
1198-
model = self.model.get_model()
1199-
if (DOMAIN_INFO in model and RCU_DB_INFO in model[DOMAIN_INFO]):
1200-
return True
1201-
else:
1202-
return False
12031202

12041203
def __set_rcu_datasource_parameters_without_shadow_table(self, rcu_db_info):
12051204
"""
@@ -1275,9 +1274,8 @@ def __set_datasource_url(self, datasource_name, url_string):
12751274

12761275
def __get_store_path(self, tns_admin, store):
12771276
result = store
1278-
if not os.path.isabs(store):
1279-
if tns_admin:
1280-
result = tns_admin + os.sep + store
1277+
if (not os.path.isabs(store)) and tns_admin:
1278+
result = tns_admin + os.sep + store
12811279
return result
12821280

12831281
def __set_ssl_standard_conn_properties(self, datasource_name, tns_admin, truststore, truststore_pwd,
@@ -1365,7 +1363,6 @@ def __set_app_dir(self):
13651363
self.wlst_helper.set_option_if_needed(SET_OPTION_APP_DIR, app_dir)
13661364

13671365
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
1368-
return
13691366

13701367
def __enable_jms_db_persistence_if_set(self):
13711368
"""
@@ -1384,7 +1381,6 @@ def __enable_jms_db_persistence_if_set(self):
13841381
self.wlst_helper.enable_jms_store_db_persistence(enable_jms_db)
13851382

13861383
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
1387-
return
13881384

13891385
def __enable_jta_tlog_db_persistence_if_set(self):
13901386
"""
@@ -1404,7 +1400,6 @@ def __enable_jta_tlog_db_persistence_if_set(self):
14041400

14051401

14061402
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
1407-
return
14081403

14091404
def __set_domain_name(self):
14101405
_method_name = '__set_domain_name'
@@ -1426,7 +1421,6 @@ def __set_domain_name(self):
14261421
self.wlst_helper.set_if_needed(DOMAIN_NAME, self._domain_name)
14271422
self.logger.info('WLSDPLY-12227', self.__default_domain_name, self._domain_name,
14281423
class_name=self.__class_name, method_name=_method_name)
1429-
return
14301424

14311425
def __set_admin_password(self):
14321426
"""
@@ -1465,7 +1459,6 @@ def __set_admin_password(self):
14651459
model.get_model_domain_info_key())
14661460
self.logger.throwing(ex, class_name=self.__class_name, method_name=_method_name)
14671461
raise ex
1468-
return
14691462

14701463
def __set_admin_server_name(self):
14711464
"""
@@ -1602,7 +1595,9 @@ def __run_post_create_domain_script(self):
16021595

16031596
java_home = self.model_context.get_java_home()
16041597
oracle_home = self.model_context.get_oracle_home()
1605-
runner = PostCreateDomainScriptRunner(script, java_home, oracle_home, self._domain_home, self._domain_name)
1598+
runner = CreateDomainLifecycleHookScriptRunner(POST_CREATE_DOMAIN_LIFECYCLE_HOOK,
1599+
POST_CREATE_DOMAIN_LOG_BASENAME, script, java_home, oracle_home,
1600+
self._domain_home, self._domain_name)
16061601
runner.runScript()
16071602
self.logger.info('WLSDPLY-12576', script, class_name=self.__class_name, method_name=_method_name)
16081603
self.logger.exiting(class_name=self.__class_name, method_name=_method_name)

0 commit comments

Comments
 (0)