@@ -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
5656Create 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