Skip to content

Commit c5fdc78

Browse files
Merge branch 'master' into WDT-334-attributes-not-in-lsa-map-not-discovered
2 parents 3c790a1 + 50976e2 commit c5fdc78

File tree

12 files changed

+330
-220
lines changed

12 files changed

+330
-220
lines changed

core/src/main/python/create.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,10 @@ def main(args):
404404
__logger.severe('WLSDPLY-20008', _program_name, ex.getLocalizedMessage(), error=ex,
405405
class_name=_class_name, method_name=_method_name)
406406
__clean_up_temp_files()
407-
tool_exit.end(None, exit_code)
407+
408+
# create a minimal model for summary logging
409+
model_context = ModelContext(_program_name, dict())
410+
tool_exit.end(model_context, exit_code)
408411

409412
model_file = model_context.get_model_file()
410413
try:

core/src/main/python/deploy.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,10 @@ def main(args):
446446
__logger.severe('WLSDPLY-20008', _program_name, ex.getLocalizedMessage(), error=ex,
447447
class_name=_class_name, method_name=_method_name)
448448
__clean_up_temp_files()
449-
tool_exit.end(None, exit_code)
449+
450+
# create a minimal model for summary logging
451+
model_context = ModelContext(_program_name, dict())
452+
tool_exit.end(model_context, exit_code)
450453

451454
model_file = model_context.get_model_file()
452455
try:

core/src/main/python/discover.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,10 @@ def main(args):
489489
if exit_code != CommandLineArgUtil.HELP_EXIT_CODE:
490490
__logger.severe('WLSDPLY-20008', _program_name, ex.getLocalizedMessage(), error=ex,
491491
class_name=_class_name, method_name=_method_name)
492-
__log_and_exit(None, exit_code, _class_name, _method_name)
492+
493+
# create a minimal model for summary logging
494+
model_context = ModelContext(_program_name, dict())
495+
__log_and_exit(model_context, exit_code, _class_name, _method_name)
493496

494497
try:
495498
__clear_archive_file(model_context)

core/src/main/python/update.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,10 @@ def main(args):
465465
__logger.severe('WLSDPLY-20008', _program_name, ex.getLocalizedMessage(), error=ex,
466466
class_name=_class_name, method_name=_method_name)
467467
__clean_up_temp_files()
468-
tool_exit.end(None, exit_code)
468+
469+
# create a minimal model for summary logging
470+
model_context = ModelContext(_program_name, dict())
471+
tool_exit.end(model_context, exit_code)
469472

470473
model_file = model_context.get_model_file()
471474
try:

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
from wlsdeploy.tool.util.archive_helper import ArchiveHelper
7777
from wlsdeploy.tool.util.library_helper import LibraryHelper
7878
from wlsdeploy.tool.util.target_helper import TargetHelper
79+
from wlsdeploy.tool.util.targeting_types import TargetingType
7980
from wlsdeploy.tool.util.topology_helper import TopologyHelper
8081
from wlsdeploy.util import dictionary_utils
8182
from wlsdeploy.util import model as model_helper
@@ -416,12 +417,18 @@ def __extend_domain(self, domain_home):
416417
self.__configure_fmw_infra_database()
417418

418419
if self.wls_helper.is_set_server_groups_supported():
420+
# 12c versions set server groups directly
419421
server_groups_to_target = self._domain_typedef.get_server_groups_to_target()
420422
self.target_helper.target_server_groups_to_servers(server_groups_to_target)
421423
self.wlst_helper.update_domain()
422-
elif self._domain_typedef.is_jrf_domain_type():
424+
425+
elif self._domain_typedef.is_jrf_domain_type() or \
426+
(self._domain_typedef.get_targeting() == TargetingType.APPLY_JRF):
427+
# for 11g, if template list includes JRF, or if specified in domain typedef, use applyJRF
423428
self.target_helper.target_jrf_groups_to_clusters_servers(domain_home)
429+
424430
else:
431+
# for 11g, if no targeting was needed, just update the domain
425432
self.wlst_helper.update_domain()
426433

427434
self.wlst_helper.close_domain()

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

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from wlsdeploy.exception import exception_helper
1313
from wlsdeploy.json.json_translator import JsonToPython
1414
from wlsdeploy.logging.platform_logger import PlatformLogger
15+
from wlsdeploy.tool.util.targeting_types import TargetingType
1516
from wlsdeploy.util.cla_utils import CommandLineArgUtil
1617
from wlsdeploy.util.weblogic_helper import WebLogicHelper
1718

