Commit f6a57e1f authored by duanjinfei's avatar duanjinfei

update docker pull image and get cpu info

parent 957defb9
...@@ -7,6 +7,7 @@ import ( ...@@ -7,6 +7,7 @@ import (
"fmt" "fmt"
"github.com/docker/docker/libnetwork/bitmap" "github.com/docker/docker/libnetwork/bitmap"
nodemanagerV1 "github.com/odysseus/odysseus-protocol/gen/proto/go/nodemanager/v1" nodemanagerV1 "github.com/odysseus/odysseus-protocol/gen/proto/go/nodemanager/v1"
"github.com/shirou/gopsutil/cpu"
) )
type WorkerMsgHandler func(params ...interface{}) *nodemanagerV1.WorkerMessage type WorkerMsgHandler func(params ...interface{}) *nodemanagerV1.WorkerMessage
...@@ -135,11 +136,15 @@ func NodeInfoResp(params ...interface{}) *nodemanagerV1.WorkerMessage { ...@@ -135,11 +136,15 @@ func NodeInfoResp(params ...interface{}) *nodemanagerV1.WorkerMessage {
func DeviceInfoResp(params ...interface{}) *nodemanagerV1.WorkerMessage { func DeviceInfoResp(params ...interface{}) *nodemanagerV1.WorkerMessage {
log.Info("Device info response received params:", params) log.Info("Device info response received params:", params)
devices := make([]*nodemanagerV1.DeviceInfo, 0) devices := make([]*nodemanagerV1.DeviceInfo, 0)
//cpuInfos, err := cpu.Info() cpuInfos, err := cpu.Info()
//if err != nil { if err != nil {
// log.Error("Error getting CPU info: ", err) log.Error("Error getting CPU info: ", err)
// return nil }
//} if cpuInfos != nil {
for _, info := range cpuInfos {
log.WithField("core", info.Cores).WithField("cpu", info.ModelName).Info("cpu info")
}
}
//for i, cpuInfo := range cpuInfos { //for i, cpuInfo := range cpuInfos {
// cpuInfo := &nodemanagerV1.DeviceInfo{ // cpuInfo := &nodemanagerV1.DeviceInfo{
// DeviceType: fmt.Sprintf("cpu-%d", i), // DeviceType: fmt.Sprintf("cpu-%d", i),
......
...@@ -15,7 +15,6 @@ import ( ...@@ -15,7 +15,6 @@ import (
nodemanagerv1 "github.com/odysseus/odysseus-protocol/gen/proto/go/nodemanager/v1" nodemanagerv1 "github.com/odysseus/odysseus-protocol/gen/proto/go/nodemanager/v1"
"io" "io"
"net/http" "net/http"
"os"
"strconv" "strconv"
"time" "time"
) )
...@@ -282,32 +281,19 @@ func (d *DockerOp) PsImageNameMap() (map[string]bool, error) { ...@@ -282,32 +281,19 @@ func (d *DockerOp) PsImageNameMap() (map[string]bool, error) {
} }
func (d *DockerOp) PullImage(info *models.ModelInfo) { func (d *DockerOp) PullImage(info *models.ModelInfo) {
out, err := d.dockerClient.ImagePull(context.Background(), info.ImageName, types.ImagePullOptions{}) response, err := d.dockerClient.ImagePull(context.Background(), info.ImageName, types.ImagePullOptions{})
if err != nil { if err != nil {
log.Errorf("Error pulling image from %s: %v", info.ImageName, err) log.Errorf("Error pulling image from %s: %v", info.ImageName, err)
return return
} }
defer response.Close()
defer func(out io.ReadCloser) {
err := out.Close()
if err != nil {
log.Error("io close failed:", err)
}
}(out)
// 读取拉取镜像的输出 // 读取拉取镜像的输出
_, err = io.Copy(os.Stdout, out) if _, err = io.ReadAll(response); err != nil {
if err != nil { log.Error(err)
log.Error("pull image info and read failed:", err)
return return
} }
//_, err = stdcopy.StdCopy(os.Stderr, os.Stdout, out)
//if err != nil {
// log.Error("pull image info and read failed:", err)
// return
//}
log.Info("Image pulled successfully.") log.Info("Image pulled successfully.")
} }
......
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