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: test/e2e/README.md
+87Lines changed: 87 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,3 +83,90 @@ When this environment variable is set to *true* a 15s pause is inserted at the b
83
83
- Launch the e2e test: *PAUSE_FOR_DEBUGGER_ATTACH=true JOB=MyTest make run-e2e*
84
84
- Wait for console message: *Pausing 15s so you have a chance to attach a debugger to this process...*
85
85
- Quickly attach your debugger to the e2e process (i.e., e2e.test)
86
+
87
+
## CI/CD for e2e testing
88
+
89
+
The community has set up a CI/CD pipeline using Jenkins for e2e testing.
90
+
91
+
### How it works
92
+
93
+
The CI/CD pipeline works as below
94
+
95
+
- User triggers e2e testing by a Github PR comment, only repository OWNERS and a list of engineers are allowed;
96
+
- A program monitors the PR comments of the Github repository, parses the comments and kick Jenkins jobs;
97
+
- Jenkins creates a Apache CloudStack with specific version and hypervisor type, if needed;
98
+
- Jenkins runs CAPC e2e testing with specific Kubernetes versions and images;
99
+
- Jenkins posts the results of e2e testing as a Github PR comment, with the link of test logs.
100
+
101
+
### How to use it
102
+
103
+
Similar as other prow commands(see [here](https://prow.k8s.io/command-help?repo=kubernetes-sigs%2Fcluster-api-provider-cloudstack)), the e2e testing can be triggered by PR comment `/run-e2e`:
Environment: kvm Rocky8(x3), Advanced Networking with Management Server Rocky8
130
+
Kubernetes Version: v1.27.2
131
+
Kubernetes Version upgrade from: v1.26.5
132
+
Kubernetes Version upgrade to: v1.27.2
133
+
CloudStack Version: 4.18
134
+
Template: ubuntu-2004-kube
135
+
E2E Test Run Logs: https://github.com/blueorangutan/capc-prs/releases/download/capc-pr-ci-cd/capc-e2e-artifacts-pr277-sl-126.zip
136
+
137
+
[PASS] When testing Kubernetes version upgrades Should successfully upgrade kubernetes versions when there is a change in relevant fields
138
+
[PASS] When testing subdomain Should create a cluster in a subdomain
139
+
[PASS] When testing K8S conformance [Conformance] Should create a workload cluster and run kubetest
140
+
[PASS] When testing app deployment to the workload cluster with slow network [ToxiProxy] Should be able to download an HTML from the app deployed to the workload cluster
141
+
[PASS] When testing multiple CPs in a shared network with kubevip Should successfully create a cluster with multiple CPs in a shared network
142
+
[PASS] When testing resource cleanup Should create a new network when the specified network does not exist
143
+
[PASS] When testing app deployment to the workload cluster with network interruption [ToxiProxy] Should be able to create a cluster despite a network interruption during that process
144
+
[PASS] When testing node drain timeout A node should be forcefully removed if it cannot be drained in time
145
+
[PASS] When testing machine remediation Should replace a machine when it is destroyed
146
+
[PASS] When testing with custom disk offering Should successfully create a cluster with a custom disk offering
147
+
[PASS] When testing horizontal scale out/in [TC17][TC18][TC20][TC21] Should successfully scale machine replicas up and down horizontally
148
+
[PASS] When testing MachineDeployment rolling upgrades Should successfully upgrade Machines upon changes in relevant MachineDeployment fields
149
+
[PASS] with two clusters should successfully add and remove a second cluster without breaking the first cluster
150
+
[PASS] When testing with disk offering Should successfully create a cluster with disk offering
151
+
[PASS] When testing affinity group Should have host affinity group when affinity is pro
152
+
[PASS] When testing affinity group Should have host affinity group when affinity is anti
153
+
[PASS] When the specified resource does not exist Should fail due to the specified account is not found [TC4a]
154
+
[PASS] When the specified resource does not exist Should fail due to the specified domain is not found [TC4b]
155
+
[PASS] When the specified resource does not exist Should fail due to the specified control plane offering is not found [TC7]
156
+
[PASS] When the specified resource does not exist Should fail due to the specified template is not found [TC6]
157
+
[PASS] When the specified resource does not exist Should fail due to the specified zone is not found [TC3]
158
+
[PASS] When the specified resource does not exist Should fail due to the specified disk offering is not found
159
+
[PASS] When the specified resource does not exist Should fail due to the compute resources are not sufficient for the specified offering [TC8]
160
+
[PASS] When the specified resource does not exist Should fail due to the specified disk offer is not customized but the disk size is specified
161
+
[PASS] When the specified resource does not exist Should fail due to the specified disk offer is customized but the disk size is not specified
162
+
[PASS] When the specified resource does not exist Should fail due to the public IP can not be found
163
+
[PASS] When the specified resource does not exist When starting with a healthy cluster Should fail to upgrade worker machine due to insufficient compute resources
164
+
[PASS] When the specified resource does not exist When starting with a healthy cluster Should fail to upgrade control plane machine due to insufficient compute resources
165
+
[PASS] When testing app deployment to the workload cluster [TC1][PR-Blocking] Should be able to download an HTML from the app deployed to the workload cluster
0 commit comments