From 7d34b0b09d088c15e29ac3ba7853077d952fdad1 Mon Sep 17 00:00:00 2001 From: Euan Kemp Date: Wed, 20 Apr 2016 23:32:28 -0700 Subject: [PATCH] kubelet: Remove redundant `Container.Created` This has been supplanted by a) the DockerJSON.CreatedAt field and b) the ContainerStatus.CreatedAt, where the first is used for creating the second. The `.Created` field was only written to as far as I can see. --- pkg/kubelet/container/helpers.go | 11 ++-- pkg/kubelet/container/runtime.go | 3 - pkg/kubelet/dockertools/convert.go | 9 ++- pkg/kubelet/dockertools/convert_test.go | 20 +++--- pkg/kubelet/rkt/rkt.go | 16 ++--- pkg/kubelet/rkt/rkt_test.go | 88 +++++++++++-------------- 6 files changed, 65 insertions(+), 82 deletions(-) diff --git a/pkg/kubelet/container/helpers.go b/pkg/kubelet/container/helpers.go index 781080b6669..dbd16497305 100644 --- a/pkg/kubelet/container/helpers.go +++ b/pkg/kubelet/container/helpers.go @@ -91,12 +91,11 @@ func ConvertPodStatusToRunningPod(podStatus *PodStatus) Pod { continue } container := &Container{ - ID: containerStatus.ID, - Name: containerStatus.Name, - Image: containerStatus.Image, - Hash: containerStatus.Hash, - Created: containerStatus.CreatedAt.Unix(), - State: containerStatus.State, + ID: containerStatus.ID, + Name: containerStatus.Name, + Image: containerStatus.Image, + Hash: containerStatus.Hash, + State: containerStatus.State, } runningPod.Containers = append(runningPod.Containers, container) } diff --git a/pkg/kubelet/container/runtime.go b/pkg/kubelet/container/runtime.go index 1508dc1679b..f9939c8a244 100644 --- a/pkg/kubelet/container/runtime.go +++ b/pkg/kubelet/container/runtime.go @@ -226,9 +226,6 @@ type Container struct { // Hash of the container, used for comparison. Optional for containers // not managed by kubelet. Hash uint64 - // The timestamp of the creation time of the container. - // TODO(yifan): Consider to move it to api.ContainerStatus. - Created int64 // State is the state of the container. State ContainerState } diff --git a/pkg/kubelet/dockertools/convert.go b/pkg/kubelet/dockertools/convert.go index 05e280cf1c0..7b00c1f3b1f 100644 --- a/pkg/kubelet/dockertools/convert.go +++ b/pkg/kubelet/dockertools/convert.go @@ -56,11 +56,10 @@ func toRuntimeContainer(c *dockertypes.Container) (*kubecontainer.Container, err } return &kubecontainer.Container{ - ID: kubecontainer.DockerID(c.ID).ContainerID(), - Name: dockerName.ContainerName, - Image: c.Image, - Hash: hash, - Created: c.Created, + ID: kubecontainer.DockerID(c.ID).ContainerID(), + Name: dockerName.ContainerName, + Image: c.Image, + Hash: hash, // (random-liu) docker uses status to indicate whether a container is running or exited. // However, in kubernetes we usually use state to indicate whether a container is running or exited, // while use status to indicate the comprehensive status of the container. So we have different naming diff --git a/pkg/kubelet/dockertools/convert_test.go b/pkg/kubelet/dockertools/convert_test.go index 174c9223400..9aae704154c 100644 --- a/pkg/kubelet/dockertools/convert_test.go +++ b/pkg/kubelet/dockertools/convert_test.go @@ -44,19 +44,17 @@ func TestMapState(t *testing.T) { func TestToRuntimeContainer(t *testing.T) { original := &dockertypes.Container{ - ID: "ab2cdf", - Image: "bar_image", - Created: 12345, - Names: []string{"/k8s_bar.5678_foo_ns_1234_42"}, - Status: "Up 5 hours", + ID: "ab2cdf", + Image: "bar_image", + Names: []string{"/k8s_bar.5678_foo_ns_1234_42"}, + Status: "Up 5 hours", } expected := &kubecontainer.Container{ - ID: kubecontainer.ContainerID{Type: "docker", ID: "ab2cdf"}, - Name: "bar", - Image: "bar_image", - Hash: 0x5678, - Created: 12345, - State: kubecontainer.ContainerStateRunning, + ID: kubecontainer.ContainerID{Type: "docker", ID: "ab2cdf"}, + Name: "bar", + Image: "bar_image", + Hash: 0x5678, + State: kubecontainer.ContainerStateRunning, } actual, err := toRuntimeContainer(original) diff --git a/pkg/kubelet/rkt/rkt.go b/pkg/kubelet/rkt/rkt.go index d9af816d047..0b0bff03839 100644 --- a/pkg/kubelet/rkt/rkt.go +++ b/pkg/kubelet/rkt/rkt.go @@ -807,11 +807,10 @@ func apiPodToruntimePod(uuid string, pod *api.Pod) *kubecontainer.Pod { for i := range pod.Spec.Containers { c := &pod.Spec.Containers[i] p.Containers = append(p.Containers, &kubecontainer.Container{ - ID: buildContainerID(&containerID{uuid, c.Name}), - Name: c.Name, - Image: c.Image, - Hash: kubecontainer.HashContainer(c), - Created: time.Now().Unix(), + ID: buildContainerID(&containerID{uuid, c.Name}), + Name: c.Name, + Image: c.Image, + Hash: kubecontainer.HashContainer(c), }) } return p @@ -1111,10 +1110,9 @@ func (r *Runtime) convertRktPod(rktpod *rktapi.Pod) (*kubecontainer.Pod, error) ID: buildContainerID(&containerID{rktpod.Id, app.Name}), Name: app.Name, // By default, the version returned by rkt API service will be "latest" if not specified. - Image: fmt.Sprintf("%s:%s", app.Image.Name, app.Image.Version), - Hash: containerHash, - State: appStateToContainerState(app.State), - Created: time.Unix(0, rktpod.CreatedAt).Unix(), // convert ns to s + Image: fmt.Sprintf("%s:%s", app.Image.Name, app.Image.Version), + Hash: containerHash, + State: appStateToContainerState(app.State), }) } diff --git a/pkg/kubelet/rkt/rkt_test.go b/pkg/kubelet/rkt/rkt_test.go index a721dcb7833..3c2a23673ff 100644 --- a/pkg/kubelet/rkt/rkt_test.go +++ b/pkg/kubelet/rkt/rkt_test.go @@ -379,20 +379,18 @@ func TestGetPods(t *testing.T) { Namespace: "default", Containers: []*kubecontainer.Container{ { - ID: kubecontainer.BuildContainerID("rkt", "uuid-4002:app-1"), - Name: "app-1", - Image: "img-name-1:latest", - Hash: 1001, - Created: 10, - State: "running", + ID: kubecontainer.BuildContainerID("rkt", "uuid-4002:app-1"), + Name: "app-1", + Image: "img-name-1:latest", + Hash: 1001, + State: "running", }, { - ID: kubecontainer.BuildContainerID("rkt", "uuid-4002:app-2"), - Name: "app-2", - Image: "img-name-2:latest", - Hash: 1002, - Created: 10, - State: "exited", + ID: kubecontainer.BuildContainerID("rkt", "uuid-4002:app-2"), + Name: "app-2", + Image: "img-name-2:latest", + Hash: 1002, + State: "exited", }, }, }, @@ -439,20 +437,18 @@ func TestGetPods(t *testing.T) { Namespace: "default", Containers: []*kubecontainer.Container{ { - ID: kubecontainer.BuildContainerID("rkt", "uuid-4002:app-1"), - Name: "app-1", - Image: "img-name-1:latest", - Hash: 1001, - Created: 10, - State: "running", + ID: kubecontainer.BuildContainerID("rkt", "uuid-4002:app-1"), + Name: "app-1", + Image: "img-name-1:latest", + Hash: 1001, + State: "running", }, { - ID: kubecontainer.BuildContainerID("rkt", "uuid-4002:app-2"), - Name: "app-2", - Image: "img-name-2:latest", - Hash: 1002, - Created: 10, - State: "exited", + ID: kubecontainer.BuildContainerID("rkt", "uuid-4002:app-2"), + Name: "app-2", + Image: "img-name-2:latest", + Hash: 1002, + State: "exited", }, }, }, @@ -462,36 +458,32 @@ func TestGetPods(t *testing.T) { Namespace: "default", Containers: []*kubecontainer.Container{ { - ID: kubecontainer.BuildContainerID("rkt", "uuid-4003:app-11"), - Name: "app-11", - Image: "img-name-11:latest", - Hash: 10011, - Created: 30, - State: "exited", + ID: kubecontainer.BuildContainerID("rkt", "uuid-4003:app-11"), + Name: "app-11", + Image: "img-name-11:latest", + Hash: 10011, + State: "exited", }, { - ID: kubecontainer.BuildContainerID("rkt", "uuid-4003:app-22"), - Name: "app-22", - Image: "img-name-22:latest", - Hash: 10022, - Created: 30, - State: "exited", + ID: kubecontainer.BuildContainerID("rkt", "uuid-4003:app-22"), + Name: "app-22", + Image: "img-name-22:latest", + Hash: 10022, + State: "exited", }, { - ID: kubecontainer.BuildContainerID("rkt", "uuid-4004:app-11"), - Name: "app-11", - Image: "img-name-11:latest", - Hash: 10011, - Created: 50, - State: "running", + ID: kubecontainer.BuildContainerID("rkt", "uuid-4004:app-11"), + Name: "app-11", + Image: "img-name-11:latest", + Hash: 10011, + State: "running", }, { - ID: kubecontainer.BuildContainerID("rkt", "uuid-4004:app-22"), - Name: "app-22", - Image: "img-name-22:latest", - Hash: 10022, - Created: 50, - State: "running", + ID: kubecontainer.BuildContainerID("rkt", "uuid-4004:app-22"), + Name: "app-22", + Image: "img-name-22:latest", + Hash: 10022, + State: "running", }, }, },