From 96e9c4bb0995c051540852e826129d51c0cd7f01 Mon Sep 17 00:00:00 2001
From: Matthieu Imbert <matthieu.imbert@inria.fr>
Date: Mon, 13 Nov 2023 11:11:22 +0100
Subject: [PATCH] [execo_g5k] add get_cluster_queues, get_cluster_jobtypes

---
 src/execo_g5k/__init__.py  |  2 +-
 src/execo_g5k/api_utils.py | 13 ++++++++++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/execo_g5k/__init__.py b/src/execo_g5k/__init__.py
index 98e832d..176c718 100644
--- a/src/execo_g5k/__init__.py
+++ b/src/execo_g5k/__init__.py
@@ -46,7 +46,7 @@ from .api_utils import get_g5k_sites, get_site_clusters, \
     get_site_attributes, get_network_equipment_attributes, canonical_host_name,\
     get_network_equipment_site, get_host_shortname, get_host_longname, \
     get_cluster_network_equipments, get_site_hosts, get_host_network_equipments, \
-    get_hosts_metric
+    get_hosts_metric, get_cluster_queues, get_cluster_jobtypes, get_host_interface
 
 from .charter import g5k_charter_time, get_next_charter_period
 
diff --git a/src/execo_g5k/api_utils.py b/src/execo_g5k/api_utils.py
index bfa3e31..70cd921 100644
--- a/src/execo_g5k/api_utils.py
+++ b/src/execo_g5k/api_utils.py
@@ -505,6 +505,17 @@ def get_cluster_network_equipments(cluster):
                     for e in get_host_network_equipments(h)]))
     raise ValueError("unknown g5k cluster %s" % (cluster,))
 
+def get_cluster_queues(cluster):
+    if cluster in get_g5k_clusters():
+        return get_cluster_attributes(cluster)['queues']
+
+def get_cluster_jobtypes(cluster):
+    if cluster in get_g5k_clusters():
+        if get_cluster_attributes(cluster)['queues']['exotic'] == True:
+            return [ 'exotic']
+        else:
+            return []
+
 def get_g5k_clusters(queues = "default"):
     """Get the list of all g5k clusters. Returns an iterable.
 
@@ -578,7 +589,7 @@ def get_network_equipment_site(equip):
     """Return the site of a network_equipment"""
     for site in get_g5k_sites():
         if equip in get_site_network_equipments(site):
-            return site 
+            return site
     return None
 
 def group_hosts(hosts):
-- 
GitLab