Skip to content

Commit fef7e57

Browse files
committed
minio: add monitoring support
Add monitoring framework integration to the MinIO Warp workflow to track performance during S3 benchmarking tests. Generated-by: Claude AI Signed-off-by: Luis Chamberlain <[email protected]>
1 parent 7f7935f commit fef7e57

File tree

4 files changed

+50
-2
lines changed

4 files changed

+50
-2
lines changed

playbooks/minio.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,24 @@
2525
become: true
2626
become_user: root
2727
tags: ['minio_warp']
28+
29+
pre_tasks:
30+
# Start monitoring services before running benchmarks
31+
- ansible.builtin.import_tasks: roles/monitoring/tasks/monitor_run.yml
32+
when:
33+
- enable_monitoring|default(false)|bool
34+
tags: ["monitoring", "monitor_run"]
35+
2836
roles:
2937
- role: minio_warp_run
3038

39+
post_tasks:
40+
# Collect monitoring data after benchmarks complete
41+
- ansible.builtin.import_tasks: roles/monitoring/tasks/monitor_collect.yml
42+
when:
43+
- enable_monitoring|default(false)|bool
44+
tags: ["monitoring", "monitor_collect"]
45+
3146
- name: Uninstall MinIO
3247
hosts: baseline:dev
3348
become: true

playbooks/roles/minio_install/tasks/main.yml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,35 @@
66
- "../extra_vars.yaml"
77
tags: vars
88

9-
- name: Install Docker
9+
- name: Install Docker and monitoring dependencies
1010
package:
1111
name:
1212
- docker.io
1313
- python3-docker
14+
- python3-bpfcc
1415
state: present
1516
become: yes
17+
when: ansible_os_family == "Debian"
18+
19+
- name: Install Docker and monitoring dependencies (RedHat)
20+
package:
21+
name:
22+
- docker
23+
- python3-docker
24+
- python3-bcc
25+
state: present
26+
become: yes
27+
when: ansible_os_family == "RedHat"
28+
29+
- name: Install Docker and monitoring dependencies (SUSE)
30+
package:
31+
name:
32+
- docker
33+
- python3-docker
34+
- python3-bcc
35+
state: present
36+
become: yes
37+
when: ansible_os_family == "SUSE"
1638

1739
- name: Ensure Docker service is running
1840
systemd:

playbooks/roles/monitoring/tasks/monitor_collect.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
{{ topdir_path }}/workflows/sysbench/results/monitoring
2727
{%- elif kdevops_workflow_enable_ai|default(false)|bool -%}
2828
{{ topdir_path }}/workflows/ai/results/monitoring
29+
{%- elif kdevops_workflow_enable_minio|default(false)|bool -%}
30+
{{ topdir_path }}/workflows/minio/results/monitoring
31+
{%- elif kdevops_workflow_enable_build_linux|default(false)|bool -%}
32+
{{ topdir_path }}/workflows/build-linux/results/monitoring
2933
{%- else -%}
3034
{{ topdir_path }}/results/monitoring
3135
{%- endif -%}

workflows/minio/Makefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ MINIO_DATA_TARGET_UNINSTALL := minio-uninstall
44
MINIO_DATA_TARGET_DESTROY := minio-destroy
55
MINIO_DATA_TARGET_RUN := minio-warp
66
MINIO_DATA_TARGET_RESULTS := minio-results
7+
MINIO_DATA_TARGET_MONITOR := monitor-results
78

89
MINIO_PLAYBOOK := playbooks/minio.yml
910

@@ -49,6 +50,11 @@ $(MINIO_DATA_TARGET_RESULTS):
4950
echo "No results directory found. Run 'make minio-warp' first."; \
5051
fi
5152

53+
$(MINIO_DATA_TARGET_MONITOR): $(KDEVOPS_EXTRA_VARS)
54+
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
55+
playbooks/monitor-results.yml \
56+
--extra-vars=@./extra_vars.yaml
57+
5258
minio-help:
5359
@echo "MinIO Warp S3 benchmarking targets:"
5460
@echo ""
@@ -58,6 +64,7 @@ minio-help:
5864
@echo "minio-destroy - Remove MinIO containers and clean up data"
5965
@echo "minio-warp - Run MinIO Warp benchmarks"
6066
@echo "minio-results - Collect and analyze benchmark results"
67+
@echo "monitor-results - Collect monitoring data"
6168
@echo ""
6269
@echo "Example usage:"
6370
@echo " make defconfig-minio-warp # Configure for Warp benchmarking"
@@ -73,4 +80,4 @@ minio-help:
7380

7481
.PHONY: $(MINIO_DATA_TARGET) $(MINIO_DATA_TARGET_INSTALL) $(MINIO_DATA_TARGET_UNINSTALL)
7582
.PHONY: $(MINIO_DATA_TARGET_DESTROY) $(MINIO_DATA_TARGET_RUN) $(MINIO_DATA_TARGET_RESULTS)
76-
.PHONY: minio-help
83+
.PHONY: $(MINIO_DATA_TARGET_MONITOR) minio-help

0 commit comments

Comments
 (0)