@@ -70,6 +71,8 @@ def __init__(self, program_name, domain_type):
7071
self._model_context = None
7172
self._version_typedef_name = None
7273

74+
self._targeting_type = self._resolve_targeting_type()
75+
7376
if 'system-elements' in self._domain_typedefs_dict:
7477
self._system_elements = self._domain_typedefs_dict['system-elements']
7578
else:
@@ -185,6 +188,13 @@ def required_rcu(self):
185188
# resolution for create.py argument processing.
186189
return 'rcuSchemas' in self._domain_typedef and len(self._domain_typedef['rcuSchemas']) > 0
187190

191+
def get_targeting(self):
192+
"""
193+
Get the targeting type for the domain, or None if not specified.
194+
:return: the TargetingType enum value for the domain, or None
195+
"""
196+
return self._targeting_type
197+
188198
def is_system_app(self, name):
189199
"""
190200
Determine if the specified name matches a WLS system application.
@@ -409,3 +419,32 @@ def __match_version_typedef(self, versions_dict):
409419
raise ex
410420
self._logger.exiting(self.__class_name, _method_name, result)
411421
return result
422+
423+
def _resolve_targeting_type(self):
424+
"""
425+
Determine the targeting type based on the value in the definition.
426+
Check for problems or incompatibilities.
427+
:return: the matching TargetType enum value
428+
:raises: ClaException: if there are problems or incompatibilities
429+
"""
430+
_method_name = '_resolve_targeting_type'
431+
432+
if 'targeting' not in self._domain_typedef:
433+
return None
434+
435+
targeting_text = self._domain_typedef['targeting']
436+
437+
# there are no valid targeting types for version 12c and up
438+
if self.wls_helper.is_set_server_groups_supported():
439+
ex = exception_helper.create_cla_exception('WLSDPLY-12311', targeting_text, self._domain_typedef_filename,
440+
self.wls_helper.get_weblogic_version())
441+
self._logger.throwing(ex, class_name=self.__class_name, method_name=_method_name)
442+
raise ex
443+
444+
# if specified, targeting must be one of the known types
445+
if targeting_text not in TargetingType:
446+
ex = exception_helper.create_cla_exception('WLSDPLY-12312', targeting_text, self._domain_typedef_filename)
447+
self._logger.throwing(ex, class_name=self.__class_name, method_name=_method_name)
448+
raise ex
449+
450+
return TargetingType[targeting_text]
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
"""
2+
Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
3+
The Universal Permissive License (UPL), Version 1.0
4+
"""
5+
from wlsdeploy.util.enum import Enum
6+
7+
TargetingType = Enum([
8+
'APPLY_JRF'
9+
])

core/src/main/python/wlsdeploy/util/enum.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""
2-
Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
2+
Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
33
The Universal Permissive License (UPL), Version 1.0
44
"""
55
from oracle.weblogic.deploy.exception import ExceptionHelper
@@ -30,6 +30,12 @@ def __str__(self):
3030
def __iter__(self):
3131
return self
3232

33+
def __contains__(self, name):
34+
return name in self.enum_list
35+
36+
def __getitem__(self, name):
37+
return self.enum_list.index(name)
38+
3339
def next(self):
3440
if self.current < len(self.enum_list):
3541
result = self.enum_list[self.current]

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,6 +1096,8 @@ WLSDPLY-12308=Domain type {0} type definition in file {1} contained version {2}
10961096
matches WebLogic version {3}
10971097
WLSDPLY-12309=Domain type {0} type definition in file {1} did not contain a version that matched WebLogic version {2}
10981098
WLSDPLY-12310=Version {0} returned from the domain home
1099+
WLSDPLY-12311=Targeting type "{0}" in type definition file {1} is not allowed for WebLogic version {2}
1100+
WLSDPLY-12312=Targeting type "{0}" in type definition file {1} is not valid
10991101

11001102
# create.py
11011103
WLSDPLY-12400={0} got the JAVA_HOME {1} from the environment variable but it was not a valid location: {2}

core/src/main/resources/templates/WebLogicDeployToolingVersion.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
33
* The Universal Permissive License (UPL), Version 1.0
44
*/
55
package oracle.weblogic.deploy.util;
@@ -65,7 +65,7 @@ public static String getFullVersion() {
6565
* @param programName - the name of the WebLogic Deploy Tooling program that is running
6666
*/
6767
public static void logVersionInfo(String programName) {
68-
LOGGER.config("WLSDPLY-01750", programName, getFullVersion());
68+
LOGGER.info("WLSDPLY-01750", programName, getFullVersion());
6969
}
7070

7171
/**

0 commit comments

Comments
 (0)