mirror of
https://github.com/psviderski/uncloud.git
synced 2026-08-26 19:13:34 +00:00
chore: use a new uncancelled context for stopping corrosion service
This commit is contained in:
@@ -218,6 +218,9 @@ func (cc *clusterController) Run(ctx context.Context) error {
|
|||||||
err = errGroup.Wait()
|
err = errGroup.Wait()
|
||||||
|
|
||||||
// It's safe to stop the Corrosion service after the controllers depending on it and API server are stopped.
|
// It's safe to stop the Corrosion service after the controllers depending on it and API server are stopped.
|
||||||
|
// Use a new context with a timeout as the current context is already canceled.
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||||
|
defer cancel()
|
||||||
if corroErr := cc.corroService.Stop(ctx); corroErr != nil {
|
if corroErr := cc.corroService.Stop(ctx); corroErr != nil {
|
||||||
err = errors.Join(err, fmt.Errorf("stop corrosion service: %w", corroErr))
|
err = errors.Join(err, fmt.Errorf("stop corrosion service: %w", corroErr))
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ func (s *SystemdService) Start(ctx context.Context) error {
|
|||||||
return s.startOrRestart(ctx, "start")
|
return s.startOrRestart(ctx, "start")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SystemdService) Stop(ctx context.Context) error {
|
func (s *SystemdService) Stop(_ context.Context) error {
|
||||||
if _, err := exec.Command("systemctl", "stop", s.Unit).Output(); err != nil {
|
if _, err := exec.Command("systemctl", "stop", s.Unit).Output(); err != nil {
|
||||||
return fmt.Errorf("systemctl stop %s: %w", s.Unit, err)
|
return fmt.Errorf("systemctl stop %s: %w", s.Unit, err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user