Skip to content
This repository was archived by the owner on Feb 8, 2021. It is now read-only.

Commit 7f0f1a9

Browse files
author
harry zhang
authored
Merge pull request #140 from YaoZengzeng/create-pod-grpc
grpc for pod create and fix bug in the commit before
2 parents 0078baa + ea55e97 commit 7f0f1a9

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

pkg/kubelet/hyper/hyper.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -812,18 +812,24 @@ func (r *runtime) RunPod(pod *api.Pod, restartCount int, pullSecrets []api.Secre
812812
}
813813

814814
// Create and start hyper pod
815-
podSpec, err := r.getPodSpec(podFullName)
815+
specData, err := r.getPodSpec(podFullName)
816816
if err != nil {
817817
glog.Errorf("Hyper: create pod %s failed, error: %v", podFullName, err)
818818
return err
819819
}
820-
result, err := r.hyperClient.CreatePod(podSpec)
820+
821+
var podSpec grpctypes.UserPod
822+
err = json.Unmarshal([]byte(specData), &podSpec)
823+
if err != nil {
824+
glog.Errorf("Hyper: marshal pod %s from specData error: %v", podFullName, err)
825+
}
826+
827+
podID, err = r.hyperClient.CreatePod(&podSpec)
821828
if err != nil {
822829
glog.Errorf("Hyper: create pod %s failed, error: %v", podData, err)
823830
return err
824831
}
825832

826-
podID = string(result["ID"].(string))
827833
err = r.hyperClient.StartPod(podID)
828834
if err != nil {
829835
glog.Errorf("Hyper: start pod %s (ID:%s) failed, error: %v", pod.Name, podID, err)

pkg/kubelet/hyper/hyperclient.go

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import (
3434

3535
"github.com/docker/docker/pkg/parsers"
3636
"github.com/docker/docker/pkg/term"
37-
"github.com/golang/glog"
3837
"golang.org/x/net/context"
3938
"google.golang.org/grpc"
4039
grpctypes "k8s.io/kubernetes/pkg/kubelet/hyper/types"
@@ -522,20 +521,16 @@ func (client *HyperClient) PullImage(image string, credential string) error {
522521
return nil
523522
}
524523

525-
func (client *HyperClient) CreatePod(podArgs string) (map[string]interface{}, error) {
526-
glog.V(5).Infof("Hyper: starting to create pod %s", podArgs)
527-
body, _, err := client.call("POST", "/pod/create", podArgs, nil)
528-
if err != nil {
529-
return nil, err
524+
func (client *HyperClient) CreatePod(podSpec *grpctypes.UserPod) (string, error) {
525+
request := grpctypes.PodCreateRequest{
526+
PodSpec: podSpec,
530527
}
531-
532-
var result map[string]interface{}
533-
err = json.Unmarshal(body, &result)
528+
response, err := client.client.PodCreate(context.Background(), &request)
534529
if err != nil {
535-
return nil, err
530+
return "", err
536531
}
537532

538-
return result, nil
533+
return response.PodID, nil
539534
}
540535

541536
func (c *HyperClient) GetExitCode(container, tag string) error {

0 commit comments

Comments
 (0)