> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/vmware.md).

# Chaos faults for VMware

### Introduction <a href="#introduction" id="introduction"></a>

VMware faults disrupt resources running on a vSphere / vCenter cluster. They are organized into two groups based on what is targeted: Linux guest VMs (faults that act inside the guest via VMware Tools Guest Operations) and vCenter (faults that act on the VM itself through vCenter APIs).

Linux faults require VMware Tools running on the guest and the prerequisite stress / network / DNS / HTTP binaries installed inside the VM. Go to [VMware Linux binary installation](/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/binary-installation.md) to install them. vCenter faults talk directly to vCenter and are OS-agnostic. All VMware faults require a vCenter user mapped to the chaos role described in [VMware permissions](/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/permissions.md).

For Windows VMs hosted on vSphere, go to [Chaos faults for Windows](/resilience-testing/chaos-engineering/faults/chaos-fault-categories/windows/windows.md) and install the Windows chaos agent on the target VM.

<table data-view="cards"><thead><tr><th></th><th></th><th><select multiple><option value="9NT_excp" label="CPU" color="blue"></option><option value="Ybcp0FBd" label="stress" color="blue"></option><option value="LuGNDOP4" label="memory" color="blue"></option><option value="Isc5W-71" label="io" color="blue"></option><option value="4gdP1Or1" label="network" color="blue"></option><option value="zdsNoAgv" label="latency" color="blue"></option><option value="UmlG3dF4" label="loss" color="blue"></option><option value="kNQPP5It" label="rate" color="blue"></option><option value="qW63uOC7" label="limit" color="blue"></option><option value="eNd7pvMm" label="DNS" color="blue"></option><option value="qQpaV_iK" label="http" color="blue"></option><option value="tLfNrSUv" label="reset" color="blue"></option><option value="znORC0Wn" label="peer" color="blue"></option><option value="afu54BAL" label="modify" color="blue"></option><option value="7YlD17dm" label="response" color="blue"></option><option value="JhakDudk" label="kill" color="blue"></option><option value="6FwiVEdb" label="process" color="blue"></option><option value="IEQQGJbs" label="stop" color="blue"></option><option value="IEbtBL_a" label="service" color="blue"></option><option value="NfwYLw6q" label="power" color="blue"></option><option value="KfNol1xi" label="off" color="blue"></option><option value="rvi5o6d9" label="moid" color="blue"></option><option value="YqQVKNpF" label="name" color="blue"></option></select></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>VMware CPU hog</strong></td><td>Drive CPU utilization to a configurable percentage across a configurable number of cores on a Linux VMware VM for a configurable duration.</td><td><span data-option="9NT_excp">CPU, </span><span data-option="Ybcp0FBd">stress</span></td><td><a href="#vmware-cpu-hog">#vmware-cpu-hog</a></td></tr><tr><td><strong>VMware memory hog</strong></td><td>Consume a configurable amount of RAM on a Linux VMware VM for a configurable duration so you can test how the workload behaves when memory headroom shrinks.</td><td><span data-option="LuGNDOP4">memory, </span><span data-option="Ybcp0FBd">stress</span></td><td><a href="#vmware-memory-hog">#vmware-memory-hog</a></td></tr><tr><td><strong>VMware IO stress</strong></td><td>Drive disk IO load on a Linux VMware VM for a configurable duration so you can test how the workload behaves when storage throughput is saturated.</td><td><span data-option="Isc5W-71">io, </span><span data-option="Ybcp0FBd">stress</span></td><td><a href="#vmware-io-stress">#vmware-io-stress</a></td></tr><tr><td><strong>VMware network latency</strong></td><td>Add latency to egress traffic from a Linux VMware VM for a configurable duration. Scope by destination IP, hostname, or port.</td><td><span data-option="4gdP1Or1">network, </span><span data-option="zdsNoAgv">latency</span></td><td><a href="#vmware-network-latency">#vmware-network-latency</a></td></tr><tr><td><strong>VMware network loss</strong></td><td>Drop a configurable percentage of egress packets from a Linux VMware VM for a configurable duration.</td><td><span data-option="4gdP1Or1">network, </span><span data-option="UmlG3dF4">loss</span></td><td><a href="#vmware-network-loss">#vmware-network-loss</a></td></tr><tr><td><strong>VMware network rate limit</strong></td><td>Cap egress bandwidth on a Linux VMware VM for a configurable duration.</td><td><span data-option="4gdP1Or1">network, </span><span data-option="kNQPP5It">rate, </span><span data-option="qW63uOC7">limit</span></td><td><a href="#vmware-network-rate-limit">#vmware-network-rate-limit</a></td></tr><tr><td><strong>VMware DNS chaos</strong></td><td>Force DNS resolution failures for specific hostnames on a Linux VMware VM for a configurable duration.</td><td><span data-option="eNd7pvMm">DNS, </span><span data-option="Ybcp0FBd">stress</span></td><td><a href="#vmware-dns-chaos">#vmware-dns-chaos</a></td></tr><tr><td><strong>VMware HTTP latency</strong></td><td>Inject HTTP response latency at a target service running inside a Linux VMware VM for a configurable duration.</td><td><span data-option="qQpaV_iK">http, </span><span data-option="zdsNoAgv">latency</span></td><td><a href="#vmware-http-latency">#vmware-http-latency</a></td></tr><tr><td><strong>VMware HTTP reset peer</strong></td><td>Reset TCP connections to an HTTP service running inside a Linux VMware VM for a configurable duration.</td><td><span data-option="qQpaV_iK">http, </span><span data-option="tLfNrSUv">reset, </span><span data-option="znORC0Wn">peer</span></td><td><a href="#vmware-http-reset-peer">#vmware-http-reset-peer</a></td></tr><tr><td><strong>VMware HTTP response modify</strong></td><td>Rewrite HTTP responses (status code, body, headers) from a service running inside a Linux VMware VM for a configurable duration.</td><td><span data-option="qQpaV_iK">http, </span><span data-option="afu54BAL">modify, </span><span data-option="7YlD17dm">response</span></td><td><a href="#vmware-http-response-modify">#vmware-http-response-modify</a></td></tr><tr><td><strong>VMware process kill</strong></td><td>Terminate one or more processes by PID inside a Linux VMware VM for a configurable duration.</td><td><span data-option="JhakDudk">kill, </span><span data-option="6FwiVEdb">process</span></td><td><a href="#vmware-process-kill">#vmware-process-kill</a></td></tr><tr><td><strong>VMware service stop</strong></td><td>Stop one or more systemd services inside a Linux VMware VM for a configurable duration.</td><td><span data-option="IEQQGJbs">stop, </span><span data-option="IEbtBL_a">service</span></td><td><a href="#vmware-service-stop">#vmware-service-stop</a></td></tr><tr><td><strong>VMware VM poweroff</strong></td><td>Power off one or more VMware VMs (identified by Managed Object ID) for a configurable duration, then power them back on.</td><td><span data-option="NfwYLw6q">power, </span><span data-option="KfNol1xi">off, </span><span data-option="rvi5o6d9">moid</span></td><td><a href="#vmware-vm-poweroff">#vmware-vm-poweroff</a></td></tr><tr><td><strong>VMware VM poweroff by name</strong></td><td>Power off one or more VMware VMs (identified by name) for a configurable duration, then power them back on.</td><td><span data-option="NfwYLw6q">power, </span><span data-option="KfNol1xi">off, </span><span data-option="YqQVKNpF">name</span></td><td><a href="#vmware-vm-poweroff-by-name">#vmware-vm-poweroff-by-name</a></td></tr></tbody></table>

