Skip to main content

Chaos Faults for Linux

Introduction

Linux faults disrupt the resources running on a Linux machine. This deteriorates the performance of the application for the duration of the chaos experiment.

Resource consumption

The infrastructure consumes minimal system resources in an idle state, when no experiment is being executed. For example, in a GCP e2-micro VM instance with 2 vCPU and 1 GB of memory that runs Ubuntu 22.04 operating system, the average resource consumption was found to be as follows:

  • CPU usage: 0.05%
  • Memory usage: 1.5%
  • Disk storage consumption: 25 MB
  • Bandwidth consumption: 0.15 KB/s

Fault compatibility matrix

The faults have been tested for compatibility in the following Linux OS distributions:

Stress faults (cpu, memory, disk IO)Network faults (loss, latency, corruption, duplication)DNS faults (error, spoof)Process faults (process kill, service restart)Time chaosDisk fill
Ubuntu 16+
Debian 10+
CentOS 7+
RHEL 7+
Fedora 30+
openSUSE LEAP 15.4+ / SUSE Linux Enterprise 15+
[object Object]

Linux CPU stress

Back to top

Linux CPU stress applies stress on the CPU of the target Linux machines for a certain duration.

  • Induces CPU stress on the target Linux machines.
  • Simulates a lack of CPU for processes running on the application, which degrades their performance.
Use cases
  • Induces CPU stress on the target Linux machines.
  • Simulates a lack of CPU for processes running on the application, which degrades their performance.
  • Simulates slow application traffic or exhaustion of the resources, leading to degradation in the performance of processes on the machine.
View details
[object Object]

Linux memory stress

Back to top

Linux memory stress causes memory consumption of the target Linux machines for a specific duration.

Use cases
  • Induces memory consumption and exhaustion on the target Linux machines.
  • Simulates a lack of memory for processes running on the application, which degrades their performance.
  • Simulates application slowness due to memory starvation, and noisy neighbour problems due to excessive consumption of memory.
View details
[object Object]

Linux disk IO stress

Back to top

Linux disk I/O stress applies stress on the disk of the target Linux machines over I/O operations for a specific duration.

Use cases
  • Simulates slower disk operations for the applications.
  • Simulates noisy neighbour problems by exhausting the disk bandwidth.
  • Verifies the disk performance on increasing I/O threads and varying I/O block sizes.
View details
[object Object]

Linux network loss

Back to top

Linux network loss injects chaos to disrupt network connectivity on the Linux machine by blocking the network requests.

Use cases
  • Induces network loss on the target Linux machines.
  • Simulates loss of connectivity access by blocking the network requests on the machine.
View details
[object Object]

Linux network latency

Back to top

Linux network latency injects chaos to disrupt network connectivity on a Linux machine by adding delay to the network requests.

Use cases
  • Induces network latency on the target Linux machines.
  • Simulates latency in connectivity access by delaying the network requests of the machine.
View details
[object Object]

Linux network duplication

Back to top

Linux network duplication injects chaos to disrupt network connectivity on a Linux machine by duplicating network packets.

Use cases
  • Induces network duplication on the target Linux machines.
  • Simulates packet duplication in the network.
View details
[object Object]

Linux network corruption

Back to top

Linux network corruption injects chaos to disrupt network connectivity on a Linux machine by corrupting the network requests.

Use cases
  • Induces network corruption on the target Linux machines.
  • Simulates network corruption by corrupting requests of the machine.
View details
[object Object]

Linux DNS error

Back to top

Linux DNS error injects chaos to disrupt the DNS resolution on a Linux machine.

Use cases
  • Induces DNS error on the target Linux machines.
  • Simulates loss of access to host by blocking the DNS resolution of host names.
View details
[object Object]

Linux DNS spoof

Back to top

Linux DNS spoof injects chaos to mimic DNS resolution on a Linux machine.

Use cases
  • Induces DNS spoof on the target Linux machines.
  • Resolves DNS target host names (or domains) to other IPs provided as user input.
View details
[object Object]

Linux process kill

Back to top

Linux process kill fault kills the target processes running on the Linux machines.

  • It checks the performance of the application or process running on the Linux machine.
Use cases
  • Induces process kill on the target Linux machines.
  • Disrupts the application critical processes such as databases or message queues by killing their underlying processes or threads.
  • Determines the resilience of applications when processes on a Linux machine are unexpectedly killed (or disrupted).
View details
[object Object]

Linux service restart

Back to top

Linux service restart stops the target system services running in a Linux machine.

  • It determines the performance and resilience of the application (or services) running on Linux machines.
Use cases
  • Service restart determines the resilience of an application upon random halts.
  • Determines how efficiently an application recovers and restarts the services.
View details
[object Object]

Linux time chaos

Back to top

Linux time chaos injects chaos to change the time of the Linux machine.

Use cases
  • Induces time chaos to change the system time on the target Linux machines.
  • Determines the resiliency of the underlying application components when subjected to a change in the system time.
View details