package actuator import ( "context" "errors" "github.com/golang/protobuf/ptypes/empty" wrps "github.com/golang/protobuf/ptypes/wrappers" pb "goactuator/scalebox" "google.golang.org/grpc" "log" "os" ) var address =os.Getenv("grpc_server") //todo var logger,_= MakeLog("./") func GetRunnableSlotList() ([]*pb.Command,error) { //avoid grpc panic due to get null ip addr if address==""{ return nil,errors.New("got null server address") } //connecting conn, err := grpc.Dial(address, grpc.WithInsecure()) if err != nil { log.Printf("Connection error:%v", err) logger.Printf("Connection error:%v", err) return nil,err } defer conn.Close() c := pb.NewBoxServiceClient(conn) res,err:=c.GetRunnableSlotList(context.Background(),&empty.Empty{}) if err!=nil{ log.Printf("getRunnableSlotList grpc error:%v",err) logger.Printf("getRunnableSlotList grpc error:%v",err) } return res.Command,nil } func GetRunnableDaemonList() ([]*pb.Command,error) { //avoid grpc panic due to get null ip addr if address==""{ return nil,errors.New("got null server address") } //connecting conn, err := grpc.Dial(address, grpc.WithInsecure()) if err != nil { log.Printf("Connection error:%v", err) logger.Printf("Connection error:%v", err) return nil,err } defer conn.Close() c := pb.NewBoxServiceClient(conn) res,err:=c.GetRunnableWorkerList(context.Background(),&empty.Empty{}) if err!=nil{ log.Printf("getRunnableDaemonList grpc error:%v",err) logger.Printf("getRunnableDaemonList grpc error:%v",err) } return res.Command,nil } func GetTerminatedDaemonList() ([]*pb.Command,error) { //avoid grpc panic due to get null ip addr if address==""{ return nil,errors.New("got null server address") } //connecting conn, err := grpc.Dial(address, grpc.WithInsecure()) if err != nil { log.Printf("Connection error:%v", err) logger.Printf("Connection error:%v", err) return nil,err } defer conn.Close() c := pb.NewBoxServiceClient(conn) res,err:=c.GetTerminableWorkerList(context.Background(),&empty.Empty{}) if err!=nil{ log.Printf("getTerminatedDaemonList grpc error:%v",err) logger.Printf("getTerminatedDaemonList grpc error:%v",err) } return res.Command,nil } func SetSlotInitialized(cmdPkg *pb.Command)error { //avoid grpc panic due to get null ip addr if address==""{ return errors.New("got null server address") } //connecting conn, err := grpc.Dial(address, grpc.WithInsecure()) if err != nil { log.Printf("Connection error:%v", err) logger.Printf("Connection error:%v", err) return err } defer conn.Close() c := pb.NewBoxServiceClient(conn) retCode,err:=c.SetSlotInitialized(context.Background(),&wrps.Int32Value{Value: cmdPkg.Id}) if err!=nil{ log.Printf("setSlotInit grpc error:%v",err) logger.Printf("setSlotInit grpc error:%v",err) return err } logger.Printf("recode:%v",retCode) return nil } func SetRunnableDaemonInitialized(cmdPkg *pb.Command)error { //avoid grpc panic due to get null ip addr if address==""{ return errors.New("got null server address") } //connecting conn, err := grpc.Dial(address, grpc.WithInsecure()) if err != nil { log.Printf("Connection error:%v", err) logger.Printf("Connection error:%v", err) return err } defer conn.Close() c := pb.NewBoxServiceClient(conn) retCode,err:=c.SetWorkerInitialized(context.Background(),&wrps.Int32Value{Value: cmdPkg.Id}) if err!=nil{ log.Printf("setDaemonInit grpc error:%v",err) logger.Printf("setDaemonInit grpc error:%v",err) return err } logger.Printf("recode:%v",retCode) return nil } func SetRunnableDaemonTerminated(cmdPkg *pb.Command)error{ //avoid grpc panic due to get null ip addr if address==""{ return errors.New("got null address") } //connecting conn, err := grpc.Dial(address, grpc.WithInsecure()) if err != nil { log.Printf("Connection error:%v", err) logger.Printf("Connection error:%v", err) return err } defer conn.Close() c := pb.NewBoxServiceClient(conn) retCode,err:=c.SetWorkerTerminated(context.Background(),&wrps.Int32Value{Value: cmdPkg.Id}) if err!=nil{ log.Printf("setDaemonTerminated grpc error:%v",err) logger.Printf("setDaemonTerminated grpc error:%v",err) return err } logger.Printf("recode:%v",retCode) return nil }