#### VMware CPU hog <a href="#vmware-cpu-hog" id="vmware-cpu-hog"></a>

VMware CPU hog drives CPU utilization to a configurable percentage across a configurable number of cores on a Linux VMware VM for a configurable duration.

<details>

<summary>Use cases</summary>

Test how a workload on a vSphere VM behaves when compute headroom shrinks: whether latency stays inside the SLA, whether vSphere DRS migrates the VM, and whether monitoring detects CPU saturation within the alerting SLA.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/vmware-cpu-hog.md" class="button primary">View details</a>

#### VMware memory hog <a href="#vmware-memory-hog" id="vmware-memory-hog"></a>

VMware memory hog consumes a configurable amount of RAM on a Linux VMware VM for a configurable duration.

<details>

<summary>Use cases</summary>

Test how a workload behaves when memory headroom shrinks: whether the OOM killer fires on the right process, whether GC-heavy applications pause, and whether monitoring detects the saturation within the alerting SLA.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/vmware-memory-hog.md" class="button primary">View details</a>

#### VMware IO stress <a href="#vmware-io-stress" id="vmware-io-stress"></a>

VMware IO stress drives disk IO load on a Linux VMware VM for a configurable duration.

<details>

<summary>Use cases</summary>

Test how a workload behaves when storage throughput saturates: whether IO latency stays inside the SLA, whether databases queue writes correctly, and whether vSphere DRS reacts to datastore latency.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/vmware-io-stress.md" class="button primary">View details</a>

#### VMware network latency <a href="#vmware-network-latency" id="vmware-network-latency"></a>

VMware network latency adds latency to egress traffic from a Linux VMware VM for a configurable duration. Scope by destination IP, hostname, or port.

<details>

<summary>Use cases</summary>

Test how a workload behaves when a downstream dependency becomes slow: whether retries and timeouts work, whether circuit breakers open correctly, and whether monitoring detects the regression within the alerting SLA.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/vmware-network-latency.md" class="button primary">View details</a>

#### VMware network loss <a href="#vmware-network-loss" id="vmware-network-loss"></a>

