Skip to content
Snippets Groups Projects
Commit f1b8b704 authored by Mathis Rosenhauer's avatar Mathis Rosenhauer
Browse files

Use constant

parent d8429d50
No related branches found
No related tags found
No related merge requests found
......@@ -32,6 +32,8 @@ PASSWORD=true # <-- If enabled, the vncpassword
# the local workstation (only
# works with TurboVNC)
MISTRAL="${USERNAME}@mistral.dkrz.de"
clean_up () {
trap - ERR
set +e
......@@ -44,24 +46,22 @@ clean_up () {
if [[ ${vnc_host_display} && ${xvnc_pid} ]]; then
# Kill Xvnc process. Mainly done to remove lock file.
local vnc_host=$(echo ${vnc_host_display} | cut -d':' -f1)
ssh ${USERNAME}@mistral.dkrz.de \
"ssh ${USERNAME}@${vnc_host} \"kill ${xvnc_pid}\"" 2> /dev/null
ssh ${MISTRAL} "ssh ${USERNAME}@${vnc_host} \"kill ${xvnc_pid}\"" \
2> /dev/null
fi
if [[ ${job_id} ]]; then
# Clean up temp files and cancel job
tmp_files="${tmp_files} out.${job_id} out.${job_id}_DKRZepilog \
vnc_gethost.${job_id}"
ssh ${USERNAME}@mistral.dkrz.de \
"scancel ${job_id}; sleep 1" 2> /dev/null
ssh ${MISTRAL} "scancel ${job_id}; sleep 1" 2> /dev/null
else
echo "Job ID not available. Make sure the vncjob is not running!"
ssh ${USERNAME}@mistral.dkrz.de "squeue -u ${USERNAME}"
ssh ${MISTRAL} "squeue -u ${USERNAME}"
fi
if [[ ${tmp_files} ]]; then
ssh ${USERNAME}@mistral.dkrz.de \
"cd .startvnc && rm -f ${tmp_files}" 2> /dev/null
ssh ${MISTRAL} "cd .startvnc && rm -f ${tmp_files}" 2> /dev/null
fi
# Remove local vnc PasswordFile
......@@ -74,10 +74,9 @@ clean_up () {
trap 'clean_up \"${job_id}\" \"${vnc_host_display}\" \"${xvnc_pid}\" \
\"${job_script}\"' INT QUIT TERM ERR
job_script=$(ssh ${USERNAME}@mistral.dkrz.de \
'mkdir -p .startvnc && cd .startvnc && mktemp vncjob.XXXXX')
ssh ${USERNAME}@mistral.dkrz.de \
"mkdir -p .startvnc; cat > .startvnc/${job_script}" <<EOF
job_script=$( \
ssh ${MISTRAL} 'mkdir -p .startvnc && cd .startvnc && mktemp vncjob.XXXXX')
ssh ${MISTRAL} "mkdir -p .startvnc; cat > .startvnc/${job_script}" <<EOF
#!/bin/bash
#SBATCH --partition=gpu
#SBATCH --ntasks=12
......@@ -91,10 +90,10 @@ cd \${HOME}
EOF
echo "Submitting Xvnc job."
job_id=$(ssh ${USERNAME}@mistral.dkrz.de \
"cd .startvnc && sbatch ${job_script}" | grep -Po "\b[0-9]+$")
job_id=$(ssh ${MISTRAL} "cd .startvnc && sbatch ${job_script}" \
| grep -Po "\b[0-9]+$")
ssh ${USERNAME}@mistral.dkrz.de "cat > .startvnc/vnc_gethost.${job_id}" <<EOF
ssh ${MISTRAL} "cat > .startvnc/vnc_gethost.${job_id}" <<EOF
#!/bin/bash
cd "\${0%/*}"
LOGFILE=out.${job_id}
......@@ -109,18 +108,16 @@ echo \${vnc_host_display}
EOF
echo "Waiting for job ${job_id} to start."
vnc_host_display=$(ssh ${USERNAME}@mistral.dkrz.de \
"/bin/bash .startvnc/vnc_gethost.${job_id}")
xvnc_pid=$(ssh ${USERNAME}@mistral.dkrz.de \
"cat .vnc/${vnc_host_display}.pid")
vnc_host_display=$(ssh ${MISTRAL} "/bin/bash .startvnc/vnc_gethost.${job_id}")
xvnc_pid=$(ssh ${MISTRAL} "cat .vnc/${vnc_host_display}.pid")
# Start VNC client
if [[ ${PASSWORD} == true ]]; then
scp ${USERNAME}@mistral.dkrz.de:~/.vnc/passwd ~/.vnc/passwd2
${VNCVIEWER} -via ${USERNAME}@mistral.dkrz.de ${vnc_host_display} \
scp ${MISTRAL}:~/.vnc/passwd ~/.vnc/passwd2
${VNCVIEWER} -via ${MISTRAL} ${vnc_host_display} \
-PasswordFile ~/.vnc/passwd2
else
${VNCVIEWER} -via ${USERNAME}@mistral.dkrz.de ${vnc_host_display}
${VNCVIEWER} -via ${MISTRAL} ${vnc_host_display}
fi
clean_up "${job_id}" "${vnc_host_display}" "${xvnc_pid}" "${job_script}"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment