@@ -157,12 +157,32 @@ var _ = Describe("kismatic", func() {
157
157
})
158
158
})
159
159
160
+ Context ("when deploying an HA cluster" , func () {
161
+ ItOnAWS ("should still be a highly available cluster after removing a master node [slow]" , func (aws infrastructureProvisioner ) {
162
+ WithInfrastructureAndDNS (NodeCount {1 , 2 , 1 , 0 , 0 }, Ubuntu1604LTS , aws , func (nodes provisionedNodes , sshKey string ) {
163
+ // install cluster
164
+ installOpts := installOptions {allowPackageInstallation : true }
165
+ err := installKismatic (nodes , installOpts , sshKey )
166
+ Expect (err ).ToNot (HaveOccurred ())
167
+
168
+ By ("Removing a Kubernetes master node" )
169
+ if err = aws .TerminateNode (nodes .master [0 ]); err != nil {
170
+ FailIfError (err , "could not remove node" )
171
+ }
172
+ By ("Re-running Kuberang" )
173
+ if err = runViaSSH ([]string {"sudo kuberang" }, []NodeDeets {nodes .master [1 ]}, sshKey , 5 * time .Minute ); err != nil {
174
+ FailIfError (err , "kuberang error" )
175
+ }
176
+ })
177
+ })
178
+ })
179
+
160
180
// This spec will be used for testing non-destructive kismatic features on
161
181
// a new cluster.
162
182
// This spec is open to modification when new assertions have to be made
163
183
Context ("when deploying a skunkworks cluster" , func () {
164
184
ItOnAWS ("should install successfully [slow]" , func (aws infrastructureProvisioner ) {
165
- WithInfrastructureAndDNS (NodeCount {3 , 2 , 3 , 2 , 2 }, Ubuntu1604LTS , aws , func (nodes provisionedNodes , sshKey string ) {
185
+ WithInfrastructure (NodeCount {3 , 2 , 3 , 2 , 2 }, Ubuntu1604LTS , aws , func (nodes provisionedNodes , sshKey string ) {
166
186
// reserve one of the workers for the add-worker test
167
187
allWorkers := nodes .worker
168
188
nodes .worker = allWorkers [0 : len (nodes .worker )- 1 ]
@@ -206,17 +226,8 @@ var _ = Describe("kismatic", func() {
206
226
return verifyHeapster (nodes .master [0 ], sshKey )
207
227
})
208
228
209
- // This test should always be last
210
- sub .It ("should still be a highly available cluster after removing a master node" , func () error {
211
- By ("Removing a Kubernetes master node" )
212
- if err = aws .TerminateNode (nodes .master [0 ]); err != nil {
213
- return fmt .Errorf ("could not remove node: %v" , err )
214
- }
215
- By ("Re-running Kuberang" )
216
- if err = runViaSSH ([]string {"sudo kuberang" }, []NodeDeets {nodes .master [1 ]}, sshKey , 5 * time .Minute ); err != nil {
217
- return err
218
- }
219
- return nil
229
+ sub .It ("should have tiller running" , func () error {
230
+ return verifyTiller (nodes .master [0 ], sshKey )
220
231
})
221
232
})
222
233
})
0 commit comments