VMware network loss drops a configurable percentage of egress packets from a Linux VMware VM for a configurable duration. Scope by destination IP, hostname, or port.

<details>

<summary>Use cases</summary>

Test how a workload behaves when packet loss spikes: whether TCP retransmits stay within the SLA, whether application-layer retries recover correctly, and whether cluster membership stays healthy.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/vmware-network-loss.md" class="button primary">View details</a>

#### VMware network rate limit <a href="#vmware-network-rate-limit" id="vmware-network-rate-limit"></a>

VMware network rate limit caps egress bandwidth on a Linux VMware VM for a configurable duration.

<details>

<summary>Use cases</summary>

Test how a workload behaves when bandwidth is constrained: whether streaming or transfer workloads degrade gracefully, whether retries amplify the slowdown, and whether monitoring detects the regression.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/vmware-network-rate-limit.md" class="button primary">View details</a>

#### VMware DNS chaos <a href="#vmware-dns-chaos" id="vmware-dns-chaos"></a>

VMware DNS chaos forces DNS resolution failures for specific hostnames on a Linux VMware VM for a configurable duration.

<details>

<summary>Use cases</summary>

Test how a workload behaves when DNS resolution fails for a specific dependency: whether the caller retries correctly, whether circuit breakers trip, and whether monitoring detects the regression.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/vmware-dns-chaos.md" class="button primary">View details</a>

#### VMware HTTP latency <a href="#vmware-http-latency" id="vmware-http-latency"></a>

VMware HTTP latency injects HTTP response latency at a target service running on a Linux VMware VM for a configurable duration.

<details>

<summary>Use cases</summary>

Test how callers behave when a service slows down: whether the caller honours its timeout, whether circuit breakers trip, and whether retries amplify load.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/vmware-http-latency.md" class="button primary">View details</a>

#### VMware HTTP reset peer <a href="#vmware-http-reset-peer" id="vmware-http-reset-peer"></a>

VMware HTTP reset peer resets TCP connections to an HTTP service running on a Linux VMware VM for a configurable duration.

<details>

<summary>Use cases</summary>

Test how callers behave when a service rudely drops connections: whether the caller distinguishes connection reset from clean response, whether retries kick in, and whether circuit breakers trip.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/vmware-http-reset-peer.md" class="button primary">View details</a>

#### VMware HTTP response modify <a href="#vmware-http-response-modify" id="vmware-http-response-modify"></a>

VMware HTTP response modify rewrites HTTP responses (status code, body, headers) from a service running on a Linux VMware VM for a configurable duration.

<details>

<summary>Use cases</summary>

Test how callers behave when responses are corrupted: whether the caller honours error semantics, whether body parsing handles unexpected payloads gracefully, and whether monitoring detects the regression.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/vmware-http-response-modify.md" class="button primary">View details</a>

#### VMware process kill <a href="#vmware-process-kill" id="vmware-process-kill"></a>

VMware process kill terminates one or more processes by PID inside a Linux VMware VM for a configurable duration.

<details>

<summary>Use cases</summary>

Test how a workload behaves when a critical process is killed: whether the supervisor restarts it inside the SLA, whether replicas absorb the load, and whether monitoring detects the regression.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/vmware-process-kill.md" class="button primary">View details</a>

#### VMware service stop <a href="#vmware-service-stop" id="vmware-service-stop"></a>

VMware service stop stops one or more systemd services inside a Linux VMware VM for a configurable duration.

<details>

<summary>Use cases</summary>

Test how a workload behaves when a managed service is down: whether dependent services degrade gracefully, whether load balancers route around the outage, and whether monitoring detects the regression.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/linux/vmware-service-stop.md" class="button primary">View details</a>

#### VMware VM poweroff <a href="#vmware-vm-poweroff" id="vmware-vm-poweroff"></a>

VMware VM poweroff (by Managed Object ID) powers off one or more VMware VMs for a configurable duration, then powers them back on.

<details>

<summary>Use cases</summary>

Test how a workload behaves when a VM disappears: whether replicas absorb the load, whether DNS / load-balancer health checks remove the VM cleanly, and whether monitoring detects the outage.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/vcenter/vmware-vm-poweroff.md" class="button primary">View details</a>

#### VMware VM poweroff by name <a href="#vmware-vm-poweroff-by-name" id="vmware-vm-poweroff-by-name"></a>

VMware VM poweroff by name powers off one or more VMware VMs (identified by name) for a configurable duration, then powers them back on. Use this variant when working with VM names is more convenient than tracking MOIDs.

<details>

<summary>Use cases</summary>

Test how a workload behaves when a VM disappears: whether replicas absorb the load, whether DNS / load-balancer health checks remove the VM cleanly, and whether monitoring detects the outage.

</details>

<a href="/resilience-testing/chaos-engineering/faults/chaos-fault-categories/vmware/vcenter/vmware-vm-poweroff-by-name.md" class="button primary">View details</a>

{% @harness-feedback/feedback %}
