#!/usr/bin/env expect
############################################################################
# Purpose: Test of Slurm functionality
#          Validate that the mcs plugin (mcs/account) is OK with sbatch
############################################################################
# Copyright (C) 2016 CEA/DAM/DIF
# Written by Aline Roy <aline.roy@cea.fr>
#
# This file is part of Slurm, a resource management program.
# For details, see <https://slurm.schedmd.com/>.
# Please also read the included file: DISCLAIMER.
#
# Slurm is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# Slurm is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along
# with Slurm; if not, write to the Free Software Foundation, Inc.
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA.
############################################################################
source ./globals

set cwd          "[$bin_pwd]"
set config_path  ""
set tmp_job      "$test_dir/script"
set job_id       0

if {![is_super_user]} {
	skip "This test can't be run except as SlurmUser"
}

if {[get_config_param "AccountingStorageType"] ne "accounting_storage/slurmdbd"} {
	skip "This test can't be run without a usable AccountStorageType"
}

set config_path [get_conf_path]
set config_file $config_path/slurm.conf
save_conf $config_file

proc cleanup {} {
	global job_id config_file

	# Clean up jobs and restore original slurm.conf file
	cancel_job $job_id
	restore_conf $config_file
	reconfigure
}

log_info "---Checking sbatch uses mcs-label only for some jobs (ondemand mode)---"

#
# Change the slurm.conf MCSparameters and MCSPlugin
#
exec $bin_sed -i /^\[\t\s\]*MCSPlugin\[\t\s\]*=/Id $config_file
exec $bin_sed -i /^\[\t\s\]*MCSParameters\[\t\s\]*=/Id $config_file
exec $bin_sed -i /^\[\t\s\]*PrivateData\[\t\s\]*=/Id $config_file
exec $bin_echo -e "\nMCSPlugin=mcs/account" >> $config_file
exec $bin_echo MCSParameters=ondemand,select,privatedata >> $config_file
exec $bin_echo PrivateData=jobs,nodes >> $config_file
reconfigure -fail

#
# verify slurm conf parameters MCS
#
set found 0
spawn -noecho $bin_bash -c "exec $scontrol show config | $bin_grep MCS"
expect {
	-re "MCSPlugin               = mcs/account" {
		log_debug "MCSPlugin=mcs/account OK"
		set found 1
		exp_continue
	}
	timeout {
		fail "scontrol is not responding"
	}
	eof {
		wait
	}
}
if {$found == 0} {
	fail "MCSPlugin parameter in scontrol show config is not mcs/account"
}

###### Check that sbatch fails with a bad mcs-label ######
log_info "---Checking sbatch fails with a bad mcs-label ---"

set timeout $max_job_delay
make_bash_script $tmp_job "sleep 10"
spawn $sbatch -N1 --mcs-label=foo -t1 $tmp_job
expect {
	-re "Batch job submission failed: Invalid mcs_label specified" {
		log_debug "This error is expected, no worries"
		exp_continue
	}
	-re "Submitted batch job ($number)" {
		set job_id $expect_out(1,string)
		exp_continue
	}
	timeout {
		fail "sbatch not responding"
	}
	eof {
		wait
	}
}
if {$job_id != 0} {
	fail "Job was submitted with invalid mcs-label"
}

###### Check that sbatch uses mcs-label=account ######
log_info "---Checking sbatch uses mcs-label=account---"

set job_id 0
spawn $sbatch -N1 -o/dev/null --exclusive=mcs -t1 $tmp_job
expect {
	-re "Submitted batch job ($number)" {
		set job_id $expect_out(1,string)
		exp_continue
	}
	timeout {
		fail "sbatch is not responding"
	}
	eof {
		wait
	}
}
if {$job_id == 0} {
	fail "Job was not submitted"
}

set user_name "NOT_SET"
set user_name [get_my_user_name]

set account_name "NOT_SET"
spawn $bin_bash -c "exec $sacctmgr -nP list user user=$user_name format=defaultaccount"
expect {
	-re "($re_word_str)" {
		set account_name $expect_out(1,string)
		exp_continue
	}
	timeout {
		fail "sacctmgr is not responding"
	}
	eof {
		wait
	}
}

set found 0
spawn $squeue --jobs=$job_id --noheader -O "mcslabel"
expect {
	-re "(null)" {
		log_debug "NO MCS-label for this job : this is not expected"
		exp_continue
	}
	-re "$account_name" {
		log_debug "MCS-label OK for this job"
		set found 1
		exp_continue
	}
	timeout {
		fail "squeue is not responding"
	}
	eof {
		wait
	}
}

