zeus 3 years ago
parent
commit
ff06a054f3
  1. 76
      install/usr/share/swarmlab.io/sec/sec_bootstrapmysql
  2. 2
      install/usr/share/swarmlab.io/sec/swarmlab-sec

76
install/usr/share/swarmlab.io/sec/sec_bootstrapmysql

@ -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

2
install/usr/share/swarmlab.io/sec/swarmlab-sec

@ -322,11 +322,13 @@ services:
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
user: root user: root
entrypoint: ["sec_bootstrapmysql", "role=masterservice", "sec_master_service_name=masterservice", "sec_worker_service_name=workerservice"]
networks: networks:
- ${HYBRID_NETWORK} - ${HYBRID_NETWORK}
volumes: volumes:
- $Wdir/project:/home/docker/project - $Wdir/project:/home/docker/project
- $Wdir/bin/ttyd.x86_64:/usr/bin/ttyd - $Wdir/bin/ttyd.x86_64:/usr/bin/ttyd
- $Wdir/sec_bootstrapmysql:/usr/bin/sec_bootstrapmysql
- db:/var/lib/mysql - db:/var/lib/mysql
networks: networks:

Loading…
Cancel
Save