Browse Source

Creating new directory for Omnia tools and adding change_personality script to move nodes between Slurm and Kubernetes

Signed-off-by: Lucas A. Wilson <luke.wilson@dell.com>
Lucas A. Wilson 5 years ago
parent
commit
977efe4331
2 changed files with 39 additions and 0 deletions
  1. 7 0
      tools/README.md
  2. 32 0
      tools/change_personality

+ 7 - 0
tools/README.md

@@ -0,0 +1,7 @@
+# Tools for Omnia
+
+## change_personality
+```
+change_personality k|s <node_list>
+```
+Change the personality of a node (or list of nodes) to Kubernetes (`k`) or Slurm (`s`). System does not wait for currently running jobs to complete before making nodes available to the new personality.

+ 32 - 0
tools/change_personality

@@ -0,0 +1,32 @@
+#!/bin/bash
+
+#Usage: change_personality <k|s> <node_name>
+#       k = Kubernetes
+#       s = Slurm
+
+new_personality=$1
+shift
+
+if [ $new_personality == "k" ] 
+then
+# Change Personality to Kubernetes
+  echo "[INFO] Changing personality to Kubernetes"
+  for node in $*
+  do
+    echo "$node"
+    echo "   [COMMAND] scontrol update nodename=$node state=DRAIN reason=\"used for k8s\""
+    echo "   [COMMAND] kubectl uncordon $node"   
+  done
+elif [ $new_personality == "s" ]
+then
+# Change Personality to Slurm
+  echo "INFO: Changing personality to Slurm"
+  for node in $*
+  do
+    echo "$node"
+    echo "   [COMMAND] kubectl cordon $node"
+    echo "   [COMMAND] scontrol update nodename=$node state=IDLE reason=\"used for Slurm\""
+  done
+else
+  echo "ERROR: $new_personality is not a valid personality. Use 'k' or 's'"
+fi