if {$found == 0} {
	fail "Job was submitted with a bad mcs-label"
}

cancel_job $job_id

set job_id 0
spawn $sbatch -N1 -A $account_name --exclusive=mcs -o/dev/null -t10 $tmp_job
expect {
	-re "Submitted batch job ($number)" {
		set job_id $expect_out(1,string)
		exp_continue
	}
	timeout {
		fail "sbatch is not responding"
	}
	eof {
		wait
	}
}

if {$job_id == 0} {
	fail "Job was not submitted"
}
set found 0
sleep 5
spawn $squeue --jobs=$job_id --noheader -O "mcslabel"
expect {
	-re "$account_name" {
		log_debug "MCS-label OK for this job"
		set found 1
		exp_continue
	}
	-re "Invalid job format specification" {
		fail "Invalid job format specification mcslabel"
	}
	timeout {
		fail "squeue is not responding"
	}
	eof {
		wait
	}
}
if {$found == 0} {
	 fail "Job was submitted with a bad mcs-label"
}

set found 0
set node 0
spawn $squeue --jobs=$job_id --noheader -O "nodelist"
expect {
	-re "($re_word_str)" {
		set node $expect_out(1,string)
		log_debug "Node for this job : $node"
		set found 1
	}
	timeout {
		fail "squeue is not responding"
	}
	eof {
		wait
	}
}

if {$found == 0} {
	fail "No node found in squeue command"
}

#
# verify MCS of nodes
#
set found 0
spawn -noecho $bin_bash -c "exec $scontrol show node=$node | $bin_grep MCS"
expect {
	-re "MCS_label=$account_name" {
		log_debug "mcs_label OK for node $node"
		set found 1
		exp_continue
	}
	timeout {
		fail "scontrol is not responding"
	}
	eof {
		wait
	}
}

if {$found == 0} {
	fail "Job was submitted with node with bad mcs-label"
}
cancel_job $job_id

#
# Change the slurm.conf MCSparameters and MCSPlugin
# test with enforced
#
log_info "---Checking sbatch uses mcs-label with all jobs (enforced mode)---"
exec $bin_sed -i /^\[\t\s\]*MCSPlugin\[\t\s\]*=/Id $config_file
exec $bin_sed -i /^\[\t\s\]*MCSParameters\[\t\s\]*=/Id $config_file
exec $bin_sed -i /^\[\t\s\]*PrivateData\[\t\s\]*=/Id $config_file
exec $bin_echo -e "\nMCSPlugin=mcs/account" >> $config_file
exec $bin_echo MCSParameters=enforced,noselect,privatedata >> $config_file
exec $bin_echo PrivateData=jobs,nodes >> $config_file
reconfigure -fail

###### Check that sbatch uses mcs-label=account ######
log_info "---Checking sbatch uses mcs-label=account---"

spawn $sbatch -N1 -o/dev/null -t1 $tmp_job
expect {
	-re "Submitted batch job ($number)" {
		set job_id $expect_out(1,string)
		exp_continue
	}
	timeout {
		fail "sbatch is not responding"
	}
	eof {
		wait
	}
}

if {$job_id == 0} {
	fail "Job was not submitted"
}

set found 0
sleep 3
spawn $squeue --jobs=$job_id --noheader -O "mcslabel"
expect {
	-re "$account_name" {
		log_debug "MCS-label OK for this job"
		set found 1
		exp_continue
	}
	-re "(null)" {
		fail "NO MCS-label for this job"
	}
	timeout {
		fail "squeue is not responding"
	}
	eof {
		wait
	}
}

if {$found == 0} {
	fail "Job was submitted with a bad mcs-label"
}

set found 0
set node 0
spawn $squeue --jobs=$job_id --noheader -O "nodelist"
expect {
	-re "($re_word_str)" {
		set node $expect_out(1,string)
		log_debug "Node for this job : $node"
		set found 1
	}
	timeout {
		fail "squeue is not responding"
	}
	eof {
		wait
	}
}

if {$found == 0} {
	fail "No node found in squeue command"
}

#
# verify MCS of nodes
#
set found 0
spawn -noecho $bin_bash -c "exec $scontrol show node=$node | $bin_grep MCS"
expect {
	-re "MCS_label=$account_name" {
		fail "A mcs_label is found for this job. It was not expected"
	}
	-re "MCS_label=N/A" {
		log_debug "No mcs_label for this node. It was expected"
	}
	timeout {
		fail "scontrol is not responding"
	}
	eof {
		wait
	}
}
