From 26a88f4f770b0aa133cee07b53177d967cf5a1f6 Mon Sep 17 00:00:00 2001 From: Lorenzo Felletti Date: Mon, 16 Dec 2024 23:15:05 +0000 Subject: [PATCH 1/5] test: move tests to dedicated directory --- Makefile | 2 +- tests.yaml => tests/tests.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename tests.yaml => tests/tests.yaml (99%) diff --git a/Makefile b/Makefile index 9cad6c495..37086c989 100644 --- a/Makefile +++ b/Makefile @@ -90,7 +90,7 @@ clean: .PHONY: test test: $(PROMTOOL_BIN) prometheus_alerts.yaml prometheus_rules.yaml - @$(PROMTOOL_BIN) test rules tests.yaml + @$(PROMTOOL_BIN) test rules tests/*.yaml $(BIN_DIR): mkdir -p $(BIN_DIR) diff --git a/tests.yaml b/tests/tests.yaml similarity index 99% rename from tests.yaml rename to tests/tests.yaml index 44d422ff5..66acd7719 100644 --- a/tests.yaml +++ b/tests/tests.yaml @@ -1,6 +1,6 @@ rule_files: - - prometheus_alerts.yaml - - prometheus_rules.yaml +- ../prometheus_alerts.yaml +- ../prometheus_rules.yaml evaluation_interval: 1m From 03f2433cacf27e5645e7a6bedd37469ee8d9c4fe Mon Sep 17 00:00:00 2001 From: Lorenzo Felletti Date: Mon, 16 Dec 2024 23:15:20 +0000 Subject: [PATCH 2/5] test: (wip) add apiserver tests --- tests/apiserver-availability-test.yaml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 tests/apiserver-availability-test.yaml diff --git a/tests/apiserver-availability-test.yaml b/tests/apiserver-availability-test.yaml new file mode 100644 index 000000000..6bb36267c --- /dev/null +++ b/tests/apiserver-availability-test.yaml @@ -0,0 +1,23 @@ +rule_files: +- ../prometheus_alerts.yaml +- ../prometheus_rules.yaml + +evaluation_interval: 1m + +tests: +- interval: 1m + input_series: + # 100 requests in the overall interval, 99 successful and 1 error + - series: 'apiserver_request_total{job="kube-apiserver",verb="GET",code="200"}' + values: '0 10 20 50 90 99' + - series: 'apiserver_request_total{job="kube-apiserver",verb="GET",code="500"}' + values: '0 0 0 1 1 1' + + promql_expr_test: + - eval_time: 5m + expr: code_verb:apiserver_request_total:increase1h{verb="GET"} + exp_samples: + - labels: '{__name__="code_verb:apiserver_request_total:increase1h", code="200", verb="GET"}' + value: 99.0 + - labels: '{__name__="code_verb:apiserver_request_total:increase1h", code="500", verb="GET"}' + value: 1.0 From afed9afed3bc7f63006d07b57ce85367e12357d7 Mon Sep 17 00:00:00 2001 From: Lorenzo Felletti Date: Tue, 28 Jan 2025 09:52:00 +0000 Subject: [PATCH 3/5] feat: add test group name --- tests/apiserver-availability-test.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/apiserver-availability-test.yaml b/tests/apiserver-availability-test.yaml index 6bb36267c..b443799fe 100644 --- a/tests/apiserver-availability-test.yaml +++ b/tests/apiserver-availability-test.yaml @@ -5,7 +5,8 @@ rule_files: evaluation_interval: 1m tests: -- interval: 1m +- name: apiserver-availability-test-increase1h + interval: 1m input_series: # 100 requests in the overall interval, 99 successful and 1 error - series: 'apiserver_request_total{job="kube-apiserver",verb="GET",code="200"}' From a18d9e1f43d876e77b65a7f452545ea61fb5f183 Mon Sep 17 00:00:00 2001 From: Lorenzo Felletti Date: Fri, 7 Feb 2025 16:37:37 +0000 Subject: [PATCH 4/5] test: update apiserver availability tests to include new metrics and calculations --- tests/apiserver-availability-test.yaml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tests/apiserver-availability-test.yaml b/tests/apiserver-availability-test.yaml index b443799fe..e12b875b1 100644 --- a/tests/apiserver-availability-test.yaml +++ b/tests/apiserver-availability-test.yaml @@ -5,14 +5,14 @@ rule_files: evaluation_interval: 1m tests: -- name: apiserver-availability-test-increase1h +- name: calculate apiserver request total increase 1h rate interval: 1m input_series: # 100 requests in the overall interval, 99 successful and 1 error - series: 'apiserver_request_total{job="kube-apiserver",verb="GET",code="200"}' values: '0 10 20 50 90 99' - series: 'apiserver_request_total{job="kube-apiserver",verb="GET",code="500"}' - values: '0 0 0 1 1 1' + values: '0x2 1x2' promql_expr_test: - eval_time: 5m @@ -22,3 +22,20 @@ tests: value: 99.0 - labels: '{__name__="code_verb:apiserver_request_total:increase1h", code="500", verb="GET"}' value: 1.0 + +- name: calculate apiserver request total increase 30d rate + interval: 1m + input_series: + - series: code_verb:apiserver_request_total:increase1h{verb="GET",code="200"} + values: '10+10x9' + - series: code_verb:apiserver_request_total:increase1h{verb="GET",code="500"} + values: '0+1x9' + + promql_expr_test: + - eval_time: 10m + expr: code_verb:apiserver_request_total:increase30d{verb="GET"} + exp_samples: + - labels: '{__name__="code_verb:apiserver_request_total:increase30d", code="200", verb="GET"}' + value: 3.96e+4 + - labels: '{__name__="code_verb:apiserver_request_total:increase30d", code="500", verb="GET"}' + value: 3.24e+3 From 1a60b557b93b26844488a167f5f28fbe7bea34de Mon Sep 17 00:00:00 2001 From: Lorenzo Felletti Date: Fri, 7 Feb 2025 17:37:59 +0000 Subject: [PATCH 5/5] refactor(tests): update labels format in apiserver availability tests --- tests/apiserver-availability-test.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/apiserver-availability-test.yaml b/tests/apiserver-availability-test.yaml index e12b875b1..5f7d0c89a 100644 --- a/tests/apiserver-availability-test.yaml +++ b/tests/apiserver-availability-test.yaml @@ -18,9 +18,9 @@ tests: - eval_time: 5m expr: code_verb:apiserver_request_total:increase1h{verb="GET"} exp_samples: - - labels: '{__name__="code_verb:apiserver_request_total:increase1h", code="200", verb="GET"}' + - labels: 'code_verb:apiserver_request_total:increase1h{code="200", verb="GET"}' value: 99.0 - - labels: '{__name__="code_verb:apiserver_request_total:increase1h", code="500", verb="GET"}' + - labels: 'code_verb:apiserver_request_total:increase1h{code="500", verb="GET"}' value: 1.0 - name: calculate apiserver request total increase 30d rate @@ -35,7 +35,7 @@ tests: - eval_time: 10m expr: code_verb:apiserver_request_total:increase30d{verb="GET"} exp_samples: - - labels: '{__name__="code_verb:apiserver_request_total:increase30d", code="200", verb="GET"}' - value: 3.96e+4 - - labels: '{__name__="code_verb:apiserver_request_total:increase30d", code="500", verb="GET"}' + - labels: 'code_verb:apiserver_request_total:increase30d{code="200", verb="GET"}' + value: 3.96e+4 # average of the input series values times 24 (hours) times 30 (days) + - labels: 'code_verb:apiserver_request_total:increase30d{code="500", verb="GET"}' value: 3.24e+3