Skip to content

Commit ebbfc62

Browse files
authored
Merge pull request #153 from oracle/lily/startupArgs
fix to issue #106
2 parents 888bff7 + 1511a44 commit ebbfc62

File tree

1 file changed

+53
-2
lines changed

1 file changed

+53
-2
lines changed

kubernetes/internal/domain-job-template.yaml

Lines changed: 53 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,14 @@ data:
153153
# Function to create script for starting a server
154154
# $1 - Domain UID
155155
# $2 - Server Name
156+
# $3 - Flag (only passed for admin server)
156157
function createStartScript() {
157158
158159
nmdir=${DOMAIN_HOME}/servers/$2/nodemgr_home
159160
stateFile=${DOMAIN_HOME}/servers/$2/data/nodemanager/$2.state
160161
scriptFile=${nmdir}/startServer.sh
161162
pyFile=${nmdir}/start-server.py
163+
argsFile=${nmdir}/set-ms-args.py
162164
163165
# Create a script that starts the node manager, then uses wlst to connect
164166
# to the nodemanager and start the server.
@@ -180,7 +182,14 @@ data:
180182
echo "Finished waiting for the nodemanager to start"
181183
182184
echo "Update JVM arguments"
183-
echo "Arguments=\${USER_MEM_ARGS} -XX\:+UnlockExperimentalVMOptions -XX\:+UseCGroupMemoryLimitForHeap \${JAVA_OPTIONS}" >> ${startProp}
185+
if [ $# -eq 3 ]
186+
then
187+
echo "Update JVM arguments for admin server"
188+
echo "Arguments=\${USER_MEM_ARGS} -XX\:+UnlockExperimentalVMOptions -XX\:+UseCGroupMemoryLimitForHeap \${JAVA_OPTIONS}" >> ${startProp}
189+
else
190+
echo "Update JVM arguments for managed server"
191+
wlst.sh ${argsFile} $1 $2 ${startProp}
192+
fi
184193
185194
echo "Start the server"
186195
wlst.sh -skipWLSModuleScanning ${pyFile}
@@ -208,6 +217,48 @@ data:
208217
209218
checkFileExists ${pyFile}
210219
220+
# Create a python script to set JVM arguments for managed server.
221+
# The script and 'EOF' on the following lines must not be indented!
222+
cat << EOF > ${argsFile}
223+
224+
import os
225+
import sys
226+
EOF
227+
228+
cat /u01/weblogic/read-domain-secret.py >> ${argsFile}
229+
cat << EOF >> ${argsFile}
230+
231+
mem_args=os.environ['USER_MEM_ARGS']
232+
java_opt=os.environ['JAVA_OPTIONS']
233+
admin_server=os.environ['ADMIN_NAME']
234+
admin_port=os.environ['ADMIN_PORT']
235+
236+
domain_UID=sys.argv[1]
237+
server_name=sys.argv[2]
238+
startup_file=sys.argv[3]
239+
240+
adminUrl='t3://' + domain_UID + '-' + admin_server + ':' + admin_port
241+
dirStr='Servers/managed-server1/ServerStart/' + server_name
242+
243+
# Connect to admin server to get startup arguments of this server
244+
connect(admin_username, admin_password, adminUrl)
245+
cd(dirStr)
246+
args=get('Arguments')
247+
disconnect()
248+
249+
f = open(startup_file, 'a')
250+
s=str("Arguments="+ mem_args + " -XX\:+UnlockExperimentalVMOptions -XX\:+UseCGroupMemoryLimitForHeap " + java_opt )
251+
if not (args is None):
252+
s=str(s + " " + args + "\n")
253+
else:
254+
s=str(s + "\n")
255+
256+
f.write(s)
257+
f.close()
258+
EOF
259+
260+
checkFileExists ${argsFile}
261+
211262
}
212263
213264
# Function to create script for stopping a server
@@ -274,7 +325,7 @@ data:
274325
275326
# Setup admin server
276327
createNodeMgrHome %DOMAIN_UID% %ADMIN_SERVER_NAME%
277-
createStartScript %DOMAIN_UID% %ADMIN_SERVER_NAME%
328+
createStartScript %DOMAIN_UID% %ADMIN_SERVER_NAME% 'admin'
278329
createStopScript %DOMAIN_UID% %ADMIN_SERVER_NAME%
279330
280331
# Create the managed servers

0 commit comments

Comments
 (0)