Skip to content

Commit c97b3f2

Browse files
authored
Merge pull request #1103 from harness/doc-2814/bugs-bash
[DOC-2814] Bugs Bash [WIP]
2 parents d130bcd + c4b087c commit c97b3f2

File tree

7 files changed

+62
-80
lines changed

7 files changed

+62
-80
lines changed

docs/chaos-engineering/configure-chaos-experiments/probes/configure-and-add-probe.md

+19-18
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
---
2-
title: Configure and Add Probes
2+
title: Configure and add probe(s)
33
sidebar_position: 2
44
---
55

6-
A probe explores the behavior of a system in a chaotic or unpredictable manner and helps validate the declarative hypothesis set by the user. The goal of a chaos probe is to understand the underlying patterns and laws that govern the behavior of these systems, and to use that understanding to predict or control their behavior.
6+
A probe explores the behavior of a [system that is in a chaotic or unpredictable state](../../technical-reference/chaos-faults) and helps validate the [declarative hypothesis](../../technical-reference/probes/overview.md) set by the user. The goal of a chaos probe is to understand the underlying patterns and laws that govern the behavior of these systems, and use this understanding to predict or control their behavior.
7+
8+
This section walks you through how to configure and add probes to a chaos experiment.
79

810
## Before you begin
911

@@ -12,18 +14,16 @@ A probe explores the behavior of a system in a chaotic or unpredictable manner a
1214

1315
## Prerequisites
1416

15-
- To configure and setup a probe inside a fault there should be an active chaos infrastructure to schedule the chaos experiment in.
17+
- You should have an active chaos infrastructure where you can schedule the chaos experiment.
1618
- Enterprise Hub connectivity status should be active
19+
- Read/write access to the chaos experiment to schedule or navigate to the probe addition UI.
20+
- Read access to the chaos infrastructure to select a chaos infrastructure when creating an experiment.
21+
- Read access to the chaos hub to select faults from the chaos hub while creating an experiment.
1722

18-
## Requirements
19-
20-
- Probe requires the Chaos Experiment Read/Write access to be able to schedule/navigate to the probe addition UI.
21-
- Probe requires at least the Chaos Infra Read access to be able to select a Chaos Infrastructure while creating an experiment.
22-
- Probe requires at least the Chaos Hub Read access to be able to select faults from Chaos Hub while creating an experiment.
23-
24-
## Step 1: Navigate to chaos experiment creation
23+
Once the prerequisites are fulfilled, you can configure and add a probe to your experiment using the following steps.
2524

26-
Navigate to the Create Experiment View by clicking the `+ New Experiment` button and provide a name, description and tag for your experiment.
25+
## Step 1: Navigate to the chaos experiment creation
26+
Navigate to the **Create Experiment View** by clicking `+ New Experiment` button. Provide a name, description and tag for your experiment. The description and tag are optional fields.
2727

2828
Choose the active chaos infrastructure on which this experiment would be scheduled. This step is required so that we can proceed to the fault selection step where probes can be configured.
2929

@@ -35,32 +35,33 @@ And then click on `Start with blank canvas` once you see the start off drawer po
3535

3636
## Step 2: Select a fault
3737

38-
Click on the `+` icon to open the fault selection drawer and choose the fault which you would like to execute in your chaos experiment based on the hypothesis decided.
38+
Select the `+` icon to open the fault selection drawer and choose the fault to execute in your chaos experiment based on the hypothesis decided.
3939

40-
Once a fault is clicked a Tuning drawer opens up with the fault name as a title, navigate to the last tab which says `Probes`. A default health check command probe should already be present. You can either add or replace the existing probe with a new one by clicking on the `+ Deploy new Probe` button.
40+
Once you select a fault, a **Tuning drawer** opens up. Navigate to the last tab `Probes`. A default health check command probe will already be present. You can either add or replace the existing probe with a new one by selecting `+ Deploy new Probe` button.
4141

