zeus
3 years ago
2 changed files with 78 additions and 0 deletions
@ -0,0 +1,76 @@ |
|||||
|
#!/bin/sh |
||||
|
|
||||
|
ROLE="undefined" |
||||
|
MPI_MASTER_SERVICE_NAME="sec_masterservice" |
||||
|
MPI_WORKER_SERVICE_NAME="sec_workerservice" |
||||
|
HOSTNAMES="/etc/nethosts" |
||||
|
|
||||
|
####################### |
||||
|
# ARGUMENTS PARSER |
||||
|
|
||||
|
while [ "$1" != "" ]; |
||||
|
do |
||||
|
PARAM=$(echo "$1" | awk -F= '{print $1}') |
||||
|
VALUE=$(echo "$1" | awk -F= '{print $2}') |
||||
|
|
||||
|
case $PARAM in |
||||
|
role) |
||||
|
[ "$VALUE" ] && ROLE=$VALUE |
||||
|
;; |
||||
|
|
||||
|
sec_master_service_name) |
||||
|
[ "$VALUE" ] && MPI_MASTER_SERVICE_NAME=$VALUE |
||||
|
;; |
||||
|
|
||||
|
sec_worker_service_name) |
||||
|
[ "$VALUE" ] && MPI_WORKER_SERVICE_NAME=$VALUE |
||||
|
;; |
||||
|
*) |
||||
|
echo "ERROR: unknown parameter \"$PARAM\"" |
||||
|
exit 1 |
||||
|
;; |
||||
|
esac |
||||
|
shift |
||||
|
done |
||||
|
|
||||
|
|
||||
|
|
||||
|
cat > /etc/opt/service_names <<- EOF |
||||
|
MPI_MASTER_SERVICE_NAME=${MPI_MASTER_SERVICE_NAME} |
||||
|
MPI_WORKER_SERVICE_NAME=${MPI_WORKER_SERVICE_NAME} |
||||
|
EOF |
||||
|
|
||||
|
case $ROLE in |
||||
|
"masterservice") |
||||
|
|
||||
|
# Auto update default host file in background and dumb all output |
||||
|
auto_update_hosts "${HOSTNAMES}" > /dev/null 2>&1 & |
||||
|
|
||||
|
|
||||
|
ttyd -p 3787 bash |
||||
|
tail -f /dev/null |
||||
|
|
||||
|
# Start ssh server |
||||
|
#/usr/sbin/sshd -D |
||||
|
;; |
||||
|
|
||||
|
|
||||
|
"workerservice") |
||||
|
|
||||
|
# Start ssh server in background |
||||
|
#/usr/sbin/sshd -D & |
||||
|
|
||||
|
# Keep trying to connect to master node and stay there indefinitely so that master node can see |
||||
|
# the connected hosts that are ready for MPI work |
||||
|
#while sleep 1 |
||||
|
#do |
||||
|
# shellcheck disable=SC2086 |
||||
|
# ssh -T -o "StrictHostKeyChecking no" \ |
||||
|
# -i "${USER_HOME}/.ssh/id_rsa" \ |
||||
|
# ${USER}@${MPI_MASTER_SERVICE_NAME} \ |
||||
|
tail -f /dev/null |
||||
|
#done |
||||
|
;; |
||||
|
*) |
||||
|
echo 'role argument only accepts "masterservice" or "workerservice"' |
||||
|
esac |
Loading…
Reference in new issue