Skip to content

Commit 930b47d

Browse files
Update and fix typos in ci doc (#740)
Signed-off-by: michal.gubricky <[email protected]>
1 parent ec31a0e commit 930b47d

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

doc/continuous-integration.md

+9-4
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ their jobs used by the k8s-cluster-api-provider project. Then, jobs link Ansible
2727
tasks for actual CI testing.
2828

2929
See relevant CI configuration files:
30+
3031
```text
3132
├── .zuul.yaml
3233
├── playbooks
@@ -78,7 +79,7 @@ This section describes Zuul jobs defined within the k8s-cluster-api-provider pro
7879
- It runs a sonobuoy conformance test against Kubernetes cluster spawned by k8s-cluster-api-provider scripts
7980
- This job is a child job of `openstack-access-base` that ensures OpenStack credentials
8081
availability in Zuul worker node. Parent job also defines a Zuul semaphore `semaphore-openstack-access`,
81-
that ensures that only one `openstack-access-base` job (or its children) can run at a time
82+
that ensures that a maximum of three `openstack-access-base` jobs (or their children) can run at a time
8283
- See a high level `k8s-cluster-api-provider-e2e-conformance` job steps:
8384
- Pre-run playbook `dependencies.yaml` installs project prerequisites, e.g. opentofu, yq, etc.
8485
- Main playbook `e2e.yaml` spawns a k8s cluster, runs sonobuoy conformance test, and cleans created infrastructure, all by k8s-cluster-api-provider scripts
@@ -88,15 +89,15 @@ This section describes Zuul jobs defined within the k8s-cluster-api-provider pro
8889
- It runs a sonobuoy quick test against Kubernetes cluster spawned by k8s-cluster-api-provider scripts
8990
- This job is a child job of `openstack-access-base` that ensures OpenStack credentials
9091
availability in Zuul worker node. Parent job also defines a Zuul semaphore `semaphore-openstack-access`,
91-
that ensures that only one `openstack-access-base` job (or its children) can run at a time
92+
that ensures that a maximum of three `openstack-access-base` jobs (or their children) can run at a time
9293
- See a high level `k8s-cluster-api-provider-e2e-quick` job steps:
9394
- Pre-run playbook `dependencies.yaml` installs project prerequisites, e.g. opentofu, yq, etc.
9495
- Main playbook `e2e.yaml` spawns a k8s cluster, runs sonobuoy quick test, and cleans created infrastructure, all by k8s-cluster-api-provider scripts
9596
- Cleanup-run playbook `cleanup.yaml` runs `ospurge`, cleanup created application credentials and keypair to ensure that multiple e2e runs do not interfere
9697

9798
### Secrets
9899

99-
The parent job `openstack-access-base`, from which e2e jobs inherit, defines secret variable `openstack-application-credential`.
100+
The parent job `openstack-access-base`, from which e2e jobs inherit, defines secret variable `openstack-application-credential`.
100101
This secret is stored directly in the [SCS/zuul-config repository](https://github.com/SovereignCloudStack/zuul-config/blob/main/zuul.d/secrets.yaml) in an encrypted form.
101102
It contains OpenStack application credentials to access the OpenStack project dedicated for CI testing.
102103

@@ -106,11 +107,13 @@ So only SCS Zuul instance is able to decrypt it (read the [docs](https://zuul-ci
106107
If you want to re-generate the mentioned secret or add another one using SCS/zuul-config repository RSA key, follow the below instructions:
107108

108109
- Install zuul-client
110+
109111
```bash
110112
pip install zuul-client
111113
```
112114

113115
- Encrypt "super-secret" string by the SCS/zuul-config repository public key from SCS Zuul
116+
114117
```bash
115118
echo -n "super-secret" | \
116119
zuul-client --zuul-url https://zuul.scs.community encrypt \
@@ -125,6 +128,7 @@ the `environment.tfvars` file in the repository. For example, you may want to ch
125128
system image without altering the default image used by the project.
126129

127130
To do so, you can in the body of the PR add the following text:
131+
128132
```text
129133
```ZUUL_CONFIG
130134
image = "Ubuntu 20.04"
@@ -138,6 +142,7 @@ To do so, you can in the body of the PR add the following text:
138142
A developer initiates a PR as usual. If a reviewer deems that the PR requires e2e testing,
139143
they can apply a specific label to the PR.
140144
Currently, the following labels could be applied:
145+
141146
- `e2e-test` (for comprehensive e2e testing, including k8s cluster creation, execution of sonobuoy conformance tests, and cluster deletion)
142147
- `e2e-quick-test` (for expedited e2e testing, involving k8s cluster creation, quick sonobuoy tests, and cluster deletion)
143148

@@ -157,7 +162,7 @@ Members of the SCS GitHub organization are automatically granted 'write' access
157162
Consequently, the PR label mechanism ensures that only SCS organization members can trigger e2e pipelines.
158163

159164
#### How do we ensure that any PR update invalidates a previous successful e2e test?
160-
165+
161166
In fact, two mechanisms ensure the invalidation of a previously successful test when a PR is updated.
162167

163168
Firstly, the pipelines `unlabel-on-update-<e2e-test-name>` remove the `successful-<e2e-test-name>` label

0 commit comments

Comments
 (0)