diff --git a/zoe_api/web/templates/status.jinja2 b/zoe_api/web/templates/status.jinja2
index 9eb87daba31a5299ed33cc2b6e06062ee079cc0f..cc658d57ee188c330c94c73ed4e8bdd5d70251f7 100644
--- a/zoe_api/web/templates/status.jinja2
+++ b/zoe_api/web/templates/status.jinja2
@@ -147,8 +147,8 @@
- Total containers: {{ stats.platform_stats.container_count }}
- - Total memory:
- - Total cores: {{ stats.platform_stats.cores_total }}
+ - Memory: total, reserved, in use
+ - Cores: {{ stats.platform_stats.cores_total }} total, {{ stats.platform_stats.cores_reserved }} reserved, {{ stats.platform_stats.cores_in_use }} in use
diff --git a/zoe_master/stats.py b/zoe_master/stats.py
index 8c5ac967ab8a55fd8048e7eef75d862d9e5f1266..2ee6a12b2095b771325bf78d1037e83516448ca4 100644
--- a/zoe_master/stats.py
+++ b/zoe_master/stats.py
@@ -80,6 +80,10 @@ class ClusterStats(Stats):
'container_count': self.container_count,
'memory_total': self.memory_total,
'cores_total': self.cores_total,
+ 'memory_reserved': sum([n.memory_reserved for n in self.nodes]),
+ 'cores_reserved': sum([n.cores_reserved for n in self.nodes]),
+ 'memory_in_use': sum([n.memory_in_use for n in self.nodes]),
+ 'cores_in_use': sum([n.cores_in_use for n in self.nodes]),
'nodes': [x.serialize() for x in self.nodes]
}
@@ -93,6 +97,26 @@ class ClusterStats(Stats):
"""Total number of cores installed."""
return sum([node.cores_total for node in self.nodes])
+ @property
+ def memory_reserved(self) -> int:
+ """Total memory reserved in the whole platform."""
+ return sum([node.memory_reserved for node in self.nodes])
+
+ @property
+ def cores_reserved(self) -> int:
+ """Total number of cores reserved."""
+ return sum([node.cores_reserved for node in self.nodes])
+
+ @property
+ def memory_in_use(self) -> int:
+ """Total memory in use in the whole platform."""
+ return sum([node.memory_in_use for node in self.nodes])
+
+ @property
+ def cores_in_use(self) -> int:
+ """Total number of cores in use."""
+ return sum([node.cores_in_use for node in self.nodes])
+
@property
def container_count(self) -> int:
"""Total number of containers."""