public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
From: Luis Chamberlain <mcgrof@kernel.org>
To: Chuck Lever <cel@kernel.org>, Daniel Gomez <da.gomez@kruces.com>,
	kdevops@lists.linux.dev
Cc: Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 5/5] minio: add monitoring support
Date: Thu,  4 Sep 2025 02:13:21 -0700	[thread overview]
Message-ID: <20250904091322.2499058-6-mcgrof@kernel.org> (raw)
In-Reply-To: <20250904091322.2499058-1-mcgrof@kernel.org>

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 <mcgrof@kernel.org>
---
 playbooks/minio.yml                           | 15 ++++++++++++
 playbooks/roles/minio_install/tasks/main.yml  | 24 ++++++++++++++++++-
 .../monitoring/tasks/monitor_collect.yml      |  4 ++++
 workflows/minio/Makefile                      |  9 ++++++-
 4 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/playbooks/minio.yml b/playbooks/minio.yml
index bf80bbf4eaa0..a3b2be26ed91 100644
--- a/playbooks/minio.yml
+++ b/playbooks/minio.yml
@@ -25,9 +25,24 @@
   become: true
   become_user: root
   tags: ['minio_warp']
+
+  pre_tasks:
+    # Start monitoring services before running benchmarks
+    - ansible.builtin.import_tasks: roles/monitoring/tasks/monitor_run.yml
+      when:
+        - enable_monitoring|default(false)|bool
+      tags: ["monitoring", "monitor_run"]
+
   roles:
     - role: minio_warp_run
 
+  post_tasks:
+    # Collect monitoring data after benchmarks complete
+    - ansible.builtin.import_tasks: roles/monitoring/tasks/monitor_collect.yml
+      when:
+        - enable_monitoring|default(false)|bool
+      tags: ["monitoring", "monitor_collect"]
+
 - name: Uninstall MinIO
   hosts: minio
   become: true
diff --git a/playbooks/roles/minio_install/tasks/main.yml b/playbooks/roles/minio_install/tasks/main.yml
index 9ea3d758adcb..e8ec3067b8b3 100644
--- a/playbooks/roles/minio_install/tasks/main.yml
+++ b/playbooks/roles/minio_install/tasks/main.yml
@@ -6,13 +6,35 @@
     - "../extra_vars.yaml"
   tags: vars
 
-- name: Install Docker
+- name: Install Docker and monitoring dependencies
   package:
     name:
       - docker.io
       - python3-docker
+      - python3-bpfcc
     state: present
   become: yes
+  when: ansible_os_family == "Debian"
+
+- name: Install Docker and monitoring dependencies (RedHat)
+  package:
+    name:
+      - docker
+      - python3-docker
+      - python3-bcc
+    state: present
+  become: yes
+  when: ansible_os_family == "RedHat"
+
+- name: Install Docker and monitoring dependencies (SUSE)
+  package:
+    name:
+      - docker
+      - python3-docker
+      - python3-bcc
+    state: present
+  become: yes
+  when: ansible_os_family == "SUSE"
 
 - name: Ensure Docker service is running
   systemd:
diff --git a/playbooks/roles/monitoring/tasks/monitor_collect.yml b/playbooks/roles/monitoring/tasks/monitor_collect.yml
index 83193ed459b6..e59e4ce7a386 100644
--- a/playbooks/roles/monitoring/tasks/monitor_collect.yml
+++ b/playbooks/roles/monitoring/tasks/monitor_collect.yml
@@ -121,6 +121,10 @@
         {{ topdir_path }}/workflows/sysbench/results/monitoring
       {%- elif kdevops_workflow_enable_ai|default(false)|bool -%}
         {{ topdir_path }}/workflows/ai/results/monitoring
+      {%- elif kdevops_workflow_enable_minio|default(false)|bool -%}
+        {{ topdir_path }}/workflows/minio/results/monitoring
+      {%- elif kdevops_workflow_enable_build_linux|default(false)|bool -%}
+        {{ topdir_path }}/workflows/build-linux/results/monitoring
       {%- else -%}
         {{ topdir_path }}/results/monitoring
       {%- endif -%}
diff --git a/workflows/minio/Makefile b/workflows/minio/Makefile
index c543ed3b26ea..ef2ecb973429 100644
--- a/workflows/minio/Makefile
+++ b/workflows/minio/Makefile
@@ -4,6 +4,7 @@ MINIO_DATA_TARGET_UNINSTALL		:= minio-uninstall
 MINIO_DATA_TARGET_DESTROY		:= minio-destroy
 MINIO_DATA_TARGET_RUN			:= minio-warp
 MINIO_DATA_TARGET_RESULTS		:= minio-results
+MINIO_DATA_TARGET_MONITOR		:= monitor-results
 
 MINIO_PLAYBOOK		:= playbooks/minio.yml
 
@@ -49,6 +50,11 @@ $(MINIO_DATA_TARGET_RESULTS):
 		echo "No results directory found. Run 'make minio-warp' first."; \
 	fi
 
+$(MINIO_DATA_TARGET_MONITOR): $(KDEVOPS_EXTRA_VARS)
+	$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+		playbooks/monitor-results.yml \
+		--extra-vars=@./extra_vars.yaml
+
 minio-help:
 	@echo "MinIO Warp S3 benchmarking targets:"
 	@echo ""
@@ -58,6 +64,7 @@ minio-help:
 	@echo "minio-destroy           - Remove MinIO containers and clean up data"
 	@echo "minio-warp              - Run MinIO Warp benchmarks"
 	@echo "minio-results           - Collect and analyze benchmark results"
+	@echo "monitor-results         - Collect monitoring data"
 	@echo ""
 	@echo "Example usage:"
 	@echo "  make defconfig-minio-warp    # Configure for Warp benchmarking"
@@ -73,4 +80,4 @@ minio-help:
 
 .PHONY: $(MINIO_DATA_TARGET) $(MINIO_DATA_TARGET_INSTALL) $(MINIO_DATA_TARGET_UNINSTALL)
 .PHONY: $(MINIO_DATA_TARGET_DESTROY) $(MINIO_DATA_TARGET_RUN) $(MINIO_DATA_TARGET_RESULTS)
-.PHONY: minio-help
+.PHONY: $(MINIO_DATA_TARGET_MONITOR) minio-help
-- 
2.45.2


  parent reply	other threads:[~2025-09-04  9:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-04  9:13 [PATCH 0/5] add memory fragmentation automation testing Luis Chamberlain
2025-09-04  9:13 ` [PATCH 1/5] monitoring: add memory fragmentation eBPF monitoring support Luis Chamberlain
2025-09-04  9:13 ` [PATCH 2/5] mmtests: add monitoring framework integration Luis Chamberlain
2025-09-04  9:13 ` [PATCH 3/5] sysbench: " Luis Chamberlain
2025-09-04  9:13 ` [PATCH 4/5] ai milvus: add monitoring support Luis Chamberlain
2025-09-04  9:13 ` Luis Chamberlain [this message]
2025-09-19  3:49 ` [PATCH 0/5] add memory fragmentation automation testing Luis Chamberlain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250904091322.2499058-6-mcgrof@kernel.org \
    --to=mcgrof@kernel.org \
    --cc=cel@kernel.org \
    --cc=da.gomez@kruces.com \
    --cc=kdevops@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox