Skip to content

Conversation

nevermarine
Copy link
Collaborator

@nevermarine nevermarine commented Dec 2, 2024

Description

Add more tools for performance tests:

  • statistis — It saves statistics for VirtualMachines and VirtualDisks created during the test.
  • evicter — A tool that continuously create VMOPs to run VirtualMachine migrations.

Also:

  • Fix queries in dashboard.
  • Refactor directory structure and values.yaml.
  • Add README.

Why do we need it, and what problem does it solve?

What is the expected result?

Checklist

  • The code is covered by unit tests.
  • e2e tests passed.
  • Documentation updated according to the changes.
  • Changes were tested in the Kubernetes cluster manually.

Changelog entries

section: module
type: chore
summary: add tools for performance tests
impact_level: low

Summary by Sourcery

Introduce performance tooling by adding metric collection and continuous migration CLI tools, refactor the performance Helm chart and templates for VMs and disks, enhance the Grafana dashboard, and update test imports and Taskfiles accordingly

New Features:

  • Add a CLI tool for VM and VD performance metrics collection and CSV export
  • Add a continuous VM migration tool (“evicter”) to drive migrations at a target percentage over a specified duration

Enhancements:

  • Refactor performance chart values and templates to support structured resources (vm, vd, vi), run policies, and conditional services
  • Enhance Grafana dashboard YAML to filter by namespace, adjust panel defaults, and add VirtualDisks panels
  • Simplify bootstrapper.sh by improving logging and removing manual kubectl wait logic

Documentation:

  • Add README for the performance Helm chart explaining resources configuration

Tests:

  • Update e2e tests to correctly import authentication plugins and Ginkgo/Gomega after framework imports
  • Adjust golangci-lint configuration and fix test import orders

Chores:

  • Add Taskfile tasks for running statistics and migration tools
  • Add Taskfiles and Go modules for the new performance and migration tools

@universal-itengineer universal-itengineer force-pushed the chore/test/performance-tools branch 5 times, most recently from e13639b to c36d79d Compare December 3, 2024 13:30
@Isteb4k Isteb4k added this to the v0.20.0 milestone May 29, 2025
@nevermarine nevermarine modified the milestones: v0.20.0, v0.21.0 Jun 17, 2025
@nevermarine nevermarine modified the milestones: v0.21.0, v0.22.0 Jun 26, 2025
@universal-itengineer universal-itengineer modified the milestones: v0.22.0, v0.23.0 Jul 10, 2025
@nevermarine nevermarine modified the milestones: v0.23.0, v0.24.0 Jul 24, 2025
@universal-itengineer universal-itengineer modified the milestones: v0.24.0, v0.25.0 Aug 8, 2025
@nevermarine nevermarine modified the milestones: v0.25.0, v0.26.0 Aug 29, 2025
@nevermarine nevermarine modified the milestones: v1.0.0, v1.1.0 Sep 11, 2025
@universal-itengineer universal-itengineer removed this from the v1.1.0 milestone Sep 19, 2025
@universal-itengineer universal-itengineer force-pushed the chore/test/performance-tools branch from dbbc6ff to b0ee1f9 Compare September 23, 2025 07:26
@universal-itengineer universal-itengineer added the edition/ce Use CE image for pull request workflows label Sep 23, 2025
@universal-itengineer universal-itengineer force-pushed the chore/test/performance-tools branch 2 times, most recently from 3949223 to 9ef313f Compare September 24, 2025 08:00
@universal-itengineer universal-itengineer removed the edition/ce Use CE image for pull request workflows label Sep 24, 2025
@universal-itengineer universal-itengineer force-pushed the chore/test/performance-tools branch 3 times, most recently from b72a37f to 1e34b67 Compare September 25, 2025 14:00
universal-itengineer and others added 18 commits September 30, 2025 22:05
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Co-authored-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Nikita Korolev <141920865+universal-itengineer@users.noreply.github.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Co-authored-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Nikita Korolev <141920865+universal-itengineer@users.noreply.github.com>
Co-authored-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Nikita Korolev <141920865+universal-itengineer@users.noreply.github.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
@universal-itengineer universal-itengineer force-pushed the chore/test/performance-tools branch from a014b18 to c30d76b Compare September 30, 2025 19:05
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
diafour
diafour previously approved these changes Oct 1, 2025
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
@universal-itengineer universal-itengineer merged commit dbd4777 into main Oct 1, 2025
28 of 29 checks passed
@universal-itengineer universal-itengineer deleted the chore/test/performance-tools branch October 1, 2025 08:19
Isteb4k pushed a commit that referenced this pull request Oct 3, 2025
Add more tools for performance tests:

statistis — It saves statistics for VirtualMachines and VirtualDisks created during the test.
evicter — A tool that continuously create VMOPs to run VirtualMachine migrations.
Also:

Fix queries in dashboard.
Refactor directory structure and values.yaml.
Add README.

---------

Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
Signed-off-by: Maksim Fedotov <maksim.fedotov@flant.com>
Co-authored-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
(cherry picked from commit dbd4777)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants