func (provisioner *UbuntuProvisioner) Service(name string, action pkgaction.ServiceAction) error { command := fmt.Sprintf("sudo service %s %s", name, action.String()) if _, err := provisioner.SSHCommand(command); err != nil { return err } return nil }
func (provisioner *RancherProvisioner) Service(name string, action pkgaction.ServiceAction) error { command := fmt.Sprintf("sudo system-docker %s %s", action.String(), name) if _, err := provisioner.SSHCommand(command); err != nil { return err } return nil }
func (provisioner *Boot2DockerProvisioner) Service(name string, action pkgaction.ServiceAction) error { var ( err error ) if _, err = provisioner.SSHCommand(fmt.Sprintf("sudo /etc/init.d/%s %s", name, action.String())); err != nil { return err } return nil }
func (provisioner *DebianProvisioner) Service(name string, action pkgaction.ServiceAction) error { // daemon-reload to catch config updates; systemd -- ugh if _, err := provisioner.SSHCommand("sudo systemctl daemon-reload"); err != nil { return err } command := fmt.Sprintf("sudo systemctl %s %s", action.String(), name) if _, err := provisioner.SSHCommand(command); err != nil { return err } return nil }
func (provisioner *RedHatProvisioner) Service(name string, action pkgaction.ServiceAction) error { reloadDaemon := false switch action { case pkgaction.Start, pkgaction.Restart: reloadDaemon = true } // systemd needs reloaded when config changes on disk; we cannot // be sure exactly when it changes from the provisioner so // we call a reload on every restart to be safe if reloadDaemon { if _, err := provisioner.SSHCommand("sudo systemctl daemon-reload"); err != nil { return err } } command := fmt.Sprintf("sudo systemctl %s %s", action.String(), name) if _, err := provisioner.SSHCommand(command); err != nil { return err } return nil }