4242
![Step 2](./static/configure-and-add-probe/step2.png)
4343

4444
## Step 3: Add a probe
4545

46-
Once the `Add Probe` modal opens up, provide a name for your probe, the type of the probe from a selection of HTTP, Command, Kuberentes and Prometheus Probe followed by the mode in which the probe will run.
46+
Once the `Add Probe` screen opens up, provide a name, the type of the probe (HTTP or Command or Kubernetes or Prometheus) and the mode in which you want to run the probe.
4747

4848
![Step 3.1](./static/configure-and-add-probe/step3.1.png)
4949

50-
Provide the necessary probe attributes, since we chose HTTP Probe, we can see attributes related to HTTP, like URL, Method, Criteria, etc along with the common probe properties.
51-
50+
Now, the screen shows common probe properties, such as `Probe timeout`, `Retry`, `Interval`, and so on. Enter relevant values, and select `Continue`.
5251
![Step 3.2](./static/configure-and-add-probe/step3.2.png)
52+
53+
Provide the required probe attributes. In this case, you have chosen HTTP probe, which shows attributes associated with it, such as `URL`, `Method`, `Criteria`, and so on. Enter relevant values, and select `Setup the probe`.
5354
![Step 3.3](./static/configure-and-add-probe/step3.3.png)
5455

5556
## Step 4: Save the probe
5657

57-
Once done, click on `Setup the Probe >` and your newly configured probe should be saved and appended to the manifest already. To view the configurations just saved, hover over `View` of the respective section.
58+
Once you have added the parameters for the probe, select `Setup the Probe >`. The newly configured probe is saved and appended to the manifest. To view the configurations that you saved, hover over `View` of the respective probe.
5859

5960
![Step 4](./static/configure-and-add-probe/step4.png)
6061

6162
## Using YAML
6263

63-
The entire manifest is available as YAML also, which can be accessed by switching over to the YAML view in Chaos Studio.
64+
The entire manifest is available as a YAML file, which can be accessed by switching over to the YAML view in chaos studio. Below is a sample manifest for the pod delete fault.
6465

