summaryrefslogtreecommitdiffstats
path: root/satellit_installer/includes/50-install_bwSuite_server.inc
diff options
context:
space:
mode:
authorSimon Rettberg2015-09-18 16:35:30 +0200
committerSimon Rettberg2015-09-18 16:35:30 +0200
commite5e316c0e900968f787ad671db9abecde55d2df6 (patch)
treeb44b1bc746bc5b95924945af5db275245b2b48be /satellit_installer/includes/50-install_bwSuite_server.inc
parent[SSPS] Remove obsolete files (diff)
downloadsetup-scripts-e5e316c0e900968f787ad671db9abecde55d2df6.tar.gz
setup-scripts-e5e316c0e900968f787ad671db9abecde55d2df6.tar.xz
setup-scripts-e5e316c0e900968f787ad671db9abecde55d2df6.zip
[SSPS] Introduce upper and lower memory bounds for dmsd memory, move heredocs around
Diffstat (limited to 'satellit_installer/includes/50-install_bwSuite_server.inc')
-rw-r--r--satellit_installer/includes/50-install_bwSuite_server.inc62
1 files changed, 48 insertions, 14 deletions
diff --git a/satellit_installer/includes/50-install_bwSuite_server.inc b/satellit_installer/includes/50-install_bwSuite_server.inc
index d3a6cd1..c783eeb 100644
--- a/satellit_installer/includes/50-install_bwSuite_server.inc
+++ b/satellit_installer/includes/50-install_bwSuite_server.inc
@@ -1,28 +1,62 @@
config_bwSuite_server() {
# $1: Path to server directory
- echo -n "# Writing configuration for bwSuite server..."
- echo "vmstore.path = /srv/openslx/nfs" > "$1/config.properties"
- echo "db.uri = jdbc:mysql://localhost/sat?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&characterSetResults=utf8&connectionCollation=utf8mb4_unicode_ci" >> "$1/config.properties"
- echo "db.username = sat" >> "$1/config.properties"
- echo "db.password = %MYSQL_SAT_PASS%" >> "$1/config.properties"
- echo "master.address = bwlp-masterserver.ruf.uni-freiburg.de" >> "$1/config.properties"
+ cat > "$1/config.properties" <<-EOF
+ vmstore.path = /srv/openslx/nfs
+ db.uri = jdbc:mysql://localhost/sat?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&characterSetResults=utf8&connectionCollation=utf8mb4_unicode_ci
+ db.username = sat
+ db.password = %MYSQL_SAT_PASS%
+ master.address = bwlp-masterserver.ruf.uni-freiburg.de
+ EOF
chown dmsd:images "$1/config.properties"
- chmod 0640 "$1/config.properties"
- echo "ok."
+ chmod 0600 "$1/config.properties"
+}
+
+install_bwSuite_service() {
+ # $1: Path to server directory
+ cat > "/etc/systemd/system/dmsd.service" <<-EOF
+ [Unit]
+ Description=DMSD is the Dozentenmodul server daemon
+ Wants=mysql.service
+ After=mysql.service
+
+ [Service]
+ User=dmsd
+ Group=images
+ WorkingDirectory=$1
+ ExecStart=$1/dmsd.sh
+ Restart=always
+ RestartSec=5
+ SyslogIdentifier=dmsd
+ StandardOutput=syslog
+ StandardError=syslog
+
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+ cat > "$1/dmsd.sh" <<-EOF
+ #!/bin/sh
+
+ KB=\$($(which grep) ^MemTotal /proc/meminfo | $(which awk) '{print \$2}')
+ [ -z "\$KB" ] KB=600000
+ MB=\$(( \$KB / 1024 ))
+ [ "\$MB" -gt 2000 ] MB=2000
+ [ "\$MB" -lt 190 ] MB=190
+
+ exec $(which java) -Xmx\${MB}M -jar dmsd.jar
+ EOF
}
install_bwSuite_server() {
# $1: directory to install server to
- echo -n "# Installing server part of bwSuite... "
+ echo "# Installing server part of bwSuite... "
mkdir -p "$1" 2>/dev/null
- mkdir -p "$1/flag"
- cp -p "$BASEDIR/static_files/bwLehrpoolSuite_Server.jar" "$1/bwLehrpoolSuite_Server.jar"
+ install -m 0644 -p -o root -g root "$BASEDIR/static_files/dmsd.jar" "$1/dmsd.jar" \
+ || perror "Could not install dmsd.jar"
chown -R root:root "$1"
chmod -R go-w "$1"
- touch "$1/flag/run" # Set run flag right from the start
- chown -R dmsd: "$1/flag"
- echo "ok."
config_bwSuite_server "$1"
+ install_bwSuite_service "$1"
}
+