func SetVip(vip core.Vip) error { // in case of failure oldVips, err := database.GetVips() if err != nil { return err } // apply to vipmgr err = vipmgr.SetVip(vip) if err != nil { return err } if !database.CentralStore { // save to backend err = database.SetVip(vip) if err != nil { // undo vipmgr action if uerr := vipmgr.SetVips(oldVips); uerr != nil { err = fmt.Errorf("%v - %v", err.Error(), uerr.Error()) } return err } } return nil }
func (n None) SetVip(vip core.Vip) error { err := common.SetVip(vip) if err != nil { return err } if database.CentralStore { return database.SetVip(vip) } return nil }