@@ -131,7 +131,10 @@ func startDefaultServices(b backend.Backend, wg *sync.WaitGroup, outchan chan st
131131 b .Start ([]string {"store-metadata" }, wg , outchan , errchan )
132132 wg .Wait ()
133133
134- b .Start ([]string {"store-volume" , "store-gateway" }, wg , outchan , errchan )
134+ // we start gateway first to give metadata time to come up for volume
135+ b .Start ([]string {"store-gateway" }, wg , outchan , errchan )
136+ wg .Wait ()
137+ b .Start ([]string {"store-volume" }, wg , outchan , errchan )
135138 wg .Wait ()
136139
137140 // start logging subsystem first to collect logs from other components
@@ -221,9 +224,14 @@ func stopDefaultServices(b backend.Backend, wg *sync.WaitGroup, outchan chan str
221224 wg .Wait ()
222225
223226 outchan <- fmt .Sprintf ("Storage subsystem..." )
224- b .Stop ([]string {"store-gateway" , "store-volume" , "store-metadata" , "store-monitor" , "store-daemon" }, wg , outchan , errchan )
227+ b .Stop ([]string {"store-volume" , "store-gateway" }, wg , outchan , errchan )
228+ wg .Wait ()
229+ b .Stop ([]string {"store-metadata" }, wg , outchan , errchan )
230+ wg .Wait ()
231+ b .Stop ([]string {"store-daemon" }, wg , outchan , errchan )
232+ wg .Wait ()
233+ b .Stop ([]string {"store-monitor" }, wg , outchan , errchan )
225234 wg .Wait ()
226-
227235}
228236
229237func Restart (b backend.Backend , targets []string ) error {
@@ -379,7 +387,13 @@ func uninstallAllServices(b backend.Backend, wg *sync.WaitGroup, outchan chan st
379387 wg .Wait ()
380388
381389 outchan <- fmt .Sprintf ("Storage subsystem..." )
382- b .Destroy ([]string {"store-gateway" , "store-volume" , "store-metadata" , "store-monitor" , "store-daemon" }, wg , outchan , errchan )
390+ b .Destroy ([]string {"store-volume" , "store-gateway" }, wg , outchan , errchan )
391+ wg .Wait ()
392+ b .Destroy ([]string {"store-metadata" }, wg , outchan , errchan )
393+ wg .Wait ()
394+ b .Destroy ([]string {"store-daemon" }, wg , outchan , errchan )
395+ wg .Wait ()
396+ b .Destroy ([]string {"store-monitor" }, wg , outchan , errchan )
383397 wg .Wait ()
384398
385399 return nil
0 commit comments