Skip to content

Commit b16bced

Browse files
authored
Add test for health monitoring feature (#234)
* Add test for health monitoring feature * Disable RBAC for KSM metrics
1 parent bb6a042 commit b16bced

File tree

5 files changed

+90
-0
lines changed

5 files changed

+90
-0
lines changed

roles/telemetry_verify_metrics/defaults/main.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
telemetry_verify_metrics_metric_sources_to_test:
33
- ceilometer_compute_agent
44
- ceilometer_central_agent
5+
- ksm
56
- node_exporter
7+
- podman_exporter
68
- rabbitmq
79
- kepler
810
- openstack_network_exporter

roles/telemetry_verify_metrics/tasks/main.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,24 @@
4747
tags: power_monitoring
4848
when: '"ceilometer_ipmi_agent" in telemetry_verify_metrics_metric_sources_to_test'
4949

50+
- name: Verify kube-state-metrics metrics are being exposed and stored
51+
ansible.builtin.include_tasks:
52+
file: verify_ksm_metrics.yml
53+
tags: test
54+
when: '"ksm" in telemetry_verify_metrics_metric_sources_to_test'
55+
5056
- name: Verify NodeExporter metrics are being exposed and stored
5157
ansible.builtin.include_tasks:
5258
file: verify_node_exporter_metrics.yml
5359
tags: test
5460
when: '"node_exporter" in telemetry_verify_metrics_metric_sources_to_test'
5561

62+
- name: Verify Podman Exporter metrics are being exposed and stored
63+
ansible.builtin.include_tasks:
64+
file: verify_podman_exporter_metrics.yml
65+
tags: test
66+
when: '"podman_exporter" in telemetry_verify_metrics_metric_sources_to_test'
67+
5668
- name: Verify Kepler metrics are being exposed and stored
5769
ansible.builtin.include_tasks:
5870
file: verify_kepler_metrics.yml
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
- name: Verify KSM scrapeconfig exists
2+
ansible.builtin.include_role:
3+
name: common
4+
vars:
5+
common_cr_list:
6+
- kind: scrapeconfigs.monitoring.rhobs
7+
name: telemetry-ksm
8+
9+
- name: Verify kube-state-metrics agent is running
10+
ansible.builtin.include_role:
11+
name: common
12+
vars:
13+
common_pod_status_str: "Running"
14+
common_pod_nspace: openstack
15+
common_pod_list:
16+
- kube-state-metrics-0
17+
18+
- name: |
19+
TEST Use openstack observabilityclient to verify to verify health reporting related metrics from kube-state-metrics are stored in Prometheus
20+
RHOSO-5678
21+
ansible.builtin.shell: |
22+
{{ openstack_cmd }} metric show --disable-rbac {{ item }}
23+
register: result
24+
delay: 30
25+
retries: 10
26+
until: result.rc == 0 and "{{ item }}" in result.stdout
27+
changed_when: false
28+
loop:
29+
- kube_pod_status_phase
30+
- kube_pod_status_ready

roles/telemetry_verify_metrics/tasks/verify_node_exporter_metrics.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,14 @@
3030
retries: 10
3131
changed_when: false
3232
until: result.rc == 0 and "node_exporter_build_info" in result.stdout
33+
34+
- name: |
35+
TEST Use openstack observabilityclient to verify health reporting related metric from systemd collector is stored in prometheus
36+
RHOSO-7890
37+
ansible.builtin.shell: |
38+
{{ openstack_cmd }} metric show --disable-rbac node_systemd_unit_state
39+
register: result
40+
delay: 30
41+
retries: 10
42+
changed_when: false
43+
until: result.rc == 0 and "node_systemd_unit_state" in result.stdout
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
- name: Verify podman exporter scrapeconfigs exist
2+
ansible.builtin.include_role:
3+
name: common
4+
vars:
5+
common_cr_list:
6+
- kind: scrapeconfigs.monitoring.rhobs
7+
name: telemetry-podman-exporter
8+
- kind: scrapeconfigs.monitoring.rhobs
9+
name: telemetry-podman-exporter-tls
10+
11+
- name: Verify podman exporter container is up
12+
ansible.builtin.include_tasks:
13+
file: check_compute_node_containers.yml
14+
vars:
15+
common_container_test_id: RHOSO-1231
16+
common_container_list:
17+
- podman_exporter
18+
loop: "{{ groups['computes'] }}"
19+
loop_control:
20+
loop_var: compute_node
21+
22+
- name: |
23+
TEST Use openstack observabilityclient to verify health reporting related metrics from podman exporter are stored in Prometheus
24+
RHOSO-12345
25+
ansible.builtin.shell: |
26+
{{ openstack_cmd }} metric show --disable-rbac {{ item }}
27+
register: result
28+
delay: 30
29+
retries: 10
30+
changed_when: false
31+
until: result.rc == 0 and "{{ item }}" in result.stdout
32+
loop:
33+
- podman_container_info
34+
- podman_container_state
35+
- podman_container_health

0 commit comments

Comments
 (0)