Category
Performance
Description
internal/workloads/chaos_network.go runs dnf install -y kernel-modules-extra-$(uname -r) from its cloud-init runcmd block to ensure sch_netem is available. This:
- Adds notable boot time (network fetch + DNF transaction) — measurable minutes on first boot.
- Will fail on a kernel mismatch between the package repo and the running kernel image.
- Requires the VM to have internet egress at first boot, which is exactly the network this workload is designed to disrupt.
Severity
Medium — increases maintenance burden or risk of future bugs
Affected Files
internal/workloads/chaos_network.go — RunCmd includes the dnf install
build/golden-image/Containerfile — does not currently install kernel-modules-extra
build/golden-image/README.md — should mention sch_netem provenance once fixed
docs/chaos-workloads.md — currently says "loaded from kernel-modules-extra … on first boot"
(File path assumes the rename in the companion tech-debt issue [chaos-network.go → chaos_network.go] has landed. If not, substitute the hyphenated name.)
Proposed Fix
Pre-install kernel-modules-extra in the golden image:
- Add
kernel-modules-extra to the dnf install layer in build/golden-image/Containerfile.
- Remove the
dnf install from chaos_network.go's RunCmd, leaving only modprobe sch_netem.
- Update
docs/chaos-workloads.md to note that the golden image carries sch_netem and the default Fedora container disk requires internet egress + a kernel match at first boot.
This also makes chaos-network resilient when run with latency-ms or packet-loss-percent high enough to defeat the dnf install itself.
Area
Workloads
Architecture Layer
Layer 3 - Workload Definitions (workloads, registry)
Category
Performance
Description
internal/workloads/chaos_network.gorunsdnf install -y kernel-modules-extra-$(uname -r)from its cloud-initruncmdblock to ensuresch_netemis available. This:Severity
Medium — increases maintenance burden or risk of future bugs
Affected Files
internal/workloads/chaos_network.go—RunCmdincludes the dnf installbuild/golden-image/Containerfile— does not currently installkernel-modules-extrabuild/golden-image/README.md— should mentionsch_netemprovenance once fixeddocs/chaos-workloads.md— currently says "loaded fromkernel-modules-extra… on first boot"(File path assumes the rename in the companion tech-debt issue [
chaos-network.go→chaos_network.go] has landed. If not, substitute the hyphenated name.)Proposed Fix
Pre-install
kernel-modules-extrain the golden image:kernel-modules-extrato the dnf install layer inbuild/golden-image/Containerfile.dnf installfromchaos_network.go'sRunCmd, leaving onlymodprobe sch_netem.docs/chaos-workloads.mdto note that the golden image carriessch_netemand the default Fedora container disk requires internet egress + a kernel match at first boot.This also makes
chaos-networkresilient when run withlatency-msorpacket-loss-percenthigh enough to defeat the dnf install itself.Area
Workloads
Architecture Layer
Layer 3 - Workload Definitions (workloads, registry)