|
3 | 3 | The Universal Permissive License (UPL), Version 1.0
|
4 | 4 | """
|
5 | 5 | import javaos as os
|
| 6 | +from java.util import Properties |
| 7 | +from java.io import FileOutputStream |
6 | 8 | from oracle.weblogic.deploy.create import RCURunner
|
7 | 9 | from wlsdeploy.aliases.location_context import LocationContext
|
8 | 10 | from wlsdeploy.aliases.model_constants import ADMIN_PASSWORD
|
|
80 | 82 | from wlsdeploy.tool.util.topology_helper import TopologyHelper
|
81 | 83 | from wlsdeploy.util import dictionary_utils
|
82 | 84 | from wlsdeploy.util import model as model_helper
|
| 85 | +import weblogic.security.internal.SerializedSystemIni as SerializedSystemIni |
| 86 | +import weblogic.security.internal.encryption.ClearOrEncryptedService as ClearOrEncryptedService |
83 | 87 |
|
84 | 88 |
|
85 | 89 | class DomainCreator(Creator):
|
@@ -161,6 +165,7 @@ def create(self):
|
161 | 165 | self.__fail_mt_1221_domain_creation()
|
162 | 166 | self.__create_domain()
|
163 | 167 | self.__deploy()
|
| 168 | + self.__create_boot_dot_properties() |
164 | 169 | self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
|
165 | 170 | return
|
166 | 171 |
|
@@ -302,7 +307,6 @@ def __fail_mt_1221_domain_creation(self):
|
302 | 307 | (not dictionary_utils.is_empty_dictionary_element(resources_dict, RESOURCE_GROUP_TEMPLATE)) or \
|
303 | 308 | (not dictionary_utils.is_empty_dictionary_element(resources_dict, RESOURCE_GROUP)) or \
|
304 | 309 | (not dictionary_utils.is_empty_dictionary_element(resources_dict, PARTITION)):
|
305 |
| - |
306 | 310 | ex = exception_helper.create_create_exception('WLSDPLY-12202', self.wls_helper.wl_version)
|
307 | 311 | self.logger.throwing(ex, class_name=self.__class_name, method_name=_method_name)
|
308 | 312 | raise ex
|
@@ -1093,3 +1097,34 @@ def _configure_security_configuration(self):
|
1093 | 1097 | self.security_provider_creator.create_security_configuration(security_config_location)
|
1094 | 1098 | self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
|
1095 | 1099 | return
|
| 1100 | + |
| 1101 | + def __create_boot_dot_properties(self): |
| 1102 | + _method_name = '__create_boot_dot_properties' |
| 1103 | + self.logger.entering(class_name=self.__class_name, method_name=_method_name) |
| 1104 | + systemIni = SerializedSystemIni.getEncryptionService(self._domain_home) |
| 1105 | + encryptionService = ClearOrEncryptedService(systemIni) |
| 1106 | + admin_password = self._domain_info[ADMIN_PASSWORD] |
| 1107 | + admin_username = self.wls_helper.get_default_admin_username() |
| 1108 | + if ADMIN_USERNAME in self._domain_info: |
| 1109 | + admin_username = self._domain_info[ADMIN_USERNAME] |
| 1110 | + |
| 1111 | + server_nodes = dictionary_utils.get_dictionary_element(self._topology, SERVER) |
| 1112 | + servers = [self._admin_server_name] |
| 1113 | + |
| 1114 | + for model_name in server_nodes: |
| 1115 | + name = self.wlst_helper.get_quoted_name_for_wlst(model_name) |
| 1116 | + servers.append(name) |
| 1117 | + |
| 1118 | + for server in servers: |
| 1119 | + properties = Properties() |
| 1120 | + properties.put("username", encryptionService.encrypt(admin_username)) |
| 1121 | + properties.put("password", encryptionService.encrypt(admin_password)) |
| 1122 | + file_directory = self._domain_home + "/servers/" + server + "/security" |
| 1123 | + file_location = file_directory + "/boot.properties" |
| 1124 | + if not os.path.exists(file_directory): |
| 1125 | + os.makedirs(file_directory) |
| 1126 | + ostream = FileOutputStream(file_location) |
| 1127 | + properties.store(ostream, None) |
| 1128 | + ostream.close() |
| 1129 | + self.logger.exiting(class_name=self.__class_name, method_name=_method_name) |
| 1130 | + return |
0 commit comments