You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/chaos-studio/chaos-studio-fault-library.md
+56-26Lines changed: 56 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,7 +48,7 @@ The faults listed in this article are currently available for use. To understand
48
48
| Target type | Microsoft-Agent |
49
49
| Supported OS types | Windows, Linux. |
50
50
| Description | Adds CPU pressure, up to the specified value, on the VM where this fault is injected during the fault action. The artificial CPU pressure is removed at the end of the duration or if the experiment is canceled. On Windows, the **% Processor Utility** performance counter is used at fault start to determine current CPU percentage, which is subtracted from the `pressureLevel` defined in the fault so that **% Processor Utility** hits approximately the `pressureLevel` defined in the fault parameters. |
51
-
| Prerequisites |**Linux**: Running the fault on a Linux VM requires the **stress-ng** utility to be installed. To install it, use the package manager for your Linux distro:<ul><li>APT command to install stress-ng: `sudo apt-get update && sudo apt-get -y install unzip && sudo apt-get -y install stress-ng`</li><li>YUM command to install stress-ng: `sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && sudo yum -y install stress-ng`|
51
+
| Prerequisites |**Linux**: The **stress-ng** utility needs to be installed. This happens automatically as part of agent installation, using the default package manager, on Debian-based systems (including Ubuntu), Red Hat Enterprise Linux, CentOS, and OpenSUSE. For other distributions, you must install **stress-ng** manually.|
| Description | Adds physical memory pressure, up to the specified value, on the VM where this fault is injected during the fault action. The artificial physical memory pressure is removed at the end of the duration or if the experiment is canceled. |
96
-
| Prerequisites |**Linux**: Running the fault on a Linux VM requires the **stress-ng** utility to be installed. To install it, use the package manager for your Linux distro:<ul><li>APT command to install stress-ng: `sudo apt-get update && sudo apt-get -y install unzip && sudo apt-get -y install stress-ng`</li><li>YUM command to install stress-ng: `sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && sudo yum -y install stress-ng`|
96
+
| Prerequisites |**Linux**: The **stress-ng** utility needs to be installed. This happens automatically as part of agent installation, using the default package manager, on Debian-based systems (including Ubuntu), Red Hat Enterprise Linux, CentOS, and OpenSUSE. For other distributions, you must install **stress-ng** manually.|
@@ -173,14 +173,15 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
173
173
174
174
| Property | Value |
175
175
|-|-|
176
-
| Capability name | DiskIOPressure-1.0|
176
+
| Capability name | DiskIOPressure-1.1|
177
177
| Target type | Microsoft-Agent |
178
178
| Supported OS types | Windows |
179
-
| Description | Uses the [diskspd utility](https://github.com/Microsoft/diskspd/wiki) to add disk pressure to the primary storage of the VM where it's injected during the fault action. This fault has five different modes of execution. The artificial disk pressure is removed at the end of the duration or if the experiment is canceled. |
179
+
| Description | Uses the [diskspd utility](https://github.com/Microsoft/diskspd/wiki) to add disk pressure to a Virtual Machine. Pressure is added to the primary disk by default, or the disk specified with the targetTempDirectory parameter. This fault has five different modes of execution. The artificial disk pressure is removed at the end of the duration or if the experiment is canceled. |
| pressureMode | The preset mode of disk pressure to add to the primary storage of the VM. Must be one of the `PressureModes` in the following table. |
184
+
| targetTempDirectory | (Optional) The directory to use for applying disk pressure. For example, "D:/Temp". If the parameter is not included, pressure is added to the primary disk. |
184
185
| virtualMachineScaleSetInstances | An array of instance IDs when this fault is applied to a virtual machine scale set. Required for virtual machine scale sets. |
185
186
186
187
### Pressure modes
@@ -201,12 +202,16 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
@@ -223,16 +228,17 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
223
228
224
229
| Property | Value |
225
230
|-|-|
226
-
| Capability name | LinuxDiskIOPressure-1.0|
231
+
| Capability name | LinuxDiskIOPressure-1.1|
227
232
| Target type | Microsoft-Agent |
228
233
| Supported OS types | Linux |
229
-
| Description | Uses stress-ng to apply pressure to the disk. One or more worker processes are spawned that perform I/O processes with temporary files. For information on how pressure is applied, see the [stress-ng](https://wiki.ubuntu.com/Kernel/Reference/stress-ng) article. |
230
-
| Prerequisites |Running the fault on a Linux VM requires the **stress-ng** utility to be installed. To install it, use the package manager for your Linux distro:<ul><li>APT command to install stress-ng: `sudo apt-get update && sudo apt-get -y install unzip && sudo apt-get -y install stress-ng`</li><li>YUM command to install stress-ng: `sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && sudo yum -y install stress-ng`|
| Description | Uses stress-ng to apply pressure to the disk. One or more worker processes are spawned that perform I/O processes with temporary files. Pressure is added to the primary disk by default, or the disk specified with the targetTempDirectory parameter. For information on how pressure is applied, see the [stress-ng](https://wiki.ubuntu.com/Kernel/Reference/stress-ng) article. |
235
+
| Prerequisites |The **stress-ng** utility needs to be installed. This happens automatically as part of agent installation, using the default package manager, on Debian-based systems (including Ubuntu), Red Hat Enterprise Linux, CentOS, and OpenSUSE. For other distributions, you must install **stress-ng** manually.|
| workerCount | Number of worker processes to run. Setting `workerCount` to 0 generated as many worker processes as there are number of processors. |
234
239
| fileSizePerWorker | Size of the temporary file that a worker performs I/O operations against. Integer plus a unit in bytes (b), kilobytes (k), megabytes (m), or gigabytes (g) (for example, 4 m for 4 megabytes and 256 g for 256 gigabytes). |
235
240
| blockSize | Block size to be used for disk I/O operations, capped at 4 megabytes. Integer plus a unit in bytes, kilobytes, or megabytes (for example, 512 k for 512 kilobytes). |
241
+
| targetTempDirectory | (Optional) The directory to use for applying disk pressure. For example, "/tmp/". If the parameter is not included, pressure is added to the primary disk. |
236
242
| virtualMachineScaleSetInstances | An array of instance IDs when this fault is applied to a virtual machine scale set. Required for virtual machine scale sets. |
237
243
238
244
### Sample JSON
@@ -243,7 +249,7 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
@@ -257,6 +263,10 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
257
263
"key": "blockSize",
258
264
"value": "256k"
259
265
},
266
+
{
267
+
"key": "targetTempDirectory",
268
+
"value": "/tmp/"
269
+
},
260
270
{
261
271
"key": "virtualMachineScaleSetInstances",
262
272
"value": "[0,1,2]"
@@ -277,7 +287,7 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
277
287
| Target type | Microsoft-Agent |
278
288
| Supported OS types | Linux |
279
289
| Description | Runs any stress-ng command by passing arguments directly to stress-ng. Useful when one of the predefined faults for stress-ng doesn't meet your needs. |
280
-
| Prerequisites |Running the fault on a Linux VM requires the **stress-ng** utility to be installed. To install it, use the package manager for your Linux distro:<ul><li>APT command to install stress-ng: `sudo apt-get update && sudo apt-get -y install unzip && sudo apt-get -y install stress-ng`</li><li>YUM command to install stress-ng: `sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && sudo yum -y install stress-ng`|
290
+
| Prerequisites |The **stress-ng** utility needs to be installed. This happens automatically as part of agent installation, using the default package manager, on Debian-based systems (including Ubuntu), Red Hat Enterprise Linux, CentOS, and OpenSUSE. For other distributions, you must install **stress-ng** manually.|
281
291
| Urn | urn:csci:microsoft:agent:stressNg/1.0 |
282
292
| Parameters (key, value) ||
283
293
| stressNgArguments | One or more arguments to pass to the stress-ng process. For information on possible stress-ng arguments, see the [stress-ng](https://wiki.ubuntu.com/Kernel/Reference/stress-ng) article. |
@@ -491,20 +501,26 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
491
501
492
502
| Property | Value |
493
503
|-|-|
494
-
| Capability name | NetworkLatency-1.0|
504
+
| Capability name | NetworkLatency-1.1|
495
505
| Target type | Microsoft-Agent |
496
506
| Supported OS types | Windows, Linux. |
497
-
| Description | Increases network latency for a specified port range and network block. |
507
+
| Description | Increases network latency for a specified port range and network block. At least one destinationFilter or inboundDestinationFilter array must be provided. |
498
508
| Prerequisites | Agent (for Windows) must run as administrator. If the agent is installed as a VM extension, it runs as administrator by default. |
| latencyInMilliseconds | Amount of latency to be applied in milliseconds. |
502
-
| destinationFilters | Delimited JSON array of packet filters defining which outbound packets to target for fault injection. Maximum of 16. |
512
+
| destinationFilters | Delimited JSON array of packet filters defining which outbound packets to target. Maximum of 16.|
513
+
| inboundDestinationFilters | Delimited JSON array of packet filters defining which inbound packets to target. Maximum of 16. |
514
+
| virtualMachineScaleSetInstances | An array of instance IDs when this fault is applied to a virtual machine scale set. Required for virtual machine scale sets. |
515
+
516
+
The parameters **destinationFilters** and **inboundDestinationFilters** use the following array of packet filters.
517
+
518
+
| Property | Value |
519
+
|-|-|
503
520
| address | IP address that indicates the start of the IP range. |
504
521
| subnetMask | Subnet mask for the IP address range. |
505
522
| portLow | (Optional) Port number of the start of the port range. |
506
523
| portHigh | (Optional) Port number of the end of the port range. |
507
-
| virtualMachineScaleSetInstances | An array of instance IDs when this fault is applied to a virtual machine scale set. Required for virtual machine scale sets. |
508
524
509
525
### Sample JSON
510
526
@@ -514,12 +530,16 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
@@ -545,19 +565,25 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
545
565
546
566
| Property | Value |
547
567
|-|-|
548
-
| Capability name | NetworkDisconnect-1.0|
568
+
| Capability name | NetworkDisconnect-1.1|
549
569
| Target type | Microsoft-Agent |
550
570
| Supported OS types | Windows, Linux. |
551
-
| Description | Blocks outbound network traffic for specified port range and network block. |
571
+
| Description | Blocks outbound network traffic for specified port range and network block. At least one destinationFilter or inboundDestinationFilter array must be provided. |
552
572
| Prerequisites | Agent (for Windows) must run as administrator. If the agent is installed as a VM extension, it runs as administrator by default. |
| destinationFilters | Delimited JSON array of packet filters defining which outbound packets to target for fault injection. Maximum of 16. |
575
+
| destinationFilters | Delimited JSON array of packet filters defining which outbound packets to target. Maximum of 16.|
576
+
| inboundDestinationFilters | Delimited JSON array of packet filters defining which inbound packets to target. Maximum of 16. |
577
+
| virtualMachineScaleSetInstances | An array of instance IDs when this fault is applied to a virtual machine scale set. Required for virtual machine scale sets. |
578
+
579
+
The parameters **destinationFilters** and **inboundDestinationFilters** use the following array of packet filters.
580
+
581
+
| Property | Value |
582
+
|-|-|
556
583
| address | IP address that indicates the start of the IP range. |
557
584
| subnetMask | Subnet mask for the IP address range. |
558
585
| portLow | (Optional) Port number of the start of the port range. |
559
586
| portHigh | (Optional) Port number of the end of the port range. |
560
-
| virtualMachineScaleSetInstances | An array of instance IDs when this fault is applied to a virtual machine scale set. Required for virtual machine scale sets. |
561
587
562
588
### Sample JSON
563
589
@@ -567,12 +593,16 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
@@ -726,7 +756,7 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
726
756
}
727
757
```
728
758
729
-
## Azure Resource Manager virtual machine scale set instance shutdown
759
+
## Virtual Machine Scale Set instance shutdown
730
760
731
761
This fault has two available versions that you can use, Version 1.0 and Version 2.0. The main difference is that Version 2.0 allows you to filter by availability zones, only shutting down instances within a specified zone or zones.
0 commit comments