Skip to content

Commit 6e49c5f

Browse files
fixing online discovery for domains with dynamic clusters (#1392)
* fixing online discovery for domains with dynamic clusters * fixing comment to match new method
1 parent 4c05082 commit 6e49c5f

File tree

3 files changed

+66
-37
lines changed

3 files changed

+66
-37
lines changed

core/src/main/python/wlsdeploy/tool/discover/topology_discoverer.py

Lines changed: 45 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -69,59 +69,68 @@ def discover(self):
6969

7070
_logger.info('WLSDPLY-06600', class_name=_class_name, method_name=_method_name)
7171

72-
self.discover_domain_parameters()
72+
current_tree = None
73+
if self._wlst_mode == WlstModes.ONLINE:
74+
current_tree = self._wlst_helper.current_tree()
75+
self._wlst_helper.edit()
7376

74-
model_top_folder_name, clusters = self.get_clusters()
75-
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, clusters)
77+
try:
78+
self.discover_domain_parameters()
7679

77-
model_top_folder_name, servers = self.get_servers()
78-
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, servers)
80+
model_top_folder_name, clusters = self.get_clusters()
81+
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, clusters)
7982

80-
model_top_folder_name, migratable_targets = self.get_migratable_targets()
81-
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, migratable_targets)
83+
model_top_folder_name, servers = self.get_servers()
84+
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, servers)
8285

83-
model_top_folder_name, templates = self.get_server_templates()
84-
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, templates)
86+
model_top_folder_name, migratable_targets = self.get_migratable_targets()
87+
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, migratable_targets)
8588

86-
model_top_folder_name, unix_machines = self.get_unix_machines()
87-
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, unix_machines)
89+
model_top_folder_name, templates = self.get_server_templates()
90+
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, templates)
8891

89-
model_top_folder_name, machines = self.get_machines(unix_machines)
90-
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, machines)
92+
model_top_folder_name, unix_machines = self.get_unix_machines()
93+
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, unix_machines)
9194

92-
# make sure this is after discovery of machines / node managers as we will do some massaging
93-
model_top_folder_name, security_configuration = self.discover_security_configuration()
94-
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, security_configuration)
95+
model_top_folder_name, machines = self.get_machines(unix_machines)
96+
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, machines)
9597

96-
model_top_folder_name, embedded_ldap_configuration = self.get_embedded_ldap_configuration()
97-
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, embedded_ldap_configuration)
98+
# make sure this is after discovery of machines / node managers as we will do some massaging
99+
model_top_folder_name, security_configuration = self.discover_security_configuration()
100+
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, security_configuration)
98101

99-
model_folder_name, folder_result = self._get_log_filters()
100-
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
102+
model_top_folder_name, embedded_ldap_configuration = self.get_embedded_ldap_configuration()
103+
discoverer.add_to_model_if_not_empty(self._dictionary, model_top_folder_name, embedded_ldap_configuration)
101104

102-
model_folder_name, folder_result = self._get_reliable_delivery_policies()
103-
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
105+
model_folder_name, folder_result = self._get_log_filters()
106+
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
104107

105-
model_folder_name, folder_result = self._get_virtual_hosts()
106-
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
108+
model_folder_name, folder_result = self._get_reliable_delivery_policies()
109+
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
107110

108-
model_folder_name, folder_result = self._get_xml_entity_caches()
109-
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
111+
model_folder_name, folder_result = self._get_virtual_hosts()
112+
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
110113

111-
model_folder_name, folder_result = self._get_xml_registries()
112-
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
114+
model_folder_name, folder_result = self._get_xml_entity_caches()
115+
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
113116

114-
model_folder_name, folder_result = self.get_managed_executor_template()
115-
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
117+
model_folder_name, folder_result = self._get_xml_registries()
118+
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
116119

117-
model_folder_name, folder_result = self.get_managed_thread_factory_template()
118-
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
120+
model_folder_name, folder_result = self.get_managed_executor_template()
121+
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
119122

120-
model_folder_name, folder_result = self.get_managed_scheduled_executor_service()
121-
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
123+
model_folder_name, folder_result = self.get_managed_thread_factory_template()
124+
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
122125

123-
model_folder_name, folder_result = self._get_ws_securities()
124-
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
126+
model_folder_name, folder_result = self.get_managed_scheduled_executor_service()
127+
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
128+
129+
model_folder_name, folder_result = self._get_ws_securities()
130+
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
131+
finally:
132+
if current_tree is not None:
133+
current_tree()
125134

126135
_logger.exiting(class_name=_class_name, method_name=_method_name)
127136
return self._dictionary

core/src/main/python/wlsdeploy/tool/util/wlst_helper.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1344,6 +1344,25 @@ def have_unsaved_changes(self, cmgr):
13441344
result=StringUtils.stringForBoolean(unsaved))
13451345
return unsaved
13461346

1347+
def current_tree(self):
1348+
"""
1349+
Get the current MBean tree.
1350+
:raises Exception for the specified tool type: if a WLST error occurs
1351+
"""
1352+
_method_name = 'current_tree'
1353+
self.__logger.entering(class_name=self.__class_name, method_name=_method_name)
1354+
1355+
current_tree = None;
1356+
try:
1357+
current_tree = self.__load_global('currentTree')()
1358+
except self.__load_global('WLSTException'), e:
1359+
pwe = exception_helper.create_exception(self.__exception_type, 'WLSDPLY-00130',
1360+
_format_exception(e), error=e)
1361+
self.__logger.throwing(class_name=self.__class_name, method_name=_method_name, error=pwe)
1362+
raise pwe
1363+
self.__logger.exiting(class_name=self.__class_name, method_name=_method_name)
1364+
return current_tree
1365+
13471366
def server_config(self):
13481367
"""
13491368
Change to the serverConfig MBean tree.

core/src/main/resources/oracle/weblogic/deploy/messages/wlsdeploy_rb.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ WLSDPLY-00126=Exiting is_set({0}) method
112112
WLSDPLY-00127=Unable to load the DomainRuntimeService from the WLST globals : {0}
113113
WLSDPLY-00128=setTopologyProfile({0}) failed: {1}
114114
WLSDPLY-00129=Error calling isSet() for attribute {0} at location {1}: {2}
115+
WLSDPLY-00130=Failed to get the current MBean tree: {0}
115116

116117
###############################################################################
117118
# Util messages (1000 - 3999) #
@@ -1772,7 +1773,7 @@ WLSDPLY-20203={0} entries "{1}" and "{2}" in {3} "{4}" have different {5} values
17721773
# Common messages used for tool exit and clean-up
17731774
WLSDPLY-21000={0} Messages:
17741775
WLSDPLY-21001= {0} total : {1}
1775-
WLSDPLY-21002= Total: {0}
1776+
WLSDPLY-21002=Total: {0}
17761777
WLSDPLY-21003=Issue Log for {0} version {1} running WebLogic version {2} {3} mode:
17771778

17781779
# RCUDbinfo

0 commit comments

Comments
 (0)