25
25
26
26
sys .path .append (os .path .dirname (os .path .realpath (sys .argv [0 ])))
27
27
28
+ from wlsdeploy .aliases import model_constants
29
+ from wlsdeploy .aliases .aliases import Aliases
30
+ from wlsdeploy .aliases .location_context import LocationContext
28
31
import wlsdeploy .tool .util .variable_injector as variable_injector
32
+
29
33
from wlsdeploy .aliases .wlst_modes import WlstModes
30
34
from wlsdeploy .exception import exception_helper
31
35
from wlsdeploy .logging .platform_logger import PlatformLogger
@@ -138,7 +142,7 @@ def __process_online_args(optional_arg_map):
138
142
raise ex
139
143
optional_arg_map [CommandLineArgUtil .ADMIN_PASS_SWITCH ] = String (password )
140
144
141
- __logger . info ( 'WLSDPLY-06020' , class_name = _class_name , method_name = _method_name )
145
+ mode = WlstModes . ONLINE
142
146
return mode
143
147
144
148
@@ -184,23 +188,28 @@ def __process_variable_filename_arg(optional_arg_map):
184
188
return
185
189
186
190
187
- def __discover (model_context ):
191
+ def __discover (model_context , aliases ):
188
192
"""
189
193
Populate the model from the domain.
190
194
:param model_context: the model context
191
195
:return: the fully-populated model
192
196
:raises DiscoverException: if an error occurred while discover the domain
193
197
"""
194
198
_method_name = '__discover'
195
-
196
199
model = Model ()
200
+ base_location = LocationContext ()
197
201
__connect_to_domain (model_context )
198
202
try :
199
- DomainInfoDiscoverer (model_context , model .get_model_domain_info (), wlst_mode = __wlst_mode ).discover ()
200
- TopologyDiscoverer (model_context , model .get_model_topology (), wlst_mode = __wlst_mode ).discover ()
201
- ResourcesDiscoverer (model_context , model .get_model_resources (), wlst_mode = __wlst_mode ).discover ()
202
- DeploymentsDiscoverer (model_context , model .get_model_app_deployments (), wlst_mode = __wlst_mode ).discover ()
203
- __discover_multi_tenant (model , model_context )
203
+ _add_domain_name (base_location , aliases )
204
+ DomainInfoDiscoverer (model_context , model .get_model_domain_info (), base_location , wlst_mode = __wlst_mode ,
205
+ aliases = aliases ).discover ()
206
+ TopologyDiscoverer (model_context , model .get_model_topology (), base_location , wlst_mode = __wlst_mode ,
207
+ aliases = aliases ).discover ()
208
+ ResourcesDiscoverer (model_context , model .get_model_resources (), base_location , wlst_mode = __wlst_mode ,
209
+ aliases = aliases ).discover ()
210
+ DeploymentsDiscoverer (model_context , model .get_model_app_deployments (), base_location , wlst_mode = __wlst_mode ,
211
+ aliases = aliases ).discover ()
212
+ __discover_multi_tenant (model , model_context , base_location , aliases )
204
213
except AliasException , ae :
205
214
wls_version = WebLogicHelper (__logger ).get_actual_weblogic_version ()
206
215
wlst_mode = WlstModes .from_value (__wlst_mode )
@@ -214,14 +223,32 @@ def __discover(model_context):
214
223
return model
215
224
216
225
217
- def __discover_multi_tenant (model , model_context ):
226
+ def _add_domain_name (location , aliases ):
227
+ _method_name = '_get_domain_name'
228
+ try :
229
+ wlst_helper .cd ('/' )
230
+ domain_name = wlst_helper .get (model_constants .DOMAIN_NAME )
231
+ except PyWLSTException , pe :
232
+ de = exception_helper .create_discover_exception ('WLSDPLY-06020' , pe .getLocalizedMessage ())
233
+ __logger .throwing (class_name = _class_name , method_name = _method_name , error = de )
234
+ raise de
235
+ if domain_name is not None :
236
+ location .add_name_token (aliases .get_name_token (location ), domain_name )
237
+ __logger .info ('WLSDPLY-06022' , domain_name , class_name = _class_name , method_name = _method_name )
238
+ else :
239
+ de = exception_helper .create_discover_exception ('WLSDPLY-WLSDPLY-06023' )
240
+ __logger .throwing (class_name = _class_name , method_name = _method_name , error = de )
241
+ raise de
242
+
243
+
244
+ def __discover_multi_tenant (model , model_context , base_location , aliases ):
218
245
"""
219
246
Discover the multi-tenant-related parts of the domain, if they exist.
220
247
:param model: the model object to populate
221
248
:param model_context: the model context object
222
249
:raises DiscoverException: if an error occurs during discovery
223
250
"""
224
- MultiTenantDiscoverer (model , model_context , wlst_mode = __wlst_mode ).discover ()
251
+ MultiTenantDiscoverer (model , model_context , base_location , wlst_mode = __wlst_mode , aliases = aliases ).discover ()
225
252
return
226
253
227
254
@@ -381,7 +408,7 @@ def __persist_model(model, model_context):
381
408
return
382
409
383
410
384
- def __check_and_customize_model (model , model_context ):
411
+ def __check_and_customize_model (model , model_context , aliases ):
385
412
"""
386
413
Customize the model dictionary before persisting. Validate the model after customization for informational
387
414
purposes. Any validation errors will not stop the discovered model to be persisted.
@@ -400,7 +427,7 @@ def __check_and_customize_model(model, model_context):
400
427
if inserted :
401
428
model = Model (variable_model )
402
429
try :
403
- validator = Validator (model_context , wlst_mode = __wlst_mode )
430
+ validator = Validator (model_context , wlst_mode = __wlst_mode , aliases = aliases )
404
431
405
432
# no variables are generated by the discover tool
406
433
validator .validate_in_tool_mode (model .get_model (), variables_file_name = variable_file_name ,
@@ -410,14 +437,15 @@ def __check_and_customize_model(model, model_context):
410
437
return model
411
438
412
439
413
- def __log_and_exit (exit_code , class_name , _method_name ):
440
+ def __log_and_exit (exit_code , class_name , method_name ):
414
441
"""
415
442
Helper method to log the exiting message and call sys.exit()
416
443
:param exit_code: the exit code to use
417
444
:param class_name: the class name to pass to the logger
418
- :param _method_name : the method name to pass to the logger
445
+ :param method_name : the method name to pass to the logger
419
446
"""
420
- __logger .exiting (result = exit_code , class_name = class_name , method_name = _method_name )
447
+ __logger .exiting (result = exit_code , class_name = class_name , method_name = method_name )
448
+
421
449
sys .exit (exit_code )
422
450
423
451
@@ -455,16 +483,18 @@ def main(args):
455
483
ex .getLocalizedMessage (), error = ex , class_name = _class_name , method_name = _method_name )
456
484
__log_and_exit (CommandLineArgUtil .PROG_ERROR_EXIT_CODE , _class_name , _method_name )
457
485
486
+ aliases = Aliases (model_context , wlst_mode = __wlst_mode )
458
487
model = None
459
488
try :
460
- model = __discover (model_context )
489
+ model = __discover (model_context , aliases )
461
490
except DiscoverException , ex :
462
491
__logger .severe ('WLSDPLY-06011' , _program_name , model_context .get_domain_name (),
463
492
model_context .get_domain_home (), ex .getLocalizedMessage (),
464
493
error = ex , class_name = _class_name , method_name = _method_name )
465
494
__log_and_exit (CommandLineArgUtil .PROG_ERROR_EXIT_CODE , _class_name , _method_name )
466
-
467
- model = __check_and_customize_model (model , model_context )
495
+
496
+ model = __check_and_customize_model (model , model_context , aliases )
497
+
468
498
try :
469
499
__persist_model (model , model_context )
470
500
0 commit comments