Commit f6a57e1f authored by duanjinfei's avatar duanjinfei

update docker pull image and get cpu info

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