Add mask and unmask to the disable and enable
parent
fe0a1774a6
commit
bec9f23e29
|
@ -120,6 +120,14 @@ func (r *Docker) Enable(disOthers, forceSystemd bool) error {
|
|||
return err
|
||||
}
|
||||
|
||||
if err := r.Init.Unmask("docker.service"); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := r.Init.Enable("docker.socket"); err != nil {
|
||||
klog.ErrorS(err, "Failed to enable", "service", "docker.socket")
|
||||
}
|
||||
|
||||
if forceSystemd {
|
||||
if err := r.forceSystemd(); err != nil {
|
||||
return err
|
||||
|
@ -146,7 +154,14 @@ func (r *Docker) Disable() error {
|
|||
if err := r.Init.ForceStop("docker.socket"); err != nil {
|
||||
klog.ErrorS(err, "Failed to stop", "service", "docker.socket")
|
||||
}
|
||||
return r.Init.ForceStop("docker")
|
||||
if err := r.Init.ForceStop("docker.service"); err != nil {
|
||||
klog.ErrorS(err, "Failed to stop", "service", "docker.service")
|
||||
return err
|
||||
}
|
||||
if err := r.Init.Disable("docker.socket"); err != nil {
|
||||
klog.ErrorS(err, "Failed to disable", "service", "docker.socket")
|
||||
}
|
||||
return r.Init.Mask("docker.service")
|
||||
}
|
||||
|
||||
// ImageExists checks if an image exists
|
||||
|
|
|
@ -122,6 +122,11 @@ func (s *OpenRC) DisableNow(svc string) error {
|
|||
return fmt.Errorf("disable now is not implemented for OpenRC! PRs to fix are welcomed")
|
||||
}
|
||||
|
||||
// Mask does nothing
|
||||
func (s *OpenRC) Mask(svc string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Enable does nothing
|
||||
func (s *OpenRC) Enable(svc string) error {
|
||||
return nil
|
||||
|
@ -132,6 +137,11 @@ func (s *OpenRC) EnableNow(svc string) error {
|
|||
return fmt.Errorf("enable now is not implemented for OpenRC! PRs to fix are welcomed")
|
||||
}
|
||||
|
||||
// Unmask does nothing
|
||||
func (s *OpenRC) Unmask(svc string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Restart restarts a service
|
||||
func (s *OpenRC) Restart(svc string) error {
|
||||
rr, err := s.r.RunCmd(exec.Command("sudo", "service", svc, "restart"))
|
||||
|
|
|
@ -44,12 +44,18 @@ type Manager interface {
|
|||
// Disable disables a service and stops it right after.
|
||||
DisableNow(string) error
|
||||
|
||||
// Mask prevents a service from being started
|
||||
Mask(string) error
|
||||
|
||||
// Enable enables a service
|
||||
Enable(string) error
|
||||
|
||||
// EnableNow enables a service and starts it right after.
|
||||
EnableNow(string) error
|
||||
|
||||
// Unmask allows a service to be started
|
||||
Unmask(string) error
|
||||
|
||||
// Start starts a service idempotently
|
||||
Start(string) error
|
||||
|
||||
|
|
|
@ -58,6 +58,12 @@ func (s *Systemd) DisableNow(svc string) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// Mask prevents a service from being started
|
||||
func (s *Systemd) Mask(svc string) error {
|
||||
_, err := s.r.RunCmd(exec.Command("sudo", "systemctl", "mask", svc))
|
||||
return err
|
||||
}
|
||||
|
||||
// Enable enables a service
|
||||
func (s *Systemd) Enable(svc string) error {
|
||||
if svc == "kubelet" {
|
||||
|
@ -76,6 +82,12 @@ func (s *Systemd) EnableNow(svc string) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// Unmask allows a service to be started
|
||||
func (s *Systemd) Unmask(svc string) error {
|
||||
_, err := s.r.RunCmd(exec.Command("sudo", "systemctl", "unmask", svc))
|
||||
return err
|
||||
}
|
||||
|
||||
// Start starts a service
|
||||
func (s *Systemd) Start(svc string) error {
|
||||
if err := s.daemonReload(); err != nil {
|
||||
|
|
Loading…
Reference in New Issue