summarylogtreecommitdiffstats
path: root/slurm-llnl-dev.install
blob: 98f9615e03eb5a46ef298cc9f61266096d1d6b9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
post_install() {
	if ! id slurm >&/dev/null; then
		echo "Adding slurm system group..."
		groupadd -g 64030 -r slurm || groupadd -r slurm

		echo "Adding slurm system user..."
		useradd -r -c "Slurm Daemon" -d /var/log/slurm-llnl -g slurm -u 64030 slurm || useradd -r -c "Slurm Daemon" -d /var/log/slurm-llnl -g slurm slurm

		echo "Locking Slurm User Account..."
		passwd -l slurm &>/dev/null
	fi

	# Secure the log dir
	if [ -d /var/log/slurm-llnl ]; then
		chown -R slurm:slurm /var/log/slurm-llnl
	fi

	echo "You have to create a slurm configuration-file in /etc/slurm-llnl/ prior to starting any slurm daemons."
}

post_upgrade() {
	# REMOVE ONEDAY - TODO
	if [[ -f /etc/slurm/slurm.conf ]]; then
		mv /etc/slurm/* /etc/slurm-llnl/
		rmdir /etc/slurm
		echo "Your configuration-files were moved from /etc/slurm to /etc/slurm-llnl !"
	fi
}

pre_remove() {
	if which systemctl >& /dev/null; then
		echo "Stopping slurm daemons through SystemD..."
		systemctl stop slurmd.service
		systemctl stop slurmdbd.service
		systemctl stop slurmctld.service

		echo "Disabling SystemD related file(s)..."
		systemctl disable slurmd.service
		systemctl disable slurmdbd.service
		systemctl disable slurmctld.service
	else
		echo "Stopping slurm daemons..."
		/etc/rc.d/slurm stop
		/etc/rc.d/slurmdbd stop
	fi
}

post_remove() {
	# Delete remnant recusivly
	rm -rf /var/lib/slurm-llnl

	# Change directories which formerly belonged to slurm to be owned by root
	[[ -d /var/spool/slurm ]] && chown -R root:root /var/spool/slurm
	# Notify the user of kept dirs
	[[ -d /etc/slurm-llnl ]] && echo "Custom configuration-file(s) in /etc/slurm-llnl/ were kept on your system."
	[[ -d /var/log/slurm-llnl ]] && chown -R root:root /var/log/slurm-llnl && echo "Logfiles were preserved. They reside under /var/log/slurm-llnl ."

	echo "Removing slurm system user/group..."
	userdel slurm
}