func updateCommand(cmd Command) { log.Debugln("Updating ", cmd.Target) switch cmd.Target { case "all": cluster := cmd.Object.(string) updateAll(cluster) case "agent": cluster := cmd.Object.(string) updateAgent(cluster) case "services": cluster := cmd.Object.(string) updateServices(cluster) case "policy": cluster := cmd.Object.(string) updatePolicy(cluster) case "node-base-services": data := cmd.Object.([]interface{}) upd := []string{} for _, item := range data { upd = append(upd, item.(string)) } constraints := cfg.GetNodeConstraints() constraints.BaseServices = upd cfg.WriteNodeConstraints(cfg.GetNodeConfig().Remote, *constraints) case "node-cpumin": upd := cmd.Object.(float64) constraints := cfg.GetNodeConstraints() constraints.CpuMin = upd cfg.WriteNodeConstraints(cfg.GetNodeConfig().Remote, *constraints) case "node-cpumax": upd := cmd.Object.(float64) constraints := cfg.GetNodeConstraints() constraints.CpuMax = upd cfg.WriteNodeConstraints(cfg.GetNodeConfig().Remote, *constraints) case "service-constraints": name := cmd.Object.(string) srv, _ := service.GetServiceByName(name) upd := cfg.ReadService(srv.Remote) srv.Constraints = upd.Constraints default: log.WithField("target", cmd.Target).Errorln("Unrecognized target for command update") } }
func GetService(clusterName string, serviceName string) cfg.Service { remote := c_GRU_REMOTE + clusterName + "/" + c_SERVICES_REMOTE + serviceName return cfg.ReadService(remote) }