-
Notifications
You must be signed in to change notification settings - Fork 19
Update Chaos jenkinsfiles #1010
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/04_PerfCI_Chaos_Upgrade_OpenShift_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
5e2775b
to
983c495
Compare
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
983c495
to
ab38bb7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have you tested this code and can confirm that it works with the quoting as is? A lot of it looks like it's wrong, but that may be groovy vs. bash.
80b2bdd
to
ca5657c
Compare
159f2e7
to
846d2a5
Compare
jenkins/PerfCI_Chaos/04_PerfCI_Chaos_Upgrade_OpenShift_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/04_PerfCI_Chaos_Upgrade_OpenShift_Deployment/Jenkinsfile
Show resolved
Hide resolved
438d60d
to
dd46680
Compare
jenkins/PerfCI_Chaos/04_PerfCI_Chaos_Upgrade_OpenShift_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
dd46680
to
1f2bdad
Compare
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/04_PerfCI_Chaos_Upgrade_OpenShift_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
cf9280d
to
4ad0c56
Compare
jenkins/PerfCI_Chaos/05_PerfCI_Chaos_Verify_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/04_PerfCI_Chaos_Upgrade_OpenShift_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
jenkins/PerfCI_Chaos/05_PerfCI_Chaos_Verify_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
8c86743
to
ac96927
Compare
ac96927
to
e960460
Compare
e960460
to
861233a
Compare
b68ee76
to
f2c8143
Compare
jenkins/PerfCI_Chaos/03_PerfCI_Choas_VMs_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
b6f9420
to
617e478
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"choas" => "chaos"
617e478
to
3a96ad9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few more "choas" typos.
jenkins/PerfCI_Chaos/02_PerfCI_Chaos_Operators_Deployment/Jenkinsfile
Outdated
Show resolved
Hide resolved
e4e0547
to
f00cb1e
Compare
f00cb1e
to
af45c6b
Compare
Hi @RobertKrawitz, |
## 🔧 Optional Environment Variables | ||
|
||
| Variable | Description | | ||
|-----------------------------|-------------| | ||
| `CONTACT_EMAIL1` | Jenkins job notification email (on job pass or fail). | | ||
| `ELASTICSEARCH` | Elasticsearch URL. | | ||
| `ELASTICSEARCH_PORT` | Elasticsearch port. | | ||
|
||
## 🚨 Mandatory Environment Variables | ||
|
||
| Variable | Description | | ||
|------------------------------------|-------------------------------------------------------------------------------------------------| | ||
| `WORKLOAD` | bootstorm_vm for running fedora37 vms | | ||
| `QUAY_BENCHMARK_RUNNER_REPOSITORY` | Benchmark-runner image from Quay.io (e.g., `quay.io/benchmark-runner/benchmark-runner:latest`). | | ||
| `KUBEADMIN_PASSWORD` | Path to kubeadmin-password on bastion (e.g., `/home/jenkins/.kube/kubeadmin-password`). | | ||
| `KUBECONFIG_PATH` | Path to kubeconfig on bastion (e.g., `/root/.kube/config`). | | ||
| `WORKSPACE` | Jenkins workspace path on bastion (e.g., `/home/jenkins`). | | ||
| `DELETE_ALL` | Set to `'False'` to avoid deleting running VMs. | | ||
| `RUN_STRATEGY` | Set to `'True'` to use `Always` runStrategy for NHC/SNR operators. | | ||
| `RUN_TYPE` | Run type, typically `'chaos_ci'` for logs stamp. | | ||
| `SCALE_NODES` | List of workload nodes to scale on (e.g., `["node-0", "node-1", "node-2"]`). | | ||
| `BOOTSTORM_SCALE/SACLE` | Number of VMs to scale during bootstorm (e.g., `120`). | | ||
| `THREADS_LIMIT` | Maximum number of parallel threads, check bastion number of Physical CPUs (e.g., `20`). | | ||
| `TIMEOUT` | Timeout in seconds for operations (e.g., `7200`). | | ||
| `WORKSPACE_PATH` | Full Jenkins job workspace (e.g., `${env.WORKSPACE}/workspace/${env.JOB_NAME}/`). | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Put mandatory variables first. Also, within each group sort the variable names.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
## 🔧 Optional Environment Variables | ||
| Variable | Description | | ||
| ------------------------------- | -------------------------------------------------------------------------------------- | | ||
| `CONTACT_EMAIL1` | Jenkins job notification email (sent on job success or failure). | | ||
| `ELASTICSEARCH` | Elasticsearch server URL. | | ||
| `ELASTICSEARCH_PORT` | Port number used by the Elasticsearch server. | | ||
| `GOOGLE_DRIVE_PATH` | Base URL of the Google Drive folder (e.g., `https://drive.google.com/drive/folders/`). | | ||
| `GOOGLE_DRIVE_CREDENTIALS_FILE` | Content of the Google Drive service account credentials JSON file. | | ||
| `GOOGLE_DRIVE_TOKEN_FILE` | Content of the Google Drive OAuth token JSON file. | | ||
| `GOOGLE_CREDENTIALS_FILE` | File name of the credentials JSON (e.g., `credentials.json`). | | ||
| `GOOGLE_TOKEN_FILE` | File name of the token JSON (e.g., `token.json`). | | ||
| `GOOGLE_DESTINATION_PATH` | Local path where logs or files are temporarily stored (e.g., `/tmp`). | | ||
| `GOOGLE_DRIVE_SHARED_DRIVE_ID` | ID of the root Google Drive folder (Shared Drive) where all logs are saved. | | ||
|
||
## 🚨 Mandatory Environment Variables | ||
| Variable | Description | | ||
|-------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| `WORKLOAD` | Workload type; use `bootstorm_vm` to run Fedora 37 VMs. | | ||
| `UPGRADE_OCP_VERSION` | Target OpenShift version for upgrade. (e.g. full version 4.18.13) | | ||
| `CNV_VERSION` | Target version for the CNV Operator upgrade. (e.g. major version 4.18) | | ||
| `LSO_VERSION` | Target version for the LSO Operator upgrade. (e.g. major version 4.18) | | ||
| `ODF_VERSION` | Target version for the ODF Operator upgrade. (e.g. major version 4.18) | | ||
| `UPGRADE_CHANNEL` | Upgrade channel: `stable` (default) or `candidate`. | | ||
| `EXPECTED_NODES` | JSON defining expected master and worker node names after upgrade, e.g., `{ "master": ["node-0", "node-1", "node-2"], "worker": ["node-0", "node-1", "node-2"] }`. | | ||
| `QUAY_BENCHMARK_RUNNER_REPOSITORY` | Benchmark-runner image from Quay.io (e.g., `quay.io/benchmark-runner/benchmark-runner:latest`). | | ||
| `KUBEADMIN_PASSWORD` | Path to `kubeadmin-password` on the bastion host (e.g., `/home/jenkins/.kube/kubeadmin-password`). | | ||
| `KUBECONFIG_PATH` / `PROVISION_KUBECONFIG_PATH` | Path to `kubeconfig` on the bastion host (e.g., `/root/.kube/config`). | | ||
| `WORKSPACE` | Jenkins workspace path on the bastion host (e.g., `/home/jenkins`). | | ||
| `DELETE_ALL` | Set to `'False'` to retain running VMs. | | ||
| `RUN_STRATEGY` | Set to `'True'` to apply `Always` runStrategy for NHC/SNR operators. | | ||
| `RUN_TYPE` | Run type identifier, typically `'chaos_ci'` for log stamping. | | ||
| `SCALE_NODES` | List of workload nodes to scale on (e.g., `["node-0", "node-1", "node-2"]`). | | ||
| `BOOTSTORM_SCALE/SACLE` | Number of VMs to scale during bootstorm (e.g., `120`). | | ||
| `THREADS_LIMIT` | Maximum number of parallel threads; based on the number of physical CPUs on bastion, to verify vm status in parallel (e.g., `20`). | | ||
| `TIMEOUT` | Timeout for operations in seconds (e.g., `7200`). | | ||
| `WORKSPACE_PATH` | Full Jenkins job workspace path (e.g., `${env.WORKSPACE}/workspace/${env.JOB_NAME}/`). | | ||
| `SAVE_ARTIFACTS_LOCAL` | `'True'` or `'False'` to save logs locally (default is `'False'`). | | ||
| `VERIFICATION_ONLY` | `'True'` or `'False'`; when `'True'`, only verification is performed (default is `'True'`). | | ||
| `KRKNHUB_MASTER_1_CPU_HOG_ENVIRONMENT_VARIABLES` | Environment variables for master CPU hog using krkn-hub:<br>[https://krkn-chaos.dev/docs/scenarios/hog-scenarios/cpu-hog-scenario/cpu-hog-scenario-krkn-hub/](https://krkn-chaos.dev/docs/scenarios/hog-scenarios/cpu-hog-scenario/cpu-hog-scenario-krkn-hub/) | | ||
| `KRKNHUB_MASTER_0_NODE_FAILURE_ENVIRONMENT_VARIABLES` | Environment variables for master node failure using krkn-hub:<br>[https://krkn-chaos.dev/docs/scenarios/node-scenarios/](https://krkn-chaos.dev/docs/scenarios/node-scenarios/) | | ||
| `KRKNHUB_WORKER_1_CPU_HOG_ENVIRONMENT_VARIABLES` | Environment variables for worker CPU hog using krkn-hub:<br>[https://krkn-chaos.dev/docs/scenarios/hog-scenarios/cpu-hog-scenario/cpu-hog-scenario-krkn-hub/](https://krkn-chaos.dev/docs/scenarios/hog-scenarios/cpu-hog-scenario/cpu-hog-scenario-krkn-hub/) | | ||
| `KRKNHUB_WORKER_0_NODE_FAILURE_ENVIRONMENT_VARIABLES` | Environment variables for worker node failure using krkn-hub:<br>[https://krkn-chaos.dev/docs/scenarios/node-scenarios/](https://krkn-chaos.dev/docs/scenarios/node-scenarios/) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Put mandatory variables first. Also, why is the email address CONTACT_EMAIL1
rather than CONTACT_EMAIL
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done,
CONTACT_EMAIL1 because we can have more than one CONTACT_EMAIL
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What other contact emails would there be?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently I have added only my email, we can add more emails in the future
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would additional emails be used for different purposes? If it's just to allow for multiple addresses, allow CONTACT_EMAIL to be a comma or space separated list of email addresses.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have updated in all the places CONTACT_EMAIL1 => CONTACT_EMAIL
8a6bbbc
to
3273532
Compare
3273532
to
ddda202
Compare
Type of change
Note: Fill x in []
Description
Update Choas Jenkinsfiles using Fedora VMs instead of Windows.
Removing extra code.
For security reasons, all pull requests need to be approved first before running any automated CI