Skip to content

Commit 5b2d4ef

Browse files
Jira362 update minimum WLS version (#589)
* Fix java.lang.Boolean issues for ActiveDirectoryAuthenticator * Clarify supported versions of WebLogic server
1 parent 8a3d177 commit 5b2d4ef

File tree

6 files changed

+63
-71
lines changed

6 files changed

+63
-71
lines changed

README.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Many organizations are using WebLogic Server, with or without other Oracle Fusio
3535

3636
## Features of the Oracle WebLogic Server Deploy Tooling
3737

38-
The Oracle WebLogic Server Deploy Tooling is designed to support a wide range of WebLogic Server versions. Testing has been done with versions ranging from WebLogic Server 10.3.3 to the very latest version 12.2.1.3 (and beyond). This is possible because the underlying framework, upon which the tools are built, embeds a knowledge base that encodes information about WLST folders and attributes, making it possible for the tooling to know:
38+
The Oracle WebLogic Server Deploy Tooling is designed to support a wide range of WebLogic Server versions. This is possible because the underlying framework, upon which the tools are built, embeds a knowledge base that encodes information about WLST folders and attributes, making it possible for the tooling to know:
3939

4040
- The folder structures
4141
- Which folders are valid in the version of WLST being used
@@ -44,6 +44,33 @@ The Oracle WebLogic Server Deploy Tooling is designed to support a wide range of
4444
- The attribute data types and how to get/set their values (which isn't as easy as it might sound)
4545
- The differences between WLST online and WLST offline for working with folders and attributes
4646

47+
### Supported WebLogic Server Versions
48+
The following table specifies the supported WebLogic Server versions, along with the JDK versions that must be used to run the WDT tool. You must set the `JAVA_HOME` environment variable to specify a JDK version different than the system default version.
49+
50+
To create a domain with the proper JDK (particularly if the `JAVA_HOME` is different than the one which will be used by the target domain), set the domain `JavaHome` attribute in the domain model.
51+
52+
Note that the WDT Encryption tool used to encrypt and decrypt clear text passwords in the model and variable file, requires WDT to run with a minimum JDK version of 1.8.
53+
54+
| WebLogic Server Versions | Tool JDK Versions |
55+
|--------------------------|-------------------|
56+
| 10.3.6 | 1.7 |
57+
| 12.1.1 | 1.7, 1.8 |
58+
| 12.1.2 <sup>[1]</sup> <sup>[2]</sup> | 1.7, 1.8 |
59+
| 12.1.3 | 1.7, 1.8 |
60+
| 12.2.1 <sup>[3]</sup> | 1.8 |
61+
| 12.2.1.1 <sup>[4]</sup> | 1.8 |
62+
| 12.2.1.2 | 1.8 |
63+
| 12.2.1.3 | 1.8 |
64+
| 12.2.1.4 <sup>[5]</sup> | 1.8 |
65+
| 14.1.1 | 1.8, 1.11 |
66+
67+
***1*** First release dynamic clusters are supported
68+
***2*** First release Coherence clusters are supported
69+
***3*** First release WLS roles are supported
70+
***4*** First release multitenancy is supported
71+
***5*** Last release multitenancy is supported
72+
73+
### Metadata model
4774
The metadata model, described in detail in the next section, is WebLogic Server version and WLST mode independent. As such, a metadata model written for an earlier version of WebLogic Server is designed to work with a newer version. There is no need to port your metadata model as part of the upgrade process. Of course, you may wish to add data to your metadata model to take advantage of new features in newer versions of WebLogic Server.
4875

4976
Currently, the project provides five single-purpose tools, all exposed as shell scripts (both Windows and UNIX scripts are provided):

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class WebLogicHelper(object):
2121
Helper functions for version-specific WebLogic operations.
2222
"""
2323
STANDARD_VERSION_NUMBER_PLACES = 5
24-
MINIMUM_WEBLOGIC_VERSION = '10.3.3'
24+
MINIMUM_WEBLOGIC_VERSION = '10.3.6'
2525
_class_name = 'WebLogicHelper'
2626

2727
def __init__(self, logger, wls_version=None):

core/src/main/resources/oracle/weblogic/deploy/aliases/category_modules/JDBCSystemResource.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
"TestConnectionsOnReserve": [ {"version": "[10,)", "wlst_mode": "both", "wlst_name": "TestConnectionsOnReserve", "wlst_path": "WP001", "value": {"default": "${None:false}" }, "wlst_type": "boolean", "get_method": "LSA"} ],
5050
"TestFrequencySeconds": [ {"version": "[10,)", "wlst_mode": "both", "wlst_name": "TestFrequencySeconds", "wlst_path": "WP001", "value": {"default": "${None:120}" }, "wlst_type": "integer", "get_method": "LSA"} ],
5151
"TestTableName": [ {"version": "[10,)", "wlst_mode": "both", "wlst_name": "TestTableName", "wlst_path": "WP001", "value": {"default": "None" }, "wlst_type": "string" } ],
52-
"WrapTypes": [ {"version": "[10.3.4,)", "wlst_mode": "both", "wlst_name": "WrapTypes", "wlst_path": "WP001", "value": {"default": "${None:true}" }, "wlst_type": "boolean", "get_method": "LSA"} ],
52+
"WrapTypes": [ {"version": "[10,)", "wlst_mode": "both", "wlst_name": "WrapTypes", "wlst_path": "WP001", "value": {"default": "${None:true}" }, "wlst_type": "boolean", "get_method": "LSA"} ],
5353
"WrapJdbc": [ {"version": "[12.1.2,)", "wlst_mode": "both", "wlst_name": "WrapJdbc", "wlst_path": "WP001", "value": {"default": "${None:true}" }, "wlst_type": "boolean", "get_method": "LSA"} ]
5454
},
5555
"wlst_attributes_path": "WP001",
@@ -66,8 +66,8 @@
6666
"ConnectionPoolFailoverCallbackHandler": [ {"version": "[10,)", "wlst_mode": "both", "wlst_name": "ConnectionPoolFailoverCallbackHandler", "wlst_path": "WP001", "value": {"default": "None" }, "wlst_type": "string" } ],
6767
"FailoverRequestIfBusy": [ {"version": "[10,)", "wlst_mode": "both", "wlst_name": "FailoverRequestIfBusy", "wlst_path": "WP001", "value": {"default": "${None:false}" }, "wlst_type": "boolean", "get_method": "LSA"} ],
6868
"GlobalTransactionsProtocol": [ {"version": "[10,)", "wlst_mode": "both", "wlst_name": "GlobalTransactionsProtocol", "wlst_path": "WP001", "value": {"default": "${None:OnePhaseCommit}"}, "wlst_type": "string" } ],
69-
"KeepConnAfterGlobalTx": [ {"version": "[10.3.6,)", "wlst_mode": "both", "wlst_name": "KeepConnAfterGlobalTx", "wlst_path": "WP001", "value": {"default": "${None:false}" }, "wlst_type": "boolean", "get_method": "LSA"} ],
70-
"KeepConnAfterLocalTx": [ {"version": "[10.3.4,)", "wlst_mode": "both", "wlst_name": "KeepConnAfterLocalTx", "wlst_path": "WP001", "value": {"default": "${None:true}" }, "wlst_type": "boolean", "get_method": "LSA"} ],
69+
"KeepConnAfterGlobalTx": [ {"version": "[10,)", "wlst_mode": "both", "wlst_name": "KeepConnAfterGlobalTx", "wlst_path": "WP001", "value": {"default": "${None:false}" }, "wlst_type": "boolean", "get_method": "LSA"} ],
70+
"KeepConnAfterLocalTx": [ {"version": "[10,)", "wlst_mode": "both", "wlst_name": "KeepConnAfterLocalTx", "wlst_path": "WP001", "value": {"default": "${None:true}" }, "wlst_type": "boolean", "get_method": "LSA"} ],
7171
"RowPrefetch": [ {"version": "[10,)", "wlst_mode": "both", "wlst_name": "RowPrefetch", "wlst_path": "WP001", "value": {"default": "${None:false}" }, "wlst_type": "boolean", "get_method": "LSA"} ],
7272
"RowPrefetchSize": [ {"version": "[10,)", "wlst_mode": "both", "wlst_name": "RowPrefetchSize", "wlst_path": "WP001", "value": {"default": "${None:48}" }, "wlst_type": "integer", "get_method": "LSA"} ],
7373
"JNDIName": [ {"version": "[10,)", "wlst_mode": "both", "wlst_name": "JNDIName${:s}", "wlst_path": "WP001", "value": {"default": "None" }, "wlst_type": "${list:jarray}", "wlst_read_type": "delimited_string[semicolon]", "get_method": "${LSA:GET}", "preferred_model_type": "delimited_string"} ],

core/src/test/java/oracle/weblogic/deploy/aliases/VersionUtilsTest.java

Lines changed: 27 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99

1010
public class VersionUtilsTest {
1111
private static final String VERSION_1033 = "10.3.3.0";
12-
private static final String VERSION_1034 = "10.3.4.0";
13-
private static final String VERSION_1035 = "10.3.5.0";
1412
private static final String VERSION_1036 = "10.3.6.0";
1513
private static final String VERSION_1211 = "12.1.1.0";
1614
private static final String VERSION_1212 = "12.1.2.0";
@@ -23,7 +21,7 @@ public class VersionUtilsTest {
2321
private static final String VERSION_18 = "18.0.1.20180331";
2422

2523
private static final String RANGE_ALL_VERSIONS = "[10,)";
26-
private static final String RANGE_1034_AND_NEWER = "[10.3.4,)";
24+
private static final String RANGE_1036_AND_NEWER = "[10.3.6,)";
2725
private static final String RANGE_LESS_THAN_1212 = "[10,12.1.2)";
2826
private static final String RANGE_BETWEEN_1212_AND_12213 = "(12.1.1,12.2.1.3]";
2927

@@ -124,16 +122,7 @@ public void testServerToEqualClient() throws Exception {
124122

125123
@Test
126124
public void testVersionsInRangeAll() throws Exception {
127-
boolean answer = VersionUtils.isVersionInRange(VERSION_1033, RANGE_ALL_VERSIONS);
128-
Assert.assertTrue("expected " + VERSION_1033 + " to be in range " + RANGE_ALL_VERSIONS, answer);
129-
130-
answer = VersionUtils.isVersionInRange(VERSION_1034, RANGE_ALL_VERSIONS);
131-
Assert.assertTrue("expected " + VERSION_1034 + " to be in range " + RANGE_ALL_VERSIONS, answer);
132-
133-
answer = VersionUtils.isVersionInRange(VERSION_1035, RANGE_ALL_VERSIONS);
134-
Assert.assertTrue("expected " + VERSION_1035 + " to be in range " + RANGE_ALL_VERSIONS, answer);
135-
136-
answer = VersionUtils.isVersionInRange(VERSION_1036, RANGE_ALL_VERSIONS);
125+
boolean answer = VersionUtils.isVersionInRange(VERSION_1036, RANGE_ALL_VERSIONS);
137126
Assert.assertTrue("expected " + VERSION_1036 + " to be in range " + RANGE_ALL_VERSIONS, answer);
138127

139128
answer = VersionUtils.isVersionInRange(VERSION_1211, RANGE_ALL_VERSIONS);
@@ -165,59 +154,44 @@ public void testVersionsInRangeAll() throws Exception {
165154
}
166155

167156
@Test
168-
public void testVersionsInRange1034AndHigher() throws Exception {
169-
boolean answer = VersionUtils.isVersionInRange(VERSION_1033, RANGE_1034_AND_NEWER);
170-
Assert.assertFalse("expected " + VERSION_1033 + " to not be in range " + RANGE_1034_AND_NEWER, answer);
157+
public void testVersionsInRange1036AndHigher() throws Exception {
158+
boolean answer = VersionUtils.isVersionInRange(VERSION_1033, RANGE_1036_AND_NEWER);
159+
Assert.assertFalse("expected " + VERSION_1033 + " to not be in range " + RANGE_1036_AND_NEWER, answer);
171160

172-
answer = VersionUtils.isVersionInRange(VERSION_1034, RANGE_1034_AND_NEWER);
173-
Assert.assertTrue("expected " + VERSION_1034 + " to be in range " + RANGE_1034_AND_NEWER, answer);
161+
answer = VersionUtils.isVersionInRange(VERSION_1036, RANGE_1036_AND_NEWER);
162+
Assert.assertTrue("expected " + VERSION_1036 + " to be in range " + RANGE_1036_AND_NEWER, answer);
174163

175-
answer = VersionUtils.isVersionInRange(VERSION_1035, RANGE_1034_AND_NEWER);
176-
Assert.assertTrue("expected " + VERSION_1035 + " to be in range " + RANGE_1034_AND_NEWER, answer);
164+
answer = VersionUtils.isVersionInRange(VERSION_1211, RANGE_1036_AND_NEWER);
165+
Assert.assertTrue("expected " + VERSION_1211 + " to be in range " + RANGE_1036_AND_NEWER, answer);
177166

178-
answer = VersionUtils.isVersionInRange(VERSION_1036, RANGE_1034_AND_NEWER);
179-
Assert.assertTrue("expected " + VERSION_1036 + " to be in range " + RANGE_1034_AND_NEWER, answer);
167+
answer = VersionUtils.isVersionInRange(VERSION_1212, RANGE_1036_AND_NEWER);
168+
Assert.assertTrue("expected " + VERSION_1212 + " to be in range " + RANGE_1036_AND_NEWER, answer);
180169

181-
answer = VersionUtils.isVersionInRange(VERSION_1211, RANGE_1034_AND_NEWER);
182-
Assert.assertTrue("expected " + VERSION_1211 + " to be in range " + RANGE_1034_AND_NEWER, answer);
170+
answer = VersionUtils.isVersionInRange(VERSION_1213, RANGE_1036_AND_NEWER);
171+
Assert.assertTrue("expected " + VERSION_1213 + " to be in range " + RANGE_1036_AND_NEWER, answer);
183172

184-
answer = VersionUtils.isVersionInRange(VERSION_1212, RANGE_1034_AND_NEWER);
185-
Assert.assertTrue("expected " + VERSION_1212 + " to be in range " + RANGE_1034_AND_NEWER, answer);
173+
answer = VersionUtils.isVersionInRange(VERSION_1221, RANGE_1036_AND_NEWER);
174+
Assert.assertTrue("expected " + VERSION_1221 + " to be in range " + RANGE_1036_AND_NEWER, answer);
186175

187-
answer = VersionUtils.isVersionInRange(VERSION_1213, RANGE_1034_AND_NEWER);
188-
Assert.assertTrue("expected " + VERSION_1213 + " to be in range " + RANGE_1034_AND_NEWER, answer);
176+
answer = VersionUtils.isVersionInRange(VERSION_12211, RANGE_1036_AND_NEWER);
177+
Assert.assertTrue("expected " + VERSION_12211 + " to be in range " + RANGE_1036_AND_NEWER, answer);
189178

190-
answer = VersionUtils.isVersionInRange(VERSION_1221, RANGE_1034_AND_NEWER);
191-
Assert.assertTrue("expected " + VERSION_1221 + " to be in range " + RANGE_1034_AND_NEWER, answer);
179+
answer = VersionUtils.isVersionInRange(VERSION_12212, RANGE_1036_AND_NEWER);
180+
Assert.assertTrue("expected " + VERSION_12212 + " to be in range " + RANGE_1036_AND_NEWER, answer);
192181

193-
answer = VersionUtils.isVersionInRange(VERSION_12211, RANGE_1034_AND_NEWER);
194-
Assert.assertTrue("expected " + VERSION_12211 + " to be in range " + RANGE_1034_AND_NEWER, answer);
182+
answer = VersionUtils.isVersionInRange(VERSION_12213, RANGE_1036_AND_NEWER);
183+
Assert.assertTrue("expected " + VERSION_12213 + " to be in range " + RANGE_1036_AND_NEWER, answer);
195184

196-
answer = VersionUtils.isVersionInRange(VERSION_12212, RANGE_1034_AND_NEWER);
197-
Assert.assertTrue("expected " + VERSION_12212 + " to be in range " + RANGE_1034_AND_NEWER, answer);
185+
answer = VersionUtils.isVersionInRange(VERSION_1231, RANGE_1036_AND_NEWER);
186+
Assert.assertTrue("expected " + VERSION_1231 + " to be in range " + RANGE_1036_AND_NEWER, answer);
198187

199-
answer = VersionUtils.isVersionInRange(VERSION_12213, RANGE_1034_AND_NEWER);
200-
Assert.assertTrue("expected " + VERSION_12213 + " to be in range " + RANGE_1034_AND_NEWER, answer);
201-
202-
answer = VersionUtils.isVersionInRange(VERSION_1231, RANGE_1034_AND_NEWER);
203-
Assert.assertTrue("expected " + VERSION_1231 + " to be in range " + RANGE_1034_AND_NEWER, answer);
204-
205-
answer = VersionUtils.isVersionInRange(VERSION_18, RANGE_1034_AND_NEWER);
206-
Assert.assertTrue("expected " + VERSION_18 + " to be in range " + RANGE_1034_AND_NEWER, answer);
188+
answer = VersionUtils.isVersionInRange(VERSION_18, RANGE_1036_AND_NEWER);
189+
Assert.assertTrue("expected " + VERSION_18 + " to be in range " + RANGE_1036_AND_NEWER, answer);
207190
}
208191

209192
@Test
210193
public void testVersionsInRangeLessThan1212() throws Exception {
211-
boolean answer = VersionUtils.isVersionInRange(VERSION_1033, RANGE_LESS_THAN_1212);
212-
Assert.assertTrue("expected " + VERSION_1033 + " to be in range " + RANGE_LESS_THAN_1212, answer);
213-
214-
answer = VersionUtils.isVersionInRange(VERSION_1034, RANGE_LESS_THAN_1212);
215-
Assert.assertTrue("expected " + VERSION_1034 + " to be in range " + RANGE_LESS_THAN_1212, answer);
216-
217-
answer = VersionUtils.isVersionInRange(VERSION_1035, RANGE_LESS_THAN_1212);
218-
Assert.assertTrue("expected " + VERSION_1035 + " to be in range " + RANGE_LESS_THAN_1212, answer);
219-
220-
answer = VersionUtils.isVersionInRange(VERSION_1036, RANGE_LESS_THAN_1212);
194+
boolean answer = VersionUtils.isVersionInRange(VERSION_1036, RANGE_LESS_THAN_1212);
221195
Assert.assertTrue("expected " + VERSION_1036 + " to be in range " + RANGE_LESS_THAN_1212, answer);
222196

223197
answer = VersionUtils.isVersionInRange(VERSION_1211, RANGE_LESS_THAN_1212);
@@ -250,16 +224,7 @@ public void testVersionsInRangeLessThan1212() throws Exception {
250224

251225
@Test
252226
public void testVersionsInRangeBetween1212and12213() throws Exception {
253-
boolean answer = VersionUtils.isVersionInRange(VERSION_1033, RANGE_BETWEEN_1212_AND_12213);
254-
Assert.assertFalse("expected " + VERSION_1033 + " to not be in range " + RANGE_BETWEEN_1212_AND_12213, answer);
255-
256-
answer = VersionUtils.isVersionInRange(VERSION_1034, RANGE_BETWEEN_1212_AND_12213);
257-
Assert.assertFalse("expected " + VERSION_1034 + " to not be in range " + RANGE_BETWEEN_1212_AND_12213, answer);
258-
259-
answer = VersionUtils.isVersionInRange(VERSION_1035, RANGE_BETWEEN_1212_AND_12213);
260-
Assert.assertFalse("expected " + VERSION_1035 + " to not be in range " + RANGE_BETWEEN_1212_AND_12213, answer);
261-
262-
answer = VersionUtils.isVersionInRange(VERSION_1036, RANGE_BETWEEN_1212_AND_12213);
227+
boolean answer = VersionUtils.isVersionInRange(VERSION_1036, RANGE_BETWEEN_1212_AND_12213);
263228
Assert.assertFalse("expected " + VERSION_1036 + " to not be in range " + RANGE_BETWEEN_1212_AND_12213, answer);
264229

265230
answer = VersionUtils.isVersionInRange(VERSION_1211, RANGE_BETWEEN_1212_AND_12213);

core/src/test/python/aliases_test.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ def testGetWlstAttributeName2(self):
472472
return
473473

474474
def testIsWlstModelAttributeName(self):
475-
wls_version = '10.3.4'
475+
wls_version = '10.3.6'
476476
online_aliases = Aliases(self.model_context, WlstModes.ONLINE, wls_version)
477477
location = LocationContext()
478478
location.append_location(FOLDERS.JDBC_SYSTEM_RESOURCE)
@@ -500,8 +500,8 @@ def testIsWlstModelAttributeName(self):
500500

501501
location.pop_location()
502502
location.append_location(FOLDERS.JDBC_CONNECTION_POOL_PARAMS)
503-
model_attribute_name = 'MinCapacity'
504-
earliest_version = '10.3.6'
503+
model_attribute_name = 'CountOfTestFailuresTillFlush'
504+
earliest_version = '12.1.2'
505505
path = self.aliases.get_model_folder_path(location)
506506
expected = exception_helper.get_message('WLSDPLY-08207', model_attribute_name, path,
507507
wls_version, earliest_version)

0 commit comments

Comments
 (0)