diff --git a/adaptor/pod_adaptor/server/pod/list.go b/adaptor/pod_adaptor/server/pod/pod.go similarity index 96% rename from adaptor/pod_adaptor/server/pod/list.go rename to adaptor/pod_adaptor/server/pod/pod.go index 3c9a2a0c..ac176714 100644 --- a/adaptor/pod_adaptor/server/pod/list.go +++ b/adaptor/pod_adaptor/server/pod/pod.go @@ -17,28 +17,36 @@ import ( func CreatePods(ctx context.Context, req *pbpod.CreatePodsReq) (*pbpod.CreatePodsResp, error) { var ( wg sync.WaitGroup - pods []*pbpod.PodInstance - requestIds = make([]string, len(req.CreatePodReq)) + requestIds = make([]string, 0) ) wg.Add(len(req.CreatePodReq)) + c := make(chan string) for k := range req.CreatePodReq { reqPod := req.CreatePodReq[k] go func() { defer wg.Done() resp, err := CreatePod(ctx, reqPod) - if err != nil { + if err != nil || resp == nil { fmt.Println(errors.Wrap(err, "Batch pod creation error")) + return } - requestIds[k] = resp.RequestId + c <- resp.RequestId }() } - wg.Wait() + go func() { + defer close(c) + wg.Wait() + }() isFinished := false - if len(pods) > 0 { + if len(requestIds) > 0 { isFinished = true } + for v := range c { + requestIds = append(requestIds, v) + } + return &pbpod.CreatePodsResp{ Finished: isFinished, RequestId: requestIds, diff --git a/adaptor/pod_adaptor/server/pod/list_test.go b/adaptor/pod_adaptor/server/pod/pod_test.go similarity index 100% rename from adaptor/pod_adaptor/server/pod/list_test.go rename to adaptor/pod_adaptor/server/pod/pod_test.go diff --git a/adaptor/pod_adaptor/service/poder/ali_eci.go b/adaptor/pod_adaptor/service/poder/ali_eci.go index 2223873d..a9e4867e 100644 --- a/adaptor/pod_adaptor/service/poder/ali_eci.go +++ b/adaptor/pod_adaptor/service/poder/ali_eci.go @@ -73,7 +73,7 @@ func (eci *AliEci) CreatePod(ctx context.Context, req *pbpod.CreatePodReq) (*pbp return &pbpod.CreatePodResp{ Pods: nil, Finished: isFinished, - RequestId: resp.RequestId, + RequestId: "ali pod ID:" + resp.ContainerGroupId, }, nil } diff --git a/adaptor/pod_adaptor/service/poder/huawei_cci.go b/adaptor/pod_adaptor/service/poder/huawei_cci.go index 7249e67f..b733e552 100644 --- a/adaptor/pod_adaptor/service/poder/huawei_cci.go +++ b/adaptor/pod_adaptor/service/poder/huawei_cci.go @@ -118,9 +118,9 @@ func (cci *HuaweiCci) CreatePod(ctx context.Context, req *pbpod.CreatePodReq) (* } return &pbpod.CreatePodResp{ - Pods: nil, - Finished: isFinished, - //RequestId: resp.RequestId, + Pods: nil, + Finished: isFinished, + RequestId: "huawei pod Name:" + resp.Name, }, nil } diff --git a/adaptor/pod_adaptor/service/poder/k8s.go b/adaptor/pod_adaptor/service/poder/k8s.go index bbc1b002..36f9a734 100644 --- a/adaptor/pod_adaptor/service/poder/k8s.go +++ b/adaptor/pod_adaptor/service/poder/k8s.go @@ -134,6 +134,7 @@ func (k *K8SPoder) CreatePod(ctx context.Context, req *pbpod.CreatePodReq) (*pbp } resp, err := k.cli.CoreV1().Pods(req.Namespace).Create(&pod) + glog.Info("K8S create pod resp", resp) if err != nil { return nil, errors.Wrap(err, "K8S CreatePod error") @@ -145,9 +146,9 @@ func (k *K8SPoder) CreatePod(ctx context.Context, req *pbpod.CreatePodReq) (*pbp } return &pbpod.CreatePodResp{ - Pods: nil, - Finished: isFinished, - //RequestId: resp.RequestId, + Pods: nil, + Finished: isFinished, + RequestId: "K8S pod Name:" + resp.Name, }, nil } @@ -162,7 +163,7 @@ func (k K8SPoder) DeletePod(ctx context.Context, req *pbpod.DeletePodReq) (*pbpo isFinished := true if err != nil { isFinished = false - return nil, errors.Wrap(err, "Huaweiyun DeletePod error") + return nil, errors.Wrap(err, "K8S DeletePod error") } return &pbpod.DeletePodResp{ diff --git a/adaptor/pod_adaptor/service/poder/tencent_eks.go b/adaptor/pod_adaptor/service/poder/tencent_eks.go index 0167c081..fc6e5a3c 100644 --- a/adaptor/pod_adaptor/service/poder/tencent_eks.go +++ b/adaptor/pod_adaptor/service/poder/tencent_eks.go @@ -149,12 +149,11 @@ func (eks *TencentEks) UpdatePod(ctx context.Context, req *pbpod.UpdatePodReq) ( glog.Errorf("Tencent UpdatePod error: %v", err) return nil, errors.Wrap(err, "Tencent UpdatePod error") } - requestId := resp.Response.RequestId return &pbpod.UpdatePodResp{ Pod: nil, Finished: isFinished, - RequestId: *requestId, + RequestId: "tencent pod ID:" + *resp.Response.EksCiId, }, nil }