Commit ea44f988 authored by vicotor's avatar vicotor

fix bug

parent 4c40ad4e
......@@ -2,11 +2,7 @@ package main
import (
"context"
"crypto/ecdsa"
"crypto/rand"
"flag"
"github.com/ethereum/go-ethereum/crypto"
"github.com/odysseus/nodemanager/utils"
omanager "github.com/odysseus/odysseus-protocol/gen/proto/go/nodemanager/v1"
log "github.com/sirupsen/logrus"
"google.golang.org/grpc"
......@@ -56,7 +52,6 @@ func main() {
log.WithField("endpoint", endpoint).Fatal("register worker failed", "err", err)
return
}
sk, _ := ecdsa.GenerateKey(crypto.S256(), rand.Reader)
for {
data, err := managerClient.Recv()
......@@ -78,26 +73,6 @@ func main() {
log.WithField("endpoint", endpoint).Fatal("response heartbeat failed", "err", err)
return
}
case *omanager.ManagerMessage_DeviceRequest:
log.WithField("endpoint", endpoint).Info("got device request")
deviceInfo := &omanager.DeviceInfo{
DeviceType: "gpu",
DeviceModel: "nvidia",
DeviceParam: "12",
DevicePower: 1000,
}
msg := &omanager.WorkerMessage{
Message: &omanager.WorkerMessage_DeviceInfo{
DeviceInfo: &omanager.DeviceInfoResponse{
MinerPubkey: utils.PubkeyToHex(&sk.PublicKey),
Devices: []*omanager.DeviceInfo{deviceInfo},
},
},
}
if err := managerClient.Send(msg); err != nil {
log.WithField("endpoint", endpoint).Fatal("response device info failed", "err", err)
return
}
case *omanager.ManagerMessage_DeviceUsage:
log.WithField("endpoint", endpoint).Info("got device usage")
......
......@@ -298,7 +298,7 @@ func (wm *WorkerManager) manageWorker(worker *Worker) error {
return ErrHeartBeatExpired
}
if worker.registed && worker.addFirstSucceed == false && len(worker.deviceInfoHash) == 0 {
if worker.registed && worker.addFirstSucceed == false && len(worker.deviceInfoHash) > 0 {
wm.AddWorkerToQueue(worker)
}
......@@ -568,7 +568,9 @@ func (wm *WorkerManager) handleWorkerMsg(worker *Worker) {
}
infoHash = sha3.Sum256(infoData)
if worker.registed && worker.addFirstSucceed == false && len(worker.deviceInfoHash) == 0 {
worker.info.deviceInfo = msg.DeviceInfo
if worker.registed && worker.addFirstSucceed == false {
wm.AddWorkerToQueue(worker)
}
// check device info changed, and update to cache.
......@@ -576,7 +578,6 @@ func (wm *WorkerManager) handleWorkerMsg(worker *Worker) {
wm.UpdateWorkerDeviceInfo(worker, string(infoData))
}
worker.deviceInfoHash = infoHash[:]
worker.info.deviceInfo = msg.DeviceInfo
}
case *omanager.WorkerMessage_DeviceUsage:
......@@ -594,6 +595,9 @@ func (wm *WorkerManager) handleWorkerMsg(worker *Worker) {
if worker.registed {
continue
}
l.WithFields(log.Fields{
"worker-addr": worker.workerAddr,
}).Debug("receive registed message")
worker.registed = true
if pubkey, err := utils.HexToPubkey(msg.RegisteMessage.MinerPubkey); err != nil {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment