@@ -23,6 +23,7 @@ import (
2323const (
2424 // PlatformCommand is shorthand for "all the Deis components."
2525 PlatformCommand string = "platform"
26+ swarm string = "swarm"
2627)
2728
2829// ListUnits prints a list of installed units.
@@ -100,10 +101,14 @@ Usage:
100101 // if target is platform, install all services
101102 targets := args ["<target>" ].([]string )
102103
103- if len (targets ) == 1 && targets [0 ] == PlatformCommand {
104- return StartPlatform (b )
104+ if len (targets ) == 1 {
105+ if targets [0 ] == PlatformCommand {
106+ return StartPlatform (b )
107+ }
108+ if targets [0 ] == swarm {
109+ return StartSwarm (b )
110+ }
105111 }
106-
107112 outchan := make (chan string )
108113 errchan := make (chan error )
109114 var wg sync.WaitGroup
@@ -132,28 +137,6 @@ deisctl config platform set sshPrivateKey=<path-to-key>
132137 return nil
133138}
134139
135- // StartPlatform activates all components.
136- func StartPlatform (b backend.Backend ) error {
137-
138- outchan := make (chan string )
139- errchan := make (chan error )
140- var wg sync.WaitGroup
141-
142- go printState (outchan , errchan , 500 * time .Millisecond )
143-
144- outchan <- utils .DeisIfy ("Starting Deis..." )
145-
146- startDefaultServices (b , & wg , outchan , errchan )
147-
148- wg .Wait ()
149- close (outchan )
150-
151- fmt .Println ("Done." )
152- fmt .Println ()
153- fmt .Println ("Please use `deis register` to setup an administrator account." )
154- return nil
155- }
156-
157140func startDefaultServices (b backend.Backend , wg * sync.WaitGroup , outchan chan string , errchan chan error ) {
158141
159142 // create separate channels for background tasks
@@ -218,8 +201,13 @@ Usage:
218201 targets := args ["<target>" ].([]string )
219202
220203 // if target is platform, stop all services
221- if len (targets ) == 1 && targets [0 ] == PlatformCommand {
222- return StopPlatform (b )
204+ if len (targets ) == 1 {
205+ if targets [0 ] == PlatformCommand {
206+ return StopPlatform (b )
207+ }
208+ if targets [0 ] == swarm {
209+ return StopSwarm (b )
210+ }
223211 }
224212
225213 outchan := make (chan string )
@@ -235,28 +223,6 @@ Usage:
235223 return nil
236224}
237225
238- // StopPlatform deactivates all components.
239- func StopPlatform (b backend.Backend ) error {
240-
241- outchan := make (chan string )
242- errchan := make (chan error )
243- var wg sync.WaitGroup
244-
245- go printState (outchan , errchan , 500 * time .Millisecond )
246-
247- outchan <- utils .DeisIfy ("Stopping Deis..." )
248-
249- stopDefaultServices (b , & wg , outchan , errchan )
250-
251- wg .Wait ()
252- close (outchan )
253-
254- fmt .Println ("Done." )
255- fmt .Println ()
256- fmt .Println ("Please run `deisctl start platform` to restart Deis." )
257- return nil
258- }
259-
260226func stopDefaultServices (b backend.Backend , wg * sync.WaitGroup , outchan chan string , errchan chan error ) {
261227
262228 outchan <- fmt .Sprintf ("Routing mesh..." )
@@ -372,12 +338,16 @@ Usage:
372338 return err
373339 }
374340
375- // if target is platform, install all services
376341 targets := args ["<target>" ].([]string )
377- if len (targets ) == 1 && targets [0 ] == PlatformCommand {
378- return InstallPlatform (b )
342+ // if target is platform, install all services
343+ if len (targets ) == 1 {
344+ if targets [0 ] == PlatformCommand {
345+ return InstallPlatform (b )
346+ }
347+ if targets [0 ] == swarm {
348+ return InstallSwarm (b )
349+ }
379350 }
380-
381351 outchan := make (chan string )
382352 errchan := make (chan error )
383353 var wg sync.WaitGroup
@@ -392,33 +362,6 @@ Usage:
392362 return nil
393363}
394364
395- // InstallPlatform loads all components' definitions from local unit files.
396- // After InstallPlatform, all components will be available for StartPlatform.
397- func InstallPlatform (b backend.Backend ) error {
398-
399- if err := checkRequiredKeys (); err != nil {
400- return err
401- }
402-
403- outchan := make (chan string )
404- errchan := make (chan error )
405- var wg sync.WaitGroup
406-
407- go printState (outchan , errchan , 500 * time .Millisecond )
408-
409- outchan <- utils .DeisIfy ("Installing Deis..." )
410-
411- installDefaultServices (b , & wg , outchan , errchan )
412-
413- wg .Wait ()
414- close (outchan )
415-
416- fmt .Println ("Done." )
417- fmt .Println ()
418- fmt .Println ("Please run `deisctl start platform` to boot up Deis." )
419- return nil
420- }
421-
422365func installDefaultServices (b backend.Backend , wg * sync.WaitGroup , outchan chan string , errchan chan error ) {
423366
424367 outchan <- fmt .Sprintf ("Storage subsystem..." )
@@ -460,8 +403,13 @@ Usage:
460403
461404 // if target is platform, uninstall all services
462405 targets := args ["<target>" ].([]string )
463- if len (targets ) == 1 && targets [0 ] == PlatformCommand {
464- return UninstallPlatform (b )
406+ if len (targets ) == 1 {
407+ if targets [0 ] == PlatformCommand {
408+ return UninstallPlatform (b )
409+ }
410+ if targets [0 ] == swarm {
411+ return UnInstallSwarm (b )
412+ }
465413 }
466414
467415 outchan := make (chan string )
@@ -478,27 +426,6 @@ Usage:
478426 return nil
479427}
480428
481- // UninstallPlatform unloads all components' definitions.
482- // After UninstallPlatform, all components will be unavailable.
483- func UninstallPlatform (b backend.Backend ) error {
484-
485- outchan := make (chan string )
486- errchan := make (chan error )
487- var wg sync.WaitGroup
488-
489- go printState (outchan , errchan , 500 * time .Millisecond )
490-
491- outchan <- utils .DeisIfy ("Uninstalling Deis..." )
492-
493- uninstallAllServices (b , & wg , outchan , errchan )
494-
495- wg .Wait ()
496- close (outchan )
497-
498- fmt .Println ("Done." )
499- return nil
500- }
501-
502429func uninstallAllServices (b backend.Backend , wg * sync.WaitGroup , outchan chan string , errchan chan error ) error {
503430
504431 outchan <- fmt .Sprintf ("Routing mesh..." )
0 commit comments