Skip to content

Commit

Permalink
feature_tests: add openstack-network-exporter feature tests
Browse files Browse the repository at this point in the history
Add tests for operator of openstack-network-exporter

Signed-off-by: Aaron T. Smith <aasmith@rehdat.com>
  • Loading branch information
Aaron T. Smith authored and elfiesmelfie committed Mar 3, 2025
1 parent 77d6a22 commit 3f5a76b
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 3 deletions.
3 changes: 2 additions & 1 deletion roles/common/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ can be set at the play level.
- ceilometer_agent_ipmi
- node_exporter
- kepler
- openstack_network_exporter

- name: "Verify Endpoint"
ansible.builtin.import_role:
Expand All @@ -176,7 +177,7 @@ can be set at the play level.
common_project_list:
- openshift-openstack-infra
- openshift

- name: "Verify services"
ansible.builtin.import_role:
name: common
Expand Down
4 changes: 3 additions & 1 deletion roles/telemetry_verify_metrics/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,15 @@ Tests:
- Use openstack observabilityclient to verify Ceilometer ipmi metrics are stored in Prometheus
- Verify NodeExporter metrics are being exposed and stored
- Use openstack observabilityclient to verify NodeExporter metrics are stored in Prometheus
- Verfiy OpenstackNetworkExporter metrics are being exposed and stored
- Use openstack observabilityclietnt to verify OpenstackNetworkExporter metrics are stored in Prometheus
- Verify Kepler metrics are being exposed and stored
- Use openstack observabilityclient to verify Kepler metrics are stored in Prometheus

Role Variables
--------------
openstack\_cmd - command to access openstack cli. For example: "oc rsh openstackclient openstack"
telemetry\_verify\_metrics\_metric\_sources\_to\_test - List of sources to test. Current set of possible sources: ceilometer\_compute\_agent, ceilometer\_central\_agent, ceilometer\_ipmi_\_agent, node\_exporter, rabbitmq, kepler
telemetry\_verify\_metrics\_metric\_sources\_to\_test - List of sources to test. Current set of possible sources: ceilometer\_compute\_agent, ceilometer\_central\_agent, ceilometer\_ipmi_\_agent, node\_exporter, rabbitmq, kepler, openstack_network_exporter

Example Playbook
----------------
Expand Down
1 change: 1 addition & 0 deletions roles/telemetry_verify_metrics/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ telemetry_verify_metrics_metric_sources_to_test:
- node_exporter
- rabbitmq
- kepler
- openstack_network_exporter
# NOTE: IPMI metrics can only be verified when compute nodes are baremetal
# - ceilometer_ipmi_agent
8 changes: 7 additions & 1 deletion roles/telemetry_verify_metrics/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,13 @@
- name: Verify Kepler metrics are being exposed and stored
ansible.builtin.include_tasks:
file: verify_kepler_metrics.yml
tags:
tags:
- test
- power_monitoring
when: '"kepler" in telemetry_verify_metrics_metric_sources_to_test'

- name: Verify OpenstackNetworkExporter metrics are being exposed and stored
ansible.builtin.include_tasks:
file: verify_openstack_network_exporter_metrics.yml
tags: test
when: '"openstack_network_exporter" in telemetry_verify_metrics_metric_sources_to_test'
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
- name: Verify openstack network exporter scrapeconfigs exist
ansible.builtin.include_role:
name: common
vars:
common_cr_test_id: RHOSO-1222
common_cr_list:
- kind: scrapeconfigs.monitoring.rhobs
name: telemetry-openstack-network-exporter
- kind: scrapeconfigs.monitoring.rhobs
name: telemetry-openstack-network-exporter-tls

- name: Verify node exporter container is up
ansible.builtin.include_tasks:
file: check_compute_node_containers.yml
vars:
common_container_test_id: RHOSO-1231
common_container_list:
- openstack_network_exporter
loop: "{{ groups['computes'] }}"
loop_control:
loop_var: compute_node

- name: |
TEST Use openstack observabilityclient to verify Openstack Network Exporter metrics are stored in prometheus
RHOSO-1214
ansible.builtin.shell: |
{{ openstack_cmd }} metric show --disable-rbac ovs_build_info
register: result
delay: 30
retries: 10
changed_when: false
until: result.rc == 0 and "ovs_build_info" in result.stdout

0 comments on commit 3f5a76b

Please sign in to comment.