Skip to content

feat: add chaos-disk workload (disk fill pressure)#55

Merged
mrhillsman merged 1 commit into
mainfrom
feat/chaos-disk-workload
May 22, 2026
Merged

feat: add chaos-disk workload (disk fill pressure)#55
mrhillsman merged 1 commit into
mainfrom
feat/chaos-disk-workload

Conversation

@mrhillsman

Copy link
Copy Markdown
Contributor

Summary

  • Adds a chaos-disk workload that uses fallocate (with dd fallback) to fill a target mount point to a configurable percentage (default 90%), running fill/release cycles via a systemd service to simulate sustained disk pressure
  • Requires a DataVolume for persistent storage; no packages installed at runtime (tools are pre-installed via golden image [Feature]: Golden container disk image with pre-installed workload tools #16)
  • Registers the workload in DefaultRegistry and updates AllWorkloadNames

Closes #19

Details

New files:

  • internal/workloads/chaos_disk.goChaosDiskWorkload struct, constructor, cloud-init script + systemd unit, DataVolume/disk/volume methods
  • internal/workloads/chaos_disk_test.go — 10 Ginkgo BDD specs covering name, script content, permissions, systemd unit, YAML validity, DataVolume, disks/volumes, service, resources, and runcmd

Updated files:

  • internal/workloads/registry.go — added chaos-disk factory and updated AllWorkloadNames
  • internal/workloads/registry_test.go — updated registry count, sorted list, error message, and added retrieval test
  • cmd/virtwork/main_test.go — updated total VM count from 6 to 7

@exe-prow-github-app exe-prow-github-app Bot requested a review from mgoerens May 21, 2026 02:48
@exe-prow-github-app

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mrhillsman

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@exe-prow-github-app exe-prow-github-app Bot requested a review from yashoza19 May 21, 2026 02:48
@exe-prow-github-app exe-prow-github-app Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 21, 2026
Implements the chaos-disk workload (#19) that uses fallocate/dd to fill
a target mount point to a configurable percentage (default 90%) with
fill/release cycles for sustained disk pressure simulation.

Adds chaos-disk to DefaultRegistry, AllWorkloadNames, and updates
registry and CLI tests to account for the new workload.

Signed-off-by: Melvin Hillsman <mhillsma@redhat.com>
@mrhillsman mrhillsman force-pushed the feat/chaos-disk-workload branch from da8d424 to a505d82 Compare May 22, 2026 05:43
@mrhillsman mrhillsman merged commit 6afbf46 into main May 22, 2026
3 of 4 checks passed
@mrhillsman mrhillsman deleted the feat/chaos-disk-workload branch May 22, 2026 06:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Workload]: chaos-disk workload (disk fill pressure)

1 participant