summaryrefslogtreecommitdiffstats
path: root/satellit_upgrader/updater.template.sh
diff options
context:
space:
mode:
authorSimon Rettberg2017-12-20 23:42:30 +0100
committerSimon Rettberg2017-12-20 23:42:30 +0100
commit7454d09eb057dc34603642e590c15cc11ba2a551 (patch)
treebde55426ff7c26073f7581576e5ce6528ac2b442 /satellit_upgrader/updater.template.sh
parent[SSUS] Fix: Only try to install dnbd3-server if included in updater (diff)
downloadsetup-scripts-7454d09eb057dc34603642e590c15cc11ba2a551.tar.gz
setup-scripts-7454d09eb057dc34603642e590c15cc11ba2a551.tar.xz
setup-scripts-7454d09eb057dc34603642e590c15cc11ba2a551.zip
[SSUS] More consistent log messages
Diffstat (limited to 'satellit_upgrader/updater.template.sh')
-rw-r--r--satellit_upgrader/updater.template.sh77
1 files changed, 35 insertions, 42 deletions
diff --git a/satellit_upgrader/updater.template.sh b/satellit_upgrader/updater.template.sh
index c3b21f4..cb2503c 100644
--- a/satellit_upgrader/updater.template.sh
+++ b/satellit_upgrader/updater.template.sh
@@ -173,6 +173,13 @@ if [ -n "$TGZ_TASKMANAGER" ]; then
echo "Taskmanager upgrade complete"
fi
+# *****************taskmanager sudo config *****************
+if [ -s "$FILEDIR/tm-sudo-config" ]; then
+ echo "Installing new sudo config for taskmanager"
+ cp -f "$FILEDIR/tm-sudo-config" "/etc/sudoers.d/taskmanager" || pwarning "Could not update sudo conf for taskmanager"
+ chmod 0440 "/etc/sudoers.d/taskmanager"
+fi
+
# ************************** IPXE **************************
IPXE_PID=
if [ -n "$TGZ_IPXE" ]; then
@@ -204,6 +211,7 @@ if [ -n "$TGZ_SLXADMIN" ]; then
rm -f -- "$PATH_SLXADMIN/config.php.example"
# New config.php supplied
if [ -s "$FILEDIR/slxadmin-config.php" ]; then
+ echo "Updating slx-admin config"
# Get data from old config
OLDFOOTER="$(grep -m 1 CONFIG_FOOTER "${PATH_SLXADMIN}/config.php" | awk -F "'" '{print $4}' | sed 's/[ \[\]\(\)]*Update.*$//;s/#/+/g')"
SQLPASS=$(grep -m1 '^define.*CONFIG_SQL_PASS.*;' "${PATH_SLXADMIN}/config.php" | awk -F "'" '{print $4}')
@@ -227,19 +235,23 @@ if [ -n "$TGZ_SLXADMIN" ]; then
sed -i "s#^.*define.*CONFIG_FOOTER.*\$#define('CONFIG_FOOTER', '${FOOTER}');#" "${PATH_SLXADMIN}/config.php"
grep -q 'CONFIG_FOOTER' "${PATH_SLXADMIN}/config.php" || echo "define('CONFIG_FOOTER', '${FOOTER}');" >> "${PATH_SLXADMIN}/config.php"
echo "$TARGET_WEBIF_VERSION" > "${PATH_SLXADMIN}/version"
+ echo "Config updated"
fi
# New cronscript supplied
if [ -s "$FILEDIR/slxadmin-cronscript" ]; then
+ echo "Installing slx-admin cron script"
cp "$FILEDIR/slxadmin-cronscript" "/opt/openslx/slxadmin-cronscript"
fi
# New crontab supplied
if [ -s "$FILEDIR/slxadmin-crontab" ]; then
+ echo "Installing slx-admin cron file"
cp "$FILEDIR/slxadmin-crontab" "/etc/cron.d/slx-admin"
fi
# Enable modules
(
mkdir -p "$PATH_SLXADMIN/modules"
cd "$PATH_SLXADMIN/modules" || perror "Cannot cd to slxadmin"
+ echo "Enabling slx-admin modules"
for mod in adduser backup baseconfig baseconfig_bwidm baseconfig_bwlp bootstrap_datepicker bootstrap_dialog bootstrap_multiselect bootstrap_switch bootstrap_timepicker dnbd3 dozmod eventlog exams js_chart js_circles js_jqueryui js_moment js_selectize js_stupidtable js_vis js_weekcalendar locationinfo locations main minilinux news rebootcontrol roomplanner runmode serversetup-bwlp session statistics statistics_reporting summernote sysconfig syslog systemstatus vmstore webinterface; do
name=${mod%%-*}
rm -f -- "$name"
@@ -268,6 +280,7 @@ if [ -n "$TGZ_SLXADMIN" ]; then
chown root:www-data "$PATH_SLXADMIN/config.php"
# config.tgz symlink -> db entry
if [ -L /srv/openslx/www/boot/default/config.tgz ]; then
+ echo "Migrating config activation from symlink to database"
CONFTGZ=$(readlink /srv/openslx/www/boot/default/config.tgz | sed "s/'/\\\'/g")
echo "config.tgz links to '$CONFTGZ'"
mysql -e "INSERT IGNORE INTO openslx.configtgz_location (locationid, configid) SELECT 0, configid FROM openslx.configtgz WHERE filepath = '$CONFTGZ' LIMIT 1" \
@@ -278,6 +291,7 @@ if [ -n "$TGZ_SLXADMIN" ]; then
mkdir -p "${PATH_SLXADMINCACHE}"
fixperms "${PATH_SLXADMINCACHE}" www-data:www-data
+ echo "Symlinking bwIDM slx-admin config"
rm -f -- "/srv/openslx/www/slx-admin/modules-available/baseconfig_bwidm/baseconfig/settings.json"
ln -s "${PATH_SLXADMINCACHE}/baseconfig-bwidm_settings.json" /srv/openslx/www/slx-admin/modules-available/baseconfig_bwidm/baseconfig/settings.json || \
pwarning "Could not set link ${PATH_SLXADMINCACHE}/baseconfig-bwidm_settings.json to /srv/openslx/www/slx-admin/modules-available/baseconfig_bwidm/baseconfig/settings.json - do so manually if you need bwIDM login on client computers"
@@ -320,48 +334,44 @@ if [ -n "$TGZ_TFTP" ]; then
echo "TFTP upgrade complete"
fi
+echo "* Configuring lighttpd"
+
RESTART_LIGHTY=
# ********************** lighttpd config *******************
if [ -e "$FILEDIR/lighttpd.conf" ] && [ -e "/etc/lighttpd/lighttpd.conf" ]; then
- echo "* Replacing lighttpd.conf"
+ echo "Replacing lighttpd.conf"
cp "$FILEDIR/lighttpd.conf" "/etc/lighttpd/lighttpd.conf" || perror "Could not replace /etc/lighttpd/lighttpd.conf"
RESTART_LIGHTY=ja
- echo "lighttpd config upgrade complete"
fi
# ********************** lighttpd auto ssl *******************
if [ -e "$FILEDIR/lighttpd-auto-ssl.sh" ] && [ -d "/usr/share/lighttpd" ]; then
- echo "* Replacing lighttpd auto-ssl.sh"
+ echo "Installing lighttpd auto-ssl.sh"
cp "$FILEDIR/lighttpd-auto-ssl.sh" "/usr/share/lighttpd/auto-ssl.sh" || perror "Could not replace /usr/share/lighttpd/auto-ssl.sh"
RESTART_LIGHTY=ja
- echo "lighttpd auto-ssl.sh upgrade complete"
fi
# ********************** lighttpd-include-conf-d.sh *******************
if [ -e "$FILEDIR/lighttpd-include-conf-d.sh" ] && [ -d "/usr/share/lighttpd" ]; then
- echo "* Replacing lighttpd include-conf-d.sh"
+ echo "Installing lighttpd include-conf-d.sh"
cp "$FILEDIR/lighttpd-include-conf-d.sh" "/usr/share/lighttpd/include-conf-d.sh" || perror "Could not replace /usr/share/lighttpd/include-conf-d.sh"
RESTART_LIGHTY=ja
- echo "lighttpd include-conf-d.sh upgrade complete"
fi
# ********************** lighttpd php_children *************
if [ -e "$FILEDIR/patch_lighttpd_phpchildren" ]; then
- echo "* lighttpd: dynamic php children value"
+ echo "Installing script to set dynamic php children value"
cp "$FILEDIR/patch_lighttpd_phpchildren" /usr/local/sbin || perror "Could not copy patch_lighttpd_phpchildren script!"
+ chmod +x /usr/local/sbin/patch_lighttpd_phpchildren # Just to sleep better in dark nights.
if [ -f "/lib/systemd/system/lighttpd.service" ]; then
# service file found, patching dynamic php children value at system start via patchfile
if ! grep -q patch_lighttpd_phpchildren "/lib/systemd/system/lighttpd.service"; then
- echo "Patching service file ... "
+ echo "Patching service file"
sed -i 's#\[Service\]#\[Service\]\nExecStartPre=\-/usr/local/sbin/patch_lighttpd_phpchildren#g' \
/lib/systemd/system/lighttpd.service || perror "Could not patch service file!"
- chmod +x /usr/local/sbin/patch_lighttpd_phpchildren # Just to sleep better in dark nights.
systemctl daemon-reload
RESTART_LIGHTY=ja
fi
- echo "Done."
- else
- pwarning "lighttpd.service not found. Doing nothing."
fi
fi
@@ -369,7 +379,7 @@ fi
declare -rg PHPINIFILE=/etc/php5/cgi/php.ini
if ! grep -q 'upload_max_filesize = 100M' "$PHPINIFILE"; then
- echo "* Increasing php upload limit"
+ echo "* PHP: Increasing upload limit to 100MB"
if grep -q -E '^\s*upload_max_filesize' "$PHPINIFILE"; then
sed -i -e '/^\s*upload_max_filesize/c\upload_max_filesize = 100M' "$PHPINIFILE" || pwarning "Could not increase PHP upload limit :( (1.a)"
else
@@ -405,37 +415,32 @@ fi
# ********************** dnbd3 config *******************
-echo "* Checking dnbd3 stuff ... "
+echo "* Setting up dnbd3"
mkdir -p /etc/dnbd3-server || perror "Could not mkdir /etc/dnbd3-server"
mkdir -p "$PATH_DNBD3" || perror "Could not create $PATH_DNBD3"
# check for dnbd3 user: dnbd3, 10002, group dnbd3, 10002
-echo -n "* Checking for dnbd3 user ... "
-if id -u dnbd3 &> /dev/null; then
- echo "not found."
- echo -n "* Checking for dnbd3 group ... "
+if ! id -u dnbd3 &> /dev/null; then
dnbd3group=$(getent group dnbd3 2>/dev/null | cut -d ":" -f 3)
if [ -z "$dnbd3group" ]; then
+ echo "Creating dnbd3 group with gid $dnbd3group"
dnbd3group=10002
groupadd -g "$dnbd3group" dnbd3 || perror "Could not add dnbd3 group!"
- echo "group added."
+ echo "Group added"
else
- echo "group already there: adding user to group."
+ echo "Using existing group dnbd3 with gid $dnbd3group"
fi
- echo -n "* Adding user dnbd3 ... "
+ echo "Adding user dnbd3"
useradd --no-create-home -d /nonexistent -s /bin/false --gid "$dnbd3group" --uid 10002 dnbd3 || perror "Could not add user dnbd3!"
- echo "added."
-else
- # if there's an user we don't care about any groups
- echo "found. Doing nothing."
+ echo "User added"
fi
-echo -n "* Checking for $PACKAGE_LIBJANSSON ... "
if dpkg -l | grep -q "^ii\\s.*$PACKAGE_LIBJANSSON"; then
- echo -n "not found. Trying to install ... "
- if ! apt-get install -y "$PACKAGE_LIBJANSSON" 2>/dev/null 1>&2; then
+ echo "Installing $PACKAGE_LIBJANSSON"
+ if ! apt-get install -y "$PACKAGE_LIBJANSSON" &> "$TMPDIR/apt.log"; then
+ cat "$TMPDIR/apt.log"
pwarning "*"
pwarning "* Warning: Could not install $PACKAGE_LIBJANSSON!"
pwarning "*"
@@ -444,27 +449,22 @@ if dpkg -l | grep -q "^ii\\s.*$PACKAGE_LIBJANSSON"; then
pwarning "* install $PACKAGE_LIBJANSSON otherwise."
pwarning "*"
else
- echo "installed."
+ echo "Installed"
fi
-else
- echo "found."
fi
# config
if [ -e "$FILEDIR/server.conf" ]; then
echo "* Inserting server.conf (dnbd3)"
cp "$FILEDIR/server.conf" "/etc/dnbd3-server/server.conf" || perror "Could not write /etc/dnbd3-server/server.conf"
- echo "dnbd3 config inserted"
fi
if [ -e "$FILEDIR/is-enabled" ]; then
echo "* Inserting is-enabled to $PATH_DNBD3 (dnbd3)"
cp "$FILEDIR/is-enabled" "$PATH_DNBD3/is-enabled" || perror "Could not write /opt/openslx/dnbd3/is-enabled"
- echo "is-enabled inserted (dnbd3)"
fi
if [ -e "$FILEDIR/rpc.acl" ]; then
echo "* Inserting rpc.acl to $PATH_DNBD3 (dnbd3)"
cp "$FILEDIR/rpc.acl" "/etc/dnbd3-server/rpc.acl" || perror "Could not write /etc/dnbd3-server/rpc.acl"
- echo "rpc.acl inserted (dnbd3)"
fi
if [ -n "$TGZ_DNBD3" ]; then
@@ -474,7 +474,7 @@ fi
# ********************** dnbd3.service *******************
if [ -e "$FILEDIR/dnbd3-server.service" ]; then
- echo "* Replacing/writing dnbd3-server.service"
+ echo "Replacing/writing dnbd3-server.service"
cp "$FILEDIR/dnbd3-server.service" "/etc/systemd/system/dnbd3-server.service" \
|| perror "Could not replace/write /etc/systemd/system/dnbd3-server.service"
ln -s -f "../dnbd3-server.service" "/etc/systemd/system/multi-user.target.wants/"
@@ -537,13 +537,6 @@ if ! [ -s /root/.ssh/id_rsa ]; then
echo "* Generating ssh keypair"
mkdir -p /root/.ssh
ssh-keygen -f /root/.ssh/id_rsa -N '' -C autogenerated &>/dev/null || pwarning "Could not create new ssh keypair in /root/.ssh/id_rsa"
- echo "done"
-fi
-
-# ************************ sudo config *********************
-if [ -s "$FILEDIR/tm-sudo-config" ]; then
- cp -f "$FILEDIR/tm-sudo-config" "/etc/sudoers.d/taskmanager" || pwarning "Could not update sudo conf for taskmanager"
- chmod 0440 "/etc/sudoers.d/taskmanager"
fi
# Wait for webif callbacks and IPXE compile