Skip to content

Commit 12f9501

Browse files
author
Lily He
committed
merge startup arguments in config.xml of ms with those in domain spec
1 parent 86cc280 commit 12f9501

File tree

1 file changed

+56
-2
lines changed

1 file changed

+56
-2
lines changed

kubernetes/internal/domain-job-template.yaml

Lines changed: 56 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ data:
159159
stateFile=${DOMAIN_HOME}/servers/$2/data/nodemanager/$2.state
160160
scriptFile=${nmdir}/startServer.sh
161161
pyFile=${nmdir}/start-server.py
162+
argsFile=${nmdir}/set-ms-args.py
162163
163164
# Create a script that starts the node manager, then uses wlst to connect
164165
# to the nodemanager and start the server.
@@ -180,7 +181,14 @@ data:
180181
echo "Finished waiting for the nodemanager to start"
181182
182183
echo "Update JVM arguments"
183-
echo "Arguments=\${USER_MEM_ARGS} -XX\:+UnlockExperimentalVMOptions -XX\:+UseCGroupMemoryLimitForHeap \${JAVA_OPTIONS}" >> ${startProp}
184+
if [ $# -eq 3 ]
185+
then
186+
echo "Update JVM arguments for admin server"
187+
echo "Arguments=\${USER_MEM_ARGS} -XX\:+UnlockExperimentalVMOptions -XX\:+UseCGroupMemoryLimitForHeap \${JAVA_OPTIONS}" >> ${startProp}
188+
else
189+
echo "Update JVM arguments for managed server"
190+
wlst.sh ${argsFile} $1 $2 ${startProp}
191+
fi
184192
185193
echo "Start the server"
186194
wlst.sh -skipWLSModuleScanning ${pyFile}
@@ -208,6 +216,52 @@ data:
208216
209217
checkFileExists ${pyFile}
210218
219+
# Create a python script to set JVM arguments for managed server.
220+
# The script and 'EOF' on the following lines must not be indented!
221+
cat << EOF > ${argsFile}
222+
223+
import os
224+
import sys
225+
EOF
226+
227+
cat /u01/weblogic/read-domain-secret.py >> ${argsFile}
228+
cat << EOF >> ${argsFile}
229+
230+
mem_args=os.environ['USER_MEM_ARGS']
231+
java_opt=os.environ['JAVA_OPTIONS']
232+
admin_server=os.environ['ADMIN_NAME']
233+
admin_port=os.environ['ADMIN_PORT']
234+
235+
domain_UID=sys.argv[1]
236+
server_name=sys.argv[2]
237+
startup_file=sys.argv[3]
238+
239+
print("mem_args=" + mem_args)
240+
print("java_opt=" + java_opt)
241+
adminUrl='t3://' + domain_UID + '-' + admin_server + ':' + admin_port
242+
print("adminUrl=" + adminUrl)
243+
dirStr='Servers/managed-server1/ServerStart/' + server_name
244+
print("dirStr=" + dirStr)
245+
246+
# Connect to admin server to get startup arguments of this server
247+
connect(admin_username, admin_password, adminUrl)
248+
cd(dirStr)
249+
args=get('Arguments')
250+
disconnect()
251+
252+
f = open(startup_file, 'a')
253+
s=str("Arguments="+ mem_args + " -XX\:+UnlockExperimentalVMOptions -XX\:+UseCGroupMemoryLimitForHeap " + java_opt )
254+
if not (args is None):
255+
s=str(s + " " + args + "\n")
256+
else:
257+
s=str(s + "\n")
258+
259+
f.write(s)
260+
f.close()
261+
EOF
262+
263+
checkFileExists ${argsFile}
264+
211265
}
212266
213267
# Function to create script for stopping a server
@@ -274,7 +328,7 @@ data:
274328
275329
# Setup admin server
276330
createNodeMgrHome %DOMAIN_UID% %ADMIN_SERVER_NAME%
277-
createStartScript %DOMAIN_UID% %ADMIN_SERVER_NAME%
331+
createStartScript %DOMAIN_UID% %ADMIN_SERVER_NAME% 'admin'
278332
createStopScript %DOMAIN_UID% %ADMIN_SERVER_NAME%
279333
280334
# Create the managed servers

0 commit comments

Comments
 (0)