Skip to content

Commit cd71984

Browse files
authored
Merge pull request #266468 from rsgel/rigel-eventhub021524
add event hub and provider roles
2 parents 469a991 + 5595715 commit cd71984

File tree

3 files changed

+60
-19
lines changed

3 files changed

+60
-19
lines changed

articles/chaos-studio/chaos-studio-fault-library.md

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ ms.service: chaos-studio
1212

1313
# Azure Chaos Studio fault and action library
1414

15-
> [!CAUTION]
16-
> This article references CentOS, a Linux distribution that is nearing End Of Life (EOL) status. Please consider your use and planning accordingly.
17-
1815
The faults listed in this article are currently available for use. To understand which resource types are supported, see [Supported resource types and role assignments for Azure Chaos Studio](./chaos-studio-fault-providers.md).
1916

2017
## Time delay
@@ -51,7 +48,7 @@ The faults listed in this article are currently available for use. To understand
5148
| Target type | Microsoft-Agent |
5249
| Supported OS types | Windows, Linux. |
5350
| 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. |
54-
| 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. |
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 several operating systems including Debian-based (like Ubuntu), Red Hat Enterprise Linux, and OpenSUSE. For other distributions, you must install **stress-ng** manually. |
5552
| | **Windows**: None. |
5653
| Urn | urn:csci:microsoft:agent:cpuPressure/1.0 |
5754
| Parameters (key, value) |
@@ -96,7 +93,7 @@ Known issues on Linux:
9693
| Target type | Microsoft-Agent |
9794
| Supported OS types | Windows, Linux. |
9895
| 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. |
99-
| 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. |
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 several operating systems including Debian-based (like Ubuntu), Red Hat Enterprise Linux, and OpenSUSE. For other distributions, you must install **stress-ng** manually. |
10097
| | **Windows**: None. |
10198
| Urn | urn:csci:microsoft:agent:physicalMemoryPressure/1.0 |
10299
| Parameters (key, value) | |
@@ -235,7 +232,7 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
235232
| Target type | Microsoft-Agent |
236233
| Supported OS types | Linux |
237234
| 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. |
238-
| 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. |
235+
| Prerequisites | **Linux**: The **stress-ng** utility needs to be installed. This happens automatically as part of agent installation, using the default package manager, on several operating systems including Debian-based (like Ubuntu), Red Hat Enterprise Linux, and OpenSUSE. For other distributions, you must install **stress-ng** manually. |
239236
| Urn | urn:csci:microsoft:agent:linuxDiskIOPressure/1.1 |
240237
| Parameters (key, value) | |
241238
| workerCount | Number of worker processes to run. Setting `workerCount` to 0 generated as many worker processes as there are number of processors. |
@@ -290,7 +287,7 @@ Currently, the Windows agent doesn't reduce memory pressure when other applicati
290287
| Target type | Microsoft-Agent |
291288
| Supported OS types | Linux |
292289
| 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. |
293-
| 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. |
290+
| Prerequisites | **Linux**: The **stress-ng** utility needs to be installed. This happens automatically as part of agent installation, using the default package manager, on several operating systems including Debian-based (like Ubuntu), Red Hat Enterprise Linux, and OpenSUSE. For other distributions, you must install **stress-ng** manually. |
294291
| Urn | urn:csci:microsoft:agent:stressNg/1.0 |
295292
| Parameters (key, value) | |
296293
| 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. |
@@ -1819,3 +1816,42 @@ Currently, only virtual machine scale sets configured with the **Uniform** orche
18191816
### Limitations
18201817

18211818
* A maximum of 1000 topic entities can be passed to this fault.
1819+
1820+
## Change Event Hub State
1821+
1822+
| Property | Value |
1823+
| ---- | --- |
1824+
| Capability name | ChangeEventHubState-1.0 |
1825+
| Target type | Microsoft-EventHub |
1826+
| Description | Sets individual event hubs to the desired state within an Azure Event Hubs namespace. You can affect specific event hub names or use “*” to affect all within the namespace. This can help test your messaging infrastructure for maintenance or failure scenarios. This is a discrete fault, so the entity will not be returned to the starting state automatically. |
1827+
| Prerequisites | An Azure Event Hubs namespace with at least one [event hub entity](../event-hubs/event-hubs-create.md). |
1828+
| Urn | urn:csci:microsoft:eventHub:changeEventHubState/1.0 |
1829+
| Fault type | Discrete. |
1830+
| Parameters (key, value) | |
1831+
| desiredState | The desired state for the targeted event hubs. The possible states are Active, Disabled, and SendDisabled. |
1832+
| eventHubs | A comma-separated list of the event hub names within the targeted namespace. Use "*" to affect all entities within the namespace. |
1833+
1834+
### Sample JSON
1835+
1836+
```json
1837+
{
1838+
"name": "Branch1",
1839+
"actions": [
1840+
{
1841+
"selectorId": "Selector1",
1842+
"type": "discrete",
1843+
"parameters": [
1844+
{
1845+
"key": "eventhubs",
1846+
"value": "[\"*\"]"
1847+
},
1848+
{
1849+
"key": "desiredState",
1850+
"value": "Disabled"
1851+
}
1852+
],
1853+
"name": "urn:csci:microsoft:eventHub:changeEventHubState/1.0"
1854+
}
1855+
]
1856+
}
1857+
```

articles/chaos-studio/chaos-studio-fault-providers.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,21 @@ ms.service: chaos-studio
1414

1515
The following table lists the supported resource types for faults, the target types, and suggested roles to use when you give an experiment permission to a resource of that type.
1616

17+
More information about role assignments can be found on the [Azure built-in roles page](../role-based-access-control/built-in-roles.md).
18+
1719
| Resource type | Target name/type | Suggested role assignment |
1820
|-------------------------------------------------------------------|--------------------------------------------|----------------------------------------------|
19-
| Microsoft.Cache/Redis (service-direct) | Microsoft-AzureCacheForRedis | Redis Cache Contributor |
20-
| Microsoft.ClassicCompute/domainNames (service-direct) | Microsoft-DomainNames | Classic Virtual Machine Contributor |
21-
| Microsoft.Compute/virtualMachines (agent-based) | Microsoft-Agent | Reader |
22-
| Microsoft.Compute/virtualMachineScaleSets (agent-based) | Microsoft-Agent | Reader |
23-
| Microsoft.Compute/virtualMachines (service-direct) | Microsoft-VirtualMachine | Virtual Machine Contributor |
24-
| Microsoft.Compute/virtualMachineScaleSets (service-direct) | Microsoft-VirtualMachineScaleSet | Virtual Machine Contributor |
25-
| Microsoft.ContainerService/managedClusters (service-direct) | Microsoft-AzureKubernetesServiceChaosMesh | Azure Kubernetes Service Cluster Admin Role |
26-
| Microsoft.DocumentDb/databaseAccounts (CosmosDB, service-direct) | Microsoft-CosmosDB | Azure Cosmos DB Operator |
27-
| Microsoft.Insights/autoscalesettings (service-direct) | Microsoft-AutoScaleSettings | Web Plan Contributor |
28-
| Microsoft.KeyVault/vaults (service-direct) | Microsoft-KeyVault | Azure Key Vault Contributor |
29-
| Microsoft.Network/networkSecurityGroups (service-direct) | Microsoft-NetworkSecurityGroup | Network Contributor |
30-
| Microsoft.Web/sites (service-direct) | Microsoft-AppService | Website Contributor |
21+
| Microsoft.Cache/Redis (service-direct) | Microsoft-AzureCacheForRedis | [Redis Cache Contributor](../role-based-access-control/built-in-roles.md#redis-cache-contributor) |
22+
| Microsoft.ClassicCompute/domainNames (service-direct) | Microsoft-DomainNames | [Classic Virtual Machine Contributor](../role-based-access-control/built-in-roles.md#classic-virtual-machine-contributor) |
23+
| Microsoft.Compute/virtualMachines (agent-based) | Microsoft-Agent | [Reader](../role-based-access-control/built-in-roles.md#reader) |
24+
| Microsoft.Compute/virtualMachineScaleSets (agent-based) | Microsoft-Agent | [Reader](../role-based-access-control/built-in-roles.md#reader) |
25+
| Microsoft.Compute/virtualMachines (service-direct) | Microsoft-VirtualMachine | [Virtual Machine Contributor](../role-based-access-control/built-in-roles.md#virtual-machine-contributor) |
26+
| Microsoft.Compute/virtualMachineScaleSets (service-direct) | Microsoft-VirtualMachineScaleSet | [Virtual Machine Contributor](../role-based-access-control/built-in-roles.md#virtual-machine-contributor) |
27+
| Microsoft.ContainerService/managedClusters (service-direct) | Microsoft-AzureKubernetesServiceChaosMesh | [Azure Kubernetes Service Cluster Admin Role](../role-based-access-control/built-in-roles.md#azure-kubernetes-service-cluster-admin-role) |
28+
| Microsoft.DocumentDb/databaseAccounts (Cosmos DB, service-direct) | Microsoft-Cosmos DB | [Azure Cosmos DB Operator](../role-based-access-control/built-in-roles.md#cosmos-db-operator) |
29+
| Microsoft.Insights/autoscalesettings (service-direct) | Microsoft-AutoScaleSettings | [Web Plan Contributor](../role-based-access-control/built-in-roles.md#web-plan-contributor) |
30+
| Microsoft.KeyVault/vaults (service-direct) | Microsoft-KeyVault | [Azure Key Vault Contributor](../role-based-access-control/built-in-roles.md#key-vault-contributor) |
31+
| Microsoft.Network/networkSecurityGroups (service-direct) | Microsoft-NetworkSecurityGroup | [Network Contributor](../role-based-access-control/built-in-roles.md#network-contributor) |
32+
| Microsoft.Web/sites (service-direct) | Microsoft-AppService | [Website Contributor](../role-based-access-control/built-in-roles.md#website-contributor) |
33+
| Microsoft.ServiceBus/namespaces (service-direct) | Microsoft-ServiceBus | [Azure Service Bus Data Owner](../role-based-access-control/built-in-roles.md#azure-service-bus-data-owner) |
34+
| Microsoft.EventHub/namespaces (service-direct) | Microsoft-EventHub | [Azure Event Hubs Data Owner](../role-based-access-control/built-in-roles.md#azure-event-hubs-data-owner) |

articles/chaos-studio/chaos-studio-versions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ Chaos Studio currently tests with the following version combinations.
4949

5050
| Chaos Studio fault version | Kubernetes version | Chaos Mesh version | Notes |
5151
|:---:|:---:|:---:|:---:|
52+
| 2.1 | 1.27 | 2.6.3 | |
5253
| 2.1 | 1.25.11 | 2.5.1 | |
5354

5455
The *Chaos Studio fault version* column refers to the individual fault version for each AKS Chaos Mesh fault used in the experiment JSON, for example `urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.1`. If a past version of the corresponding Chaos Studio fault remains available from the Chaos Studio API (for example, `...podChaos/1.0`), it is within support.

0 commit comments

Comments
 (0)