Example script
import datetime
from ansys.hps.client import Client, RmsApi
import logging
logging.basicConfig(format="%(message)s", level=logging.INFO)
client = Client(url="...", username="...", password="...")
rms_api = RmsApi(client)
since_datetime = datetime.datetime.now(datetime.timezone.utc) - datetime.timedelta(days=7)
query_params = {
"last_modified.gt": since_datetime,
"limit": 10,
"sort": "-last_modified",
}
print(80 * "=")
evaluators = rms_api.get_evaluators(**query_params)
print(f"Found {len(evaluators)} evaluators")
for evaluator in evaluators:
print(50 * "=")
print(f"Name: {evaluator.name}")
print(f"CRS id: {evaluator.compute_resource_set_id}")
print(f"Last modified: {evaluator.last_modified}")
config = rms_api.get_evaluator_configuration(evaluator.id)
print(f"Num cores: {config.resources.num_cores}")
print(f"List of available apps:")
for app in config.applications:
print(f" * {app.name} - {app.version}")
print(80 * "=")
# query compute resource sets
compute_resource_sets = rms_api.get_compute_resource_sets()
print(f"Found {len(compute_resource_sets)} compute resource sets")
for crs in compute_resource_sets:
print(60 * "=")
print(f"Name: {crs.name}")
print(f"Last modified: {crs.last_modified}")
print("\nList of available apps:")
for app in crs.available_applications:
print(f" * {app.name} - {app.version}")
cluster_info = rms_api.get_cluster_info(crs.id)
print("Queues info:")
for queue in cluster_info.queues:
print(f" * Queue name: {queue.name}")
print(" Nodes specs:")
for node_group in queue.node_groups:
print(
f" - {len(node_group.node_names)} nodes "
f"with {node_group.cores_per_node} core "
f"and {node_group.memory_per_node_mb/1024:.0f} GB of memory each"
)
print(80 * "=")
Example script