func (t *gluonService) Setup(deps service.ServiceDependencies, flags *service.ServiceFlags) error { if err := flags.SetupDefaults(deps.Logger); err != nil { return maskAny(err) } if flags.Docker.DockerSubnet == "" { return errgo.New("docker-subnet is missing") } changedFlags, err := flags.Save() if err != nil { return maskAny(err) } changedService, err := createService(deps, flags) if err != nil { return maskAny(err) } if flags.Force || changedFlags || changedService { if err := os.Remove(gluonPath); err != nil { if !os.IsNotExist(err) { return maskAny(err) } } if err := deps.Systemd.Reload(); err != nil { return maskAny(err) } if err := deps.Systemd.Enable(serviceName); err != nil { return maskAny(err) } } return nil }