Skip to content

Commit 10f4539

Browse files
committed
More tests
1 parent 17adfc9 commit 10f4539

File tree

1 file changed

+75
-41
lines changed

1 file changed

+75
-41
lines changed

docs/design/acceptance_test.md

Lines changed: 75 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -51,48 +51,82 @@ Run the following tests for the following images:
5151
- Community 3.3.10
5252
- Enterprise 3.3.10
5353

54-
### Test 1: Create single server deployment
54+
### Test 1a: Create single server deployment
5555

5656
Create an `ArangoDeployment` of mode `Single`.
5757

5858
- [ ] The deployment must start
59-
- [ ] The deployment
60-
61-
## Scenario's
62-
63-
The following test scenario's must be covered by automated tests:
64-
65-
- Creating 1 deployment (all modes, all environments, all storage engines)
66-
- Creating multiple deployments (all modes, all environments, all storage engines),
67-
controlling each individually
68-
- Creating deployment with/without authentication
69-
- Creating deployment with/without TLS
70-
71-
- Updating deployment wrt:
72-
- Number of servers (scaling, up/down)
73-
- Image version (upgrading, downgrading within same minor version range (e.g. 3.2.x))
74-
- Immutable fields (should be reset automatically)
75-
76-
- Resilience:
77-
- Delete individual pods
78-
- Delete individual PVCs
79-
- Delete individual Services
80-
- Delete Node
81-
- Restart Node
82-
- API server unavailable
83-
84-
- Persistent Volumes:
85-
- hint: RBAC file might need to be changed
86-
- hint: get info via - client-go.CoreV1()
87-
- Number of volumes should stay in reasonable bounds
88-
- For some cases it might be possible to check that, the amount before and after the test stays the same
89-
- A Cluster start should need 6 Volumes (DBServer + Agents)
90-
- The release of a volume-claim should result in a release of the volume
91-
92-
## Test environments
93-
94-
- Kubernetes clusters
95-
- Single node
96-
- Multi node
97-
- Access control mode (RBAC, ...)
98-
- Persistent volumes ...
59+
- [ ] The deployment must yield 1 `Pod`
60+
- [ ] The deployment must yield a `Service` named `<deployment-name>`
61+
- [ ] The deployment must yield a `Service` named `<deployment-name>-ea`
62+
- [ ] The `Service` named `<deployment-name>-ea` must be accessible from outside (LoadBalancer or NodePort) and show WebUI
63+
64+
### Test 1b: Create active failover deployment
65+
66+
Create an `ArangoDeployment` of mode `ActiveFailover`.
67+
68+
- [ ] The deployment must start
69+
- [ ] The deployment must yield 5 `Pods`
70+
- [ ] The deployment must yield a `Service` named `<deployment-name>`
71+
- [ ] The deployment must yield a `Service` named `<deployment-name>-ea`
72+
- [ ] The `Service` named `<deployment-name>-ea` must be accessible from outside (LoadBalancer or NodePort) and show WebUI
73+
74+
### Test 1c: Create cluster deployment
75+
76+
Create an `ArangoDeployment` of mode `Cluster`.
77+
78+
- [ ] The deployment must start
79+
- [ ] The deployment must yield 9 `Pods`
80+
- [ ] The deployment must yield a `Service` named `<deployment-name>`
81+
- [ ] The deployment must yield a `Service` named `<deployment-name>-ea`
82+
- [ ] The `Service` named `<deployment-name>-ea` must be accessible from outside (LoadBalancer or NodePort) and show WebUI
83+
84+
### Test 2a: Scale an active failover deployment
85+
86+
Create an `ArangoDeployment` of mode `ActiveFailover`.
87+
88+
- [ ] The deployment must start
89+
- [ ] The deployment must yield 5 `Pods`
90+
- [ ] The deployment must yield a `Service` named `<deployment-name>`
91+
- [ ] The deployment must yield a `Service` named `<deployment-name>-ea`
92+
- [ ] The `Service` named `<deployment-name>-ea` must be accessible from outside (LoadBalancer or NodePort) and show WebUI
93+
94+
Change the value of `spec.single.count` from 2 to 3.
95+
96+
- [ ] A single server is added
97+
- [ ] The deployment must yield 6 `Pods`
98+
99+
Change the value of `spec.single.count` from 3 to 2.
100+
101+
- [ ] A single server is removed
102+
- [ ] The deployment must yield 5 `Pods`
103+
104+
### Test 2b: Scale a cluster deployment
105+
106+
Create an `ArangoDeployment` of mode `Cluster`.
107+
108+
- [ ] The deployment must start
109+
- [ ] The deployment must yield 9 `Pods`
110+
- [ ] The deployment must yield a `Service` named `<deployment-name>`
111+
- [ ] The deployment must yield a `Service` named `<deployment-name>-ea`
112+
- [ ] The `Service` named `<deployment-name>-ea` must be accessible from outside (LoadBalancer or NodePort) and show WebUI
113+
114+
Change the value of `spec.dbservers.count` from 3 to 5.
115+
116+
- [ ] Two dbservers are added
117+
- [ ] The deployment must yield 11 `Pods`
118+
119+
Change the value of `spec.coordinators.count` from 3 to 4.
120+
121+
- [ ] A coordinator is added
122+
- [ ] The deployment must yield 12 `Pods`
123+
124+
Change the value of `spec.dbservers.count` from 5 to 2.
125+
126+
- [ ] Three dbservers are removed (one by one)
127+
- [ ] The deployment must yield 9 `Pods`
128+
129+
Change the value of `spec.coordinators.count` from 4 to 1.
130+
131+
- [ ] Three coordinators are removed (one by one)
132+
- [ ] The deployment must yield 6 `Pods`

0 commit comments

Comments
 (0)