Module: check_mk
Branch: master
Commit: 88f8e34909b9785504750663b29ef1d43f708b66
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=88f8e34909b978…
Author: Tom Baerwinkel <tb(a)mathias-kettner.de>
Date: Wed Nov 21 16:54:13 2018 +0100
k8s_resources: use capacity for inventory
The checks k8s_resources.pods, k8s_resources.memory and
k8s_resources.cpu now discover services if a capacity is given.
Change-Id: Id6a1f36416137103b66c1eca4c7c235faaf5f31c
---
checks/k8s_resources | 10 ++++----
.../datasets/k8s_resources_regression.py | 27 ++++++++++++++++++++++
2 files changed, 32 insertions(+), 5 deletions(-)
diff --git a/checks/k8s_resources b/checks/k8s_resources
index 01f2f1f..826e24e 100644
--- a/checks/k8s_resources
+++ b/checks/k8s_resources
@@ -36,7 +36,7 @@ check_info['k8s_resources'] = {
def inventory_k8s_pod_resources(parsed):
- if parsed.get('allocations', {}).get('pods'):
+ if parsed.get('capacity', {}).get('pods'):
return [(None, {})]
@@ -56,7 +56,7 @@ check_info['k8s_resources.pods'] = {
def inventory_k8s_cpu_resources(parsed):
- if parsed.get('requests', {}).get('cpu'):
+ if parsed.get('capacity', {}).get('cpu'):
return [(None, {})]
@@ -65,7 +65,7 @@ def check_k8s_cpu_resources(_no_item, _no_params, parsed):
yield 0, 'Request: %.3f' % request
limit = parsed.get('limits', {}).get('cpu')
- if limit is not None:
+ if limit:
yield 0, 'Limit: %.3f' % limit
capacity = parsed.get('capacity', {}).get('cpu', 0.0)
@@ -80,7 +80,7 @@ check_info['k8s_resources.cpu'] = {
def inventory_k8s_mem_resources(parsed):
- if parsed.get('requests', {}).get('memory'):
+ if parsed.get('capacity', {}).get('memory'):
return [(None, {})]
@@ -89,7 +89,7 @@ def check_k8s_mem_resources(_no_item, _no_params, parsed):
yield 0, 'Request: %s' % get_bytes_human_readable(request)
limit = parsed.get('limits', {}).get('memory')
- if limit is not None:
+ if limit:
yield 0, 'Limit: %s' % get_bytes_human_readable(limit)
capacity = parsed.get('capacity', {}).get('memory', 0.0)
diff --git a/tests/unit/checks/generictests/datasets/k8s_resources_regression.py
b/tests/unit/checks/generictests/datasets/k8s_resources_regression.py
new file mode 100644
index 0000000..be6f4e6
--- /dev/null
+++ b/tests/unit/checks/generictests/datasets/k8s_resources_regression.py
@@ -0,0 +1,27 @@
+checkname = 'k8s_resources'
+
+info = [[
+ u'{"capacity": {"pods": 110, "cpu": 1.0,
"memory": 609845248.0}, "requests": {"cpu": 0.2,
"memory": 0.0}, "limits": {"cpu": 0.5, "memory":
0.0}, "allocations": {}}'
+]]
+
+discovery = {
+ 'cpu': [(None, {})],
+ 'memory': [(None, {})],
+ 'pods': [(None, {})],
+}
+
+checks = {
+ 'cpu': [(None, 'default', [
+ (0, 'Request: 0.200', []),
+ (0, 'Limit: 0.500', []),
+ (0, 'Capacity: 1.000', []),
+ ])],
+ 'memory': [(None, 'default', [
+ (0, 'Request: 0.00 B', []),
+ (0, 'Capacity: 581.59 MB', []),
+ ])],
+ 'pods': [(None, 'default', [
+ (0, 'Pods: 0', []),
+ (0, 'Capacity: 110', []),
+ ])],
+}