#  Copyright 2020 Dell Inc. or its subsidiaries. All Rights Reserved. 
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

#!/bin/bash

#Usage: change_personality <k|s> <node_name>
#       k = Kubernetes
#       s = Slurm

new_personality=$1
dnsdomain=`dnsdomainname`
shift

if [ $new_personality == "k" ] 
then
# Change Personality to Kubernetes
  echo "[INFO] Changing personality to Kubernetes"
  for node in $*
  do
    echo -n "$node"
    scontrol update nodename=$node state=DRAIN reason="used for k8s"
    kubectl uncordon $node.$dnsdomain > /dev/null  
    echo " [OK]"
  done
elif [ $new_personality == "s" ]
then
# Change Personality to Slurm
  echo "[INFO] Changing personality to Slurm"
  for node in $*
  do
    echo -n "$node"
    kubectl cordon $node.$dnsdomain > /dev/null
    scontrol update nodename=$node state=IDLE reason="used for Slurm"
    echo " [OK]"
  done
else
  echo "[ERROR] $new_personality is not a valid personality. Use 'k' or 's'"
fi