6566
```yaml
6667
kind: Workflow

docs/chaos-engineering/get-started/powered-by-litmus.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
sidebar_position: 3
33
title: Powered by LitmusChaos
44
---
5-
# Harness Chaos Engineering powered by LitmusChaos
5+
# Harness Chaos Engineering (HCE) powered by LitmusChaos
66

77
The chaos engineering module in the Harness platform is powered by the open source CNCF chaos engineering project [LitmusChaos](https://github.com/litmuschaos/litmus). Harness module adds additional features to make the practice of chaos engineering for enterprises easy.
88

99
![Harness Chaos Engineering Module](./static/overview/HCE-image.png)
1010

11-
## Common capabilities with LitmusChaos
11+
## Common capabilities of HCE and LitmusChaos
1212
Following are the common features between Litmus and Harness Chaos Engineering:
1313

1414
1. Scalable Platform

docs/chaos-engineering/technical-reference/probes/cmd-probe.md

+9-15
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ title: Command Probe
33
sidebar_position: 4
44
---
55

6-
The Command Probe allows developers to run Bash commands and match the resulting output as part of the entry/exit criteria. The intent behind this probe was to allow users to implement a non-standard & imperative way for expressing their hypothesis. For example, you can check for specific data within a database, parse the value out of a JSON blob being dumped into a certain path or check for the existence of a particular string in the service logs.
6+
Command probe allows you to run Bash commands and match the output as a part of the entry or exit criteria. The intent behind this probe is to implement a non-standard and imperative way to express the hypothesis. For example, you can check for specific data within a database, parse the value out of a JSON blob that is dumped into a certain path, or check for the existence of a particular string in the service logs.
77

8-
:::info YAML Only Feature
9-
By default, the probe can only be defined in inline mode from the UI where the command is run from within the experiment image. However, it can also be run in source mode where the command execution is carried out from within a new pod whose image can be specified. While inline is preferred for simple shell commands, source mode can be used when application-specific binaries are required. Refer to the probe schema [here](https://docs.litmuschaos.io/docs/concepts/probes#cmdprobe).
8+
:::info YAML only feature
9+
By default, this probe can be defined in inline mode from the user interface, where the command is run from within the experiment image. It can also be run in source mode, where the command execution is carried out from within a new pod whose image is specified. Inline mode is preferred for simple shell commands, and source mode is preferred when application-specific binaries are required. For more information, go to [probe schema](https://docs.litmuschaos.io/docs/concepts/probes#cmdprobe).
1010
:::
1111

12-
## Where to define
12+
## Defining the probe
1313

14-
The probes can be defined at **.spec.experiments[].spec.probe** path inside Chaos Engine.
14+
You can define the probe at **.spec.experiments[].spec.probe** path inside the chaos engine.
1515

1616
```yaml
1717
kind: Workflow
@@ -35,7 +35,7 @@ spec:
3535
3636
## Schema
3737
38-
Probe schema for CMD Probe with common properties shared across all probes and properties unique to CMD probe.
38+
Listed below is the probe schema for the command probe with properties shared across all the probes and properties unique to the command probe.
3939
4040
<table>
4141
<tr>
@@ -53,13 +53,13 @@ Probe schema for CMD Probe with common properties shared across all probes and p
5353
<tr>
5454
<td>name
5555
</td>
56-
<td>Flag to hold the name of the probe
56+
<td>Flag that holds the name of the probe
5757
</td>
5858
<td>Mandatory
5959
</td>
6060
<td>N/A <code>type: string</code>
6161
</td>
62-
<td>The <code>name</code> holds the name of the probe. It can be set based on the usecase
62+
<td>The <code>name</code> holds the name of the probe. Set based on the use case.
6363
</td>
6464
</tr>
6565
<tr>
@@ -126,8 +126,6 @@ Probe schema for CMD Probe with common properties shared across all probes and p
126126
127127
### Source
128128
129-
Source details for Command Probe.
130-
131129
<table>
132130
<tr>
133131
<td><strong>Field</strong>
@@ -169,8 +167,6 @@ Source details for Command Probe.
169167
170168
### Comparator
171169
172-
Comparator details for Command Probe.
173-
174170
<table>
175171
<tr>
176172
<td><strong>Field</strong>
@@ -222,9 +218,7 @@ Comparator details for Command Probe.
222218
</tr>
223219
</table>
224220

225-
### Run Properties
226-
227-
Probe run properties for CMD Probe.
221+
### Run properties
228222

229223
<table>
230224
<tr>

docs/chaos-engineering/technical-reference/probes/http-probe.md

+11-15
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@ title: HTTP Probe
33
sidebar_position: 3
44
---
55

6-
The HTTP Probe allows developers to specify a URL which the experiment uses to gauge health/service availability (or other custom conditions) as part of the entry/exit criteria. The received status code is mapped against an expected status. It supports HTTP [Get](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET) and [Post](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) methods.
6+
HTTP probe allows you to specify a URL that the experiment uses to determine the health or service availability (or other custom conditions) that is a part of the entry or exit criteria. The status code received is mapped against an expected status. It supports HTTP [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET) and [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) methods.
77

8-
In HTTP Get method it sends a http `GET` request to the provided url and matches the response code based on the given criteria(`==`, `!=`, `oneOf`).
8+
The HTTP GET method sends a GET request to the specified URL. The response code received is matched with the response code based on the given criteria (`==`, `!=`, `oneOf`).
99

10-
In HTTP Post method it sends a http `POST` request to the provided url.
10+
HTTP POST method sends a `POST` request to the provided URL.
1111

12-
:::info YAML Only Feature
13-
In the case of a complex POST request in which the body spans multiple lines, the `bodyPath` attribute can be used to provide the path to a file consisting of the same. This file can be made available to the experiment pod via a ConfigMap resource, with the ConfigMap name being defined in the [ChaosEngine](https://docs.litmuschaos.io/docs/concepts/chaos-engine) or the [ChaosExperiment](https://docs.litmuschaos.io/docs/concepts/chaos-experiment) CR. It can be defined at `.spec.experiments[].spec.probe` inside ChaosEngine. Also, `body` and `bodyPath` attributes are mutually exclusive. Refer to the probe schema [here](https://docs.litmuschaos.io/docs/concepts/probes#httpprobe).
12+
:::info YAML only feature
13+
In the case of a complex `POST` request in which the body spans multiple lines, the `bodyPath` attribute is used to specify the path to a file consisting of the same. This file is available to the experiment pod through a ConfigMap resource, wherein the ConfigMap name is defined in the [chaos engine](https://docs.litmuschaos.io/docs/concepts/chaos-engine) or the [chaos experiment](https://docs.litmuschaos.io/docs/concepts/chaos-experiment) CR. The `body` and `bodyPath` attributes are mutually exclusive. Go to [probe schema](https://docs.litmuschaos.io/docs/concepts/probes#httpprobe) to learn more.
1414
:::
1515

16-
## Where to define
16+
## Defining the probe
1717

18-
The probes can be defined at **.spec.experiments[].spec.probe** path inside Chaos Engine.
18+
You can define the probes at **.spec.experiments[].spec.probe** path inside the chaos engine.
1919

2020
```yaml
2121
kind: Workflow
@@ -39,7 +39,7 @@ spec:
3939
4040
## Schema
4141
42-
Probe schema for HTTP Probe with common properties shared across all probes and properties unique to HTTP probe.
42+
Listed below is the probe schema for HTTP Probe with common properties shared across all probes and properties unique to HTTP probe.
4343
4444
<table>
4545
<tr>
@@ -130,9 +130,7 @@ Probe schema for HTTP Probe with common properties shared across all probes and
130130
131131
### Method
132132
133-
Probe properties for method GET and POST.
134-
135-
#### GET
133+
#### GET method properties
136134
137135
<table>
138136
<tr>
@@ -173,7 +171,7 @@ Probe properties for method GET and POST.
173171
</tr>
174172
</table>
175173
176-
#### POST
174+
#### POST method properties
177175
178176
<table>
179177
<tr>
@@ -250,9 +248,7 @@ Probe properties for method GET and POST.
250248
</tr>
251249
</table>
252250
253-
### Run Properties
254-
255-
Probe run properties for HTTP Probe.
251+
### Run properties
256252
257253
<table>
258254
<tr>

docs/chaos-engineering/technical-reference/probes/k8s-probe.md

+4-6
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ With the proliferation of custom resources & operators, especially in the case o
1010
- **present:** It checks for the presence of kubernetes resource based on GVR and filters (field selectors/label selectors).
1111
- **absent:** It checks for the absence of kubernetes resource based on GVR and filters (field selectors/label selectors).
1212

13-
## Where to define
13+
## Defining the probe
1414

15-
The probes can be defined at **.spec.experiments[].spec.probe** path inside Chaos Engine.
15+
You can define the probes at **.spec.experiments[].spec.probe** path inside the chaos engine.
1616

1717
```yaml
1818
kind: Workflow
@@ -36,7 +36,7 @@ spec:
3636
3737
## Schema
3838
39-
Probe schema for K8s Probe with common properties shared across all probes and properties unique to K8s probe.
39+
Listed below is the probe schema for the Kubernetes probe, with properties shared across all the probes and properties unique to the Kubernetes probe.
4040
4141
<table>
4242
<tr>
@@ -137,9 +137,7 @@ Probe schema for K8s Probe with common properties shared across all probes and p
137137
</tr>
138138
</table>
139139
140-
### Run Properties
141-
142-
Probe run properties for K8s Probe.
140+
### Run properties
143141
144142
<table>
145143
<tr>

0 commit comments

Comments
 (0)