Skip to content

Commit c978637

Browse files
authored
Add basic tests for VM power monitoring metrics (#238)
Added 2 tests: Test idle VM power monitoring metric is not zero Test dynamic VM power monitoring metrics are increasing
1 parent 63e7b2a commit c978637

File tree

3 files changed

+53
-0
lines changed

3 files changed

+53
-0
lines changed

ci/vars/osp18_env.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@ stack_flavor: "m1.small"
66
stack_network: "private"
77
stack_external_network: "public"
88
stack_name: "vnf"
9+
# kepler_test_vm should be created before executing the test suite
10+
kepler_test_vm: "kepler_test_vm"

roles/telemetry_verify_metrics/tasks/main.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,21 @@
7878
file: verify_openstack_network_exporter_metrics.yml
7979
tags: test
8080
when: '"openstack_network_exporter" in telemetry_verify_metrics_metric_sources_to_test'
81+
82+
- name: Check if kepler test VM is running
83+
ansible.builtin.shell: |
84+
{{ openstack_cmd }} server show {{ kepler_test_vm }} -c status -f value
85+
register: kepler_vm_status
86+
ignore_errors: true
87+
changed_when: false
88+
when: '"kepler_vm" in telemetry_verify_metrics_metric_sources_to_test'
89+
90+
- name: Verify Kepler VM metrics are being exposed and stored
91+
ansible.builtin.include_tasks:
92+
file: verify_kepler_vm_metrics.yml
93+
tags:
94+
- test
95+
- power_monitoring
96+
when: '"kepler_vm" in telemetry_verify_metrics_metric_sources_to_test and "ACTIVE" in kepler_vm_status.stdout'
97+
vars:
98+
metrics_cmd_prefix: "{{ openstack_cmd }} metric show --disable-rbac -c value -f value"
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
- name: |
2+
TEST Check that kepler shows idle power consumption metric for VM and it is not zero
3+
RHOSO-13583
4+
ansible.builtin.shell: |
5+
set -euxo pipefail
6+
{{ metrics_cmd_prefix }} "kepler_vm_package_joules_total{'vm_id'='{{ kepler_test_vm }}', 'mode'='idle'}"
7+
register: result
8+
changed_when: false
9+
failed_when: result.rc != 0 or result.stdout|float == 0
10+
11+
- name: |
12+
TEST Check that kepler shows dynamic metrics for VM and they are increasing
13+
RHOSO-13952
14+
Step 1 Get an initial value of VM dynamic metrics and check that it's not zero
15+
ansible.builtin.shell: |
16+
set -euxo pipefail
17+
{{ metrics_cmd_prefix }} "kepler_vm_package_joules_total{'vm_id'='{{ kepler_test_vm }}', 'mode'='dynamic'}"
18+
register: value1
19+
changed_when: false
20+
failed_when: value1.rc != 0 or value1.stdout|float == 0
21+
22+
- name: |
23+
TEST Check that kepler shows dynamic metrics for VM and they are increasing
24+
RHOSO-13952
25+
Step 2 Get a new value of VM dynamic metrics and compare with the initial value
26+
ansible.builtin.shell: |
27+
set -euxo pipefail
28+
{{ metrics_cmd_prefix }} "kepler_vm_package_joules_total{'vm_id'='{{ kepler_test_vm }}', 'mode'='dynamic'}"
29+
register: value2
30+
delay: 10
31+
retries: 3
32+
changed_when: false
33+
until: value2.rc == 0 and (value2.stdout|float > value1.stdout|float)

0 commit comments

Comments
 (0)