From 8d0079a7b5dd5da13d15a7aa0884ad83a8fe5bdb Mon Sep 17 00:00:00 2001
From: Adrian Pope <apope@anl.gov>
Date: Mon, 24 Jun 2024 15:47:35 -0500
Subject: [PATCH] count nodes in unique states available to several common
 queues on polaris

---
 pbsnodes/polaris/polaris_nodes_states.sh             | 2 +-
 pbsnodes/polaris/polaris_nodes_states_debug.sh       | 5 +++++
 pbsnodes/polaris/polaris_nodes_states_demand.sh      | 5 +++++
 pbsnodes/polaris/polaris_nodes_states_preemptable.sh | 5 +++++
 pbsnodes/polaris/polaris_nodes_states_prod.sh        | 5 +++++
 5 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100755 pbsnodes/polaris/polaris_nodes_states_debug.sh
 create mode 100755 pbsnodes/polaris/polaris_nodes_states_demand.sh
 create mode 100755 pbsnodes/polaris/polaris_nodes_states_preemptable.sh
 create mode 100755 pbsnodes/polaris/polaris_nodes_states_prod.sh

diff --git a/pbsnodes/polaris/polaris_nodes_states.sh b/pbsnodes/polaris/polaris_nodes_states.sh
index fbe019e..624a2fe 100755
--- a/pbsnodes/polaris/polaris_nodes_states.sh
+++ b/pbsnodes/polaris/polaris_nodes_states.sh
@@ -2,4 +2,4 @@
 
 # goal: print list of current unique values for node state
 
-pbsnodes -a -F json | jq '[.nodes[].state] | unique'
+pbsnodes -a -F json | jq -r '[.nodes[].state] | @tsv' | tr "\t" "\n" | sort | uniq -c | sort -rn
diff --git a/pbsnodes/polaris/polaris_nodes_states_debug.sh b/pbsnodes/polaris/polaris_nodes_states_debug.sh
new file mode 100755
index 0000000..5bbf5d1
--- /dev/null
+++ b/pbsnodes/polaris/polaris_nodes_states_debug.sh
@@ -0,0 +1,5 @@
+#! /bin/bash
+
+# goal: print list of current unique values for node state
+
+pbsnodes -a -F json | jq -r '.nodes[] | select(.resources_available.debug=="True" and .resources_available.build!="True" and .resources_available.demand!="True") | [.state] | @tsv' | tr "\t" "\n" | sort | uniq -c | sort -rn
diff --git a/pbsnodes/polaris/polaris_nodes_states_demand.sh b/pbsnodes/polaris/polaris_nodes_states_demand.sh
new file mode 100755
index 0000000..c14918f
--- /dev/null
+++ b/pbsnodes/polaris/polaris_nodes_states_demand.sh
@@ -0,0 +1,5 @@
+#! /bin/bash
+
+# goal: print list of current unique values for node state
+
+pbsnodes -a -F json | jq -r '.nodes[] | select(.resources_available.demand=="True" and .resources_available.build!="True") | [.state] | @tsv' | tr "\t" "\n" | sort | uniq -c | sort -rn
diff --git a/pbsnodes/polaris/polaris_nodes_states_preemptable.sh b/pbsnodes/polaris/polaris_nodes_states_preemptable.sh
new file mode 100755
index 0000000..0508b34
--- /dev/null
+++ b/pbsnodes/polaris/polaris_nodes_states_preemptable.sh
@@ -0,0 +1,5 @@
+#! /bin/bash
+
+# goal: print list of current unique values for node state
+
+pbsnodes -a -F json | jq -r '.nodes[] | select(.resources_available.demand=="True" and .resources_available.build!="True" and .resources_available.debug!="True") | [.state] | @tsv' | tr "\t" "\n" | sort | uniq -c | sort -rn
diff --git a/pbsnodes/polaris/polaris_nodes_states_prod.sh b/pbsnodes/polaris/polaris_nodes_states_prod.sh
new file mode 100755
index 0000000..1029545
--- /dev/null
+++ b/pbsnodes/polaris/polaris_nodes_states_prod.sh
@@ -0,0 +1,5 @@
+#! /bin/bash
+
+# goal: print list of current unique values for node state
+
+pbsnodes -a -F json | jq -r '.nodes[] | select( .resources_available.debug!="True" and .resources_available.demand!="True" and .resources_available.build!="True") | [.state] | @tsv' | tr "\t" "\n" | sort | uniq -c | sort -rn
-- 
GitLab