func startAgent() { if !cfg.GetNode().Active { go runAgent() } else { log.Warnln("Node already active") } }
func updateNodeFolder(ttl int) error { opt := discovery.Options{ "TTL": time.Second * time.Duration(ttl), "Dir": true, "PrevExist": true, } remote := cfg.GetNodeConfig().Remote err := discovery.Set(remote, "", opt) cfg.WriteNodeConfig(remote, cfg.GetNode().Configuration) cfg.WriteNodeConstraints(remote, cfg.GetNode().Constraints) cfg.WriteNodeResources(remote, cfg.GetNode().Resources) cfg.WriteNodeActive(remote, cfg.GetNode().Active) if err != nil { log.WithField("err", err).Errorln("Error updating node folder") return err } return nil }
// /gru/v1/node func GetInfoNode(w http.ResponseWriter, r *http.Request) { info := cfg.GetNode() w.Header().Set("Content-Type", "application/json; charset=UTF-8") w.WriteHeader(http.StatusOK) if err := json.NewEncoder(w).Encode(info); err != nil { log.WithFields(log.Fields{ "status": "http response", "request": "GetInfoNode", "error": err, }).Errorln("API Server") } }
func createNodeFolder() error { var err error opt := discovery.Options{ "TTL": time.Second * time.Duration(c_TTL+1), "Dir": true, } config := cfg.GetNodeConfig() config.Cluster = myCluster.Name remote := c_GRU_REMOTE + myCluster.Name + "/" + c_NODES_REMOTE + config.Name config.Remote = remote err = discovery.Set(remote, "", opt) cfg.WriteNodeConfig(remote, cfg.GetNode().Configuration) cfg.WriteNodeConstraints(remote, cfg.GetNode().Constraints) cfg.WriteNodeResources(remote, cfg.GetNode().Resources) cfg.WriteNodeActive(remote, cfg.GetNode().Active) if err != nil { log.WithField("err", err).Errorln("Error creating node folder") return err } return nil }