summarylogtreecommitdiffstats
path: root/slurm-llnl-git.install
blob: 6ccc367a37c59f3c86b5773b94809ce1bf0a6d6e (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
		msg "Adding slurm system group..."
		groupadd -g 64030 -r slurm || groupadd -r slurm

		msg "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

		msg "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

	msg "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
		msg "Your configuration-files were moved from /etc/slurm to /etc/slurm-llnl !"
	fi
}

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

		msg "Disabling SystemD related file(s)..."
		systemctl disable slurmd.service
		systemctl disable slurmdbd.service
		systemctl disable slurmctld.service
	else
		msg "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 ]] && msg "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 && msg "Logfiles were preserved. They reside under /var/log/slurm-llnl ."

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