From bf2ced837cf526ab957e74488c08d22584491bfe Mon Sep 17 00:00:00 2001 From: Yang Guo Date: Thu, 29 Jun 2017 13:21:17 -0700 Subject: [PATCH] Updates Docker Engine API --- pkg/credentialprovider/BUILD | 4 +- pkg/credentialprovider/keyring.go | 2 +- pkg/credentialprovider/keyring_test.go | 2 +- pkg/credentialprovider/provider.go | 2 +- pkg/kubelet/dockershim/BUILD | 12 ++--- pkg/kubelet/dockershim/convert.go | 4 +- pkg/kubelet/dockershim/convert_test.go | 2 +- pkg/kubelet/dockershim/docker_container.go | 14 +++--- .../dockershim/docker_container_test.go | 4 +- pkg/kubelet/dockershim/docker_image.go | 4 +- pkg/kubelet/dockershim/docker_image_test.go | 2 +- pkg/kubelet/dockershim/docker_legacy.go | 12 ++--- pkg/kubelet/dockershim/docker_legacy_test.go | 2 +- pkg/kubelet/dockershim/docker_sandbox.go | 23 ++++++---- pkg/kubelet/dockershim/docker_service.go | 2 +- pkg/kubelet/dockershim/docker_service_test.go | 2 +- pkg/kubelet/dockershim/docker_streaming.go | 4 +- pkg/kubelet/dockershim/exec.go | 4 +- pkg/kubelet/dockershim/helpers.go | 11 +++-- pkg/kubelet/dockershim/helpers_linux.go | 4 +- pkg/kubelet/dockershim/helpers_test.go | 6 +-- pkg/kubelet/dockershim/helpers_unsupported.go | 2 +- pkg/kubelet/dockershim/helpers_windows.go | 6 +-- pkg/kubelet/dockershim/libdocker/BUILD | 8 ++-- pkg/kubelet/dockershim/libdocker/client.go | 17 +++---- .../dockershim/libdocker/fake_client.go | 46 +++++++++---------- pkg/kubelet/dockershim/libdocker/helpers.go | 2 +- .../dockershim/libdocker/helpers_test.go | 2 +- .../libdocker/instrumented_client.go | 15 +++--- .../libdocker/kube_docker_client.go | 37 ++++++--------- .../dockershim/libdocker/legacy_test.go | 2 +- pkg/kubelet/dockershim/security_context.go | 2 +- .../dockershim/security_context_test.go | 2 +- pkg/kubelet/rkt/BUILD | 2 +- pkg/kubelet/rkt/image.go | 2 +- test/e2e_node/system/BUILD | 6 +-- test/e2e_node/system/docker_validator.go | 4 +- test/e2e_node/system/docker_validator_test.go | 2 +- 38 files changed, 138 insertions(+), 141 deletions(-) diff --git a/pkg/credentialprovider/BUILD b/pkg/credentialprovider/BUILD index e773b41bf08..00778151553 100644 --- a/pkg/credentialprovider/BUILD +++ b/pkg/credentialprovider/BUILD @@ -19,7 +19,7 @@ go_library( ], tags = ["automanaged"], deps = [ - "//vendor/github.com/docker/engine-api/types:go_default_library", + "//vendor/github.com/docker/docker/api/types:go_default_library", "//vendor/github.com/golang/glog:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", @@ -35,7 +35,7 @@ go_test( ], library = ":go_default_library", tags = ["automanaged"], - deps = ["//vendor/github.com/docker/engine-api/types:go_default_library"], + deps = ["//vendor/github.com/docker/docker/api/types:go_default_library"], ) filegroup( diff --git a/pkg/credentialprovider/keyring.go b/pkg/credentialprovider/keyring.go index e87f240ced9..9ec96312577 100644 --- a/pkg/credentialprovider/keyring.go +++ b/pkg/credentialprovider/keyring.go @@ -26,7 +26,7 @@ import ( "github.com/golang/glog" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/sets" ) diff --git a/pkg/credentialprovider/keyring_test.go b/pkg/credentialprovider/keyring_test.go index 771a6b60544..7aef17d7e5e 100644 --- a/pkg/credentialprovider/keyring_test.go +++ b/pkg/credentialprovider/keyring_test.go @@ -22,7 +22,7 @@ import ( "reflect" "testing" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" ) func TestUrlsMatch(t *testing.T) { diff --git a/pkg/credentialprovider/provider.go b/pkg/credentialprovider/provider.go index cb93bd7fb21..419dc43e5df 100644 --- a/pkg/credentialprovider/provider.go +++ b/pkg/credentialprovider/provider.go @@ -22,7 +22,7 @@ import ( "sync" "time" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "github.com/golang/glog" ) diff --git a/pkg/kubelet/dockershim/BUILD b/pkg/kubelet/dockershim/BUILD index 38ddd56272f..ddf32974059 100644 --- a/pkg/kubelet/dockershim/BUILD +++ b/pkg/kubelet/dockershim/BUILD @@ -55,11 +55,11 @@ go_library( "//pkg/util/hash:go_default_library", "//pkg/util/term:go_default_library", "//vendor/github.com/blang/semver:go_default_library", + "//vendor/github.com/docker/docker/api/types:go_default_library", + "//vendor/github.com/docker/docker/api/types/container:go_default_library", + "//vendor/github.com/docker/docker/api/types/filters:go_default_library", + "//vendor/github.com/docker/docker/api/types/strslice:go_default_library", "//vendor/github.com/docker/docker/pkg/jsonmessage:go_default_library", - "//vendor/github.com/docker/engine-api/types:go_default_library", - "//vendor/github.com/docker/engine-api/types/container:go_default_library", - "//vendor/github.com/docker/engine-api/types/filters:go_default_library", - "//vendor/github.com/docker/engine-api/types/strslice:go_default_library", "//vendor/github.com/docker/go-connections/nat:go_default_library", "//vendor/github.com/golang/glog:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library", @@ -107,9 +107,9 @@ go_test( "//pkg/kubelet/util/cache:go_default_library", "//pkg/security/apparmor:go_default_library", "//vendor/github.com/blang/semver:go_default_library", + "//vendor/github.com/docker/docker/api/types:go_default_library", + "//vendor/github.com/docker/docker/api/types/container:go_default_library", "//vendor/github.com/docker/docker/pkg/jsonmessage:go_default_library", - "//vendor/github.com/docker/engine-api/types:go_default_library", - "//vendor/github.com/docker/engine-api/types/container:go_default_library", "//vendor/github.com/docker/go-connections/nat:go_default_library", "//vendor/github.com/golang/mock/gomock:go_default_library", "//vendor/github.com/stretchr/testify/assert:go_default_library", diff --git a/pkg/kubelet/dockershim/convert.go b/pkg/kubelet/dockershim/convert.go index 0789301839d..0ce30959a74 100644 --- a/pkg/kubelet/dockershim/convert.go +++ b/pkg/kubelet/dockershim/convert.go @@ -21,7 +21,7 @@ import ( "strings" "time" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime" "k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker" @@ -30,7 +30,7 @@ import ( // This file contains helper functions to convert docker API types to runtime // API types, or vice versa. -func imageToRuntimeAPIImage(image *dockertypes.Image) (*runtimeapi.Image, error) { +func imageToRuntimeAPIImage(image *dockertypes.ImageSummary) (*runtimeapi.Image, error) { if image == nil { return nil, fmt.Errorf("unable to convert a nil pointer to a runtime API image") } diff --git a/pkg/kubelet/dockershim/convert_test.go b/pkg/kubelet/dockershim/convert_test.go index a1b4e4cca80..a05ab9dd915 100644 --- a/pkg/kubelet/dockershim/convert_test.go +++ b/pkg/kubelet/dockershim/convert_test.go @@ -19,7 +19,7 @@ package dockershim import ( "testing" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "github.com/stretchr/testify/assert" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime" diff --git a/pkg/kubelet/dockershim/docker_container.go b/pkg/kubelet/dockershim/docker_container.go index ac79f3fe64a..5ee0d8e539d 100644 --- a/pkg/kubelet/dockershim/docker_container.go +++ b/pkg/kubelet/dockershim/docker_container.go @@ -22,10 +22,10 @@ import ( "path/filepath" "time" - dockertypes "github.com/docker/engine-api/types" - dockercontainer "github.com/docker/engine-api/types/container" - dockerfilters "github.com/docker/engine-api/types/filters" - dockerstrslice "github.com/docker/engine-api/types/strslice" + dockertypes "github.com/docker/docker/api/types" + dockercontainer "github.com/docker/docker/api/types/container" + dockerfilters "github.com/docker/docker/api/types/filters" + dockerstrslice "github.com/docker/docker/api/types/strslice" "github.com/golang/glog" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime" @@ -36,8 +36,8 @@ import ( func (ds *dockerService) ListContainers(filter *runtimeapi.ContainerFilter) ([]*runtimeapi.Container, error) { opts := dockertypes.ContainerListOptions{All: true} - opts.Filter = dockerfilters.NewArgs() - f := newDockerFilter(&opts.Filter) + opts.Filters = dockerfilters.NewArgs() + f := newDockerFilter(&opts.Filters) // Add filter to get *only* (non-sandbox) containers. f.AddLabel(containerTypeLabelKey, containerTypeLabelContainer) @@ -249,7 +249,7 @@ func (ds *dockerService) StartContainer(containerID string) error { // StopContainer stops a running container with a grace period (i.e., timeout). func (ds *dockerService) StopContainer(containerID string, timeout int64) error { - return ds.client.StopContainer(containerID, int(timeout)) + return ds.client.StopContainer(containerID, time.Duration(timeout)*time.Second) } // RemoveContainer removes the container. diff --git a/pkg/kubelet/dockershim/docker_container_test.go b/pkg/kubelet/dockershim/docker_container_test.go index 6a1bb97005e..a8b70925b62 100644 --- a/pkg/kubelet/dockershim/docker_container_test.go +++ b/pkg/kubelet/dockershim/docker_container_test.go @@ -23,7 +23,7 @@ import ( "testing" "time" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -131,7 +131,7 @@ func TestContainerStatus(t *testing.T) { Annotations: config.Annotations, } - fDocker.InjectImages([]dockertypes.Image{{ID: imageName}}) + fDocker.InjectImages([]dockertypes.ImageSummary{{ID: imageName}}) // Create the container. fClock.SetTime(time.Now().Add(-1 * time.Hour)) diff --git a/pkg/kubelet/dockershim/docker_image.go b/pkg/kubelet/dockershim/docker_image.go index a2eb8dce158..5ad5c1baf30 100644 --- a/pkg/kubelet/dockershim/docker_image.go +++ b/pkg/kubelet/dockershim/docker_image.go @@ -20,8 +20,8 @@ import ( "fmt" "net/http" + dockertypes "github.com/docker/docker/api/types" "github.com/docker/docker/pkg/jsonmessage" - dockertypes "github.com/docker/engine-api/types" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime" "k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker" @@ -34,7 +34,7 @@ func (ds *dockerService) ListImages(filter *runtimeapi.ImageFilter) ([]*runtimea opts := dockertypes.ImageListOptions{} if filter != nil { if imgSpec := filter.GetImage(); imgSpec != nil { - opts.MatchName = imgSpec.Image + opts.Filters.Add("reference", imgSpec.Image) } } diff --git a/pkg/kubelet/dockershim/docker_image_test.go b/pkg/kubelet/dockershim/docker_image_test.go index 4d6d37f4166..d9e3c853244 100644 --- a/pkg/kubelet/dockershim/docker_image_test.go +++ b/pkg/kubelet/dockershim/docker_image_test.go @@ -20,8 +20,8 @@ import ( "fmt" "testing" + dockertypes "github.com/docker/docker/api/types" "github.com/docker/docker/pkg/jsonmessage" - dockertypes "github.com/docker/engine-api/types" "github.com/stretchr/testify/assert" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime" diff --git a/pkg/kubelet/dockershim/docker_legacy.go b/pkg/kubelet/dockershim/docker_legacy.go index d5d26be47d2..24ebbe3d98b 100644 --- a/pkg/kubelet/dockershim/docker_legacy.go +++ b/pkg/kubelet/dockershim/docker_legacy.go @@ -22,8 +22,8 @@ import ( "sync/atomic" "time" - dockertypes "github.com/docker/engine-api/types" - dockerfilters "github.com/docker/engine-api/types/filters" + dockertypes "github.com/docker/docker/api/types" + dockerfilters "github.com/docker/docker/api/types/filters" "github.com/golang/glog" "k8s.io/apimachinery/pkg/util/sets" @@ -155,9 +155,9 @@ func (ds *dockerService) checkLegacyCleanup() (bool, error) { // ListLegacyPodSandbox only lists all legacy pod sandboxes. func (ds *dockerService) ListLegacyPodSandbox(filter *runtimeapi.PodSandboxFilter) ([]*runtimeapi.PodSandbox, error) { // By default, list all containers whether they are running or not. - opts := dockertypes.ContainerListOptions{All: true, Filter: dockerfilters.NewArgs()} + opts := dockertypes.ContainerListOptions{All: true, Filters: dockerfilters.NewArgs()} filterOutReadySandboxes := false - f := newDockerFilter(&opts.Filter) + f := newDockerFilter(&opts.Filters) if filter != nil { if filter.Id != "" { f.Add("id", filter.Id) @@ -218,8 +218,8 @@ func (ds *dockerService) ListLegacyPodSandbox(filter *runtimeapi.PodSandboxFilte // ListLegacyPodSandbox only lists all legacy containers. func (ds *dockerService) ListLegacyContainers(filter *runtimeapi.ContainerFilter) ([]*runtimeapi.Container, error) { - opts := dockertypes.ContainerListOptions{All: true, Filter: dockerfilters.NewArgs()} - f := newDockerFilter(&opts.Filter) + opts := dockertypes.ContainerListOptions{All: true, Filters: dockerfilters.NewArgs()} + f := newDockerFilter(&opts.Filters) if filter != nil { if filter.Id != "" { diff --git a/pkg/kubelet/dockershim/docker_legacy_test.go b/pkg/kubelet/dockershim/docker_legacy_test.go index 0b4551b60ba..cc56d47d88d 100644 --- a/pkg/kubelet/dockershim/docker_legacy_test.go +++ b/pkg/kubelet/dockershim/docker_legacy_test.go @@ -19,7 +19,7 @@ package dockershim import ( "testing" - dockercontainer "github.com/docker/engine-api/types/container" + dockercontainer "github.com/docker/docker/api/types/container" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/kubelet/dockershim/docker_sandbox.go b/pkg/kubelet/dockershim/docker_sandbox.go index b1240cce5bc..336f13a7409 100644 --- a/pkg/kubelet/dockershim/docker_sandbox.go +++ b/pkg/kubelet/dockershim/docker_sandbox.go @@ -20,10 +20,11 @@ import ( "fmt" "os" "strings" + "time" - dockertypes "github.com/docker/engine-api/types" - dockercontainer "github.com/docker/engine-api/types/container" - dockerfilters "github.com/docker/engine-api/types/filters" + dockertypes "github.com/docker/docker/api/types" + dockercontainer "github.com/docker/docker/api/types/container" + dockerfilters "github.com/docker/docker/api/types/filters" "github.com/golang/glog" utilerrors "k8s.io/apimachinery/pkg/util/errors" @@ -41,13 +42,15 @@ const ( // Various default sandbox resources requests/limits. defaultSandboxCPUshares int64 = 2 - // Termination grace period - defaultSandboxGracePeriod int = 10 - // Name of the underlying container runtime runtimeName = "docker" ) +var ( + // Termination grace period + defaultSandboxGracePeriod = time.Duration(10) * time.Second +) + // Returns whether the sandbox network is ready, and whether the sandbox is known func (ds *dockerService) getNetworkReady(podSandboxID string) (bool, bool) { ds.networkReadyLock.Lock() @@ -250,8 +253,8 @@ func (ds *dockerService) RemovePodSandbox(podSandboxID string) error { var errs []error opts := dockertypes.ContainerListOptions{All: true} - opts.Filter = dockerfilters.NewArgs() - f := newDockerFilter(&opts.Filter) + opts.Filters = dockerfilters.NewArgs() + f := newDockerFilter(&opts.Filters) f.AddLabel(sandboxIDLabelKey, podSandboxID) containers, err := ds.client.ListContainers(opts) @@ -414,8 +417,8 @@ func (ds *dockerService) ListPodSandbox(filter *runtimeapi.PodSandboxFilter) ([] opts := dockertypes.ContainerListOptions{All: true} filterOutReadySandboxes := false - opts.Filter = dockerfilters.NewArgs() - f := newDockerFilter(&opts.Filter) + opts.Filters = dockerfilters.NewArgs() + f := newDockerFilter(&opts.Filters) // Add filter to select only sandbox containers. f.AddLabel(containerTypeLabelKey, containerTypeLabelSandbox) diff --git a/pkg/kubelet/dockershim/docker_service.go b/pkg/kubelet/dockershim/docker_service.go index 9647d149c05..05b73394aa5 100644 --- a/pkg/kubelet/dockershim/docker_service.go +++ b/pkg/kubelet/dockershim/docker_service.go @@ -25,7 +25,7 @@ import ( "time" "github.com/blang/semver" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "github.com/golang/glog" "k8s.io/api/core/v1" diff --git a/pkg/kubelet/dockershim/docker_service_test.go b/pkg/kubelet/dockershim/docker_service_test.go index 35cd5b76a93..04bf5291bfb 100644 --- a/pkg/kubelet/dockershim/docker_service_test.go +++ b/pkg/kubelet/dockershim/docker_service_test.go @@ -22,7 +22,7 @@ import ( "time" "github.com/blang/semver" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/kubelet/dockershim/docker_streaming.go b/pkg/kubelet/dockershim/docker_streaming.go index 8d63ef09db6..cf599d8a9fe 100644 --- a/pkg/kubelet/dockershim/docker_streaming.go +++ b/pkg/kubelet/dockershim/docker_streaming.go @@ -25,7 +25,7 @@ import ( "strings" "time" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "github.com/golang/glog" @@ -140,7 +140,7 @@ func attachContainer(client libdocker.Interface, containerID string, stdin io.Re // Have to start this before the call to client.AttachToContainer because client.AttachToContainer is a blocking // call :-( Otherwise, resize events don't get processed and the terminal never resizes. kubecontainer.HandleResizing(resize, func(size remotecommand.TerminalSize) { - client.ResizeContainerTTY(containerID, int(size.Height), int(size.Width)) + client.ResizeContainerTTY(containerID, uint(size.Height), uint(size.Width)) }) // TODO(random-liu): Do we really use the *Logs* field here? diff --git a/pkg/kubelet/dockershim/exec.go b/pkg/kubelet/dockershim/exec.go index 1d73a8a8d5c..881afea6c34 100644 --- a/pkg/kubelet/dockershim/exec.go +++ b/pkg/kubelet/dockershim/exec.go @@ -23,7 +23,7 @@ import ( "os/exec" "time" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "github.com/golang/glog" "k8s.io/client-go/tools/remotecommand" @@ -150,7 +150,7 @@ func (*NativeExecHandler) ExecInContainer(client libdocker.Interface, container // Have to start this before the call to client.StartExec because client.StartExec is a blocking // call :-( Otherwise, resize events don't get processed and the terminal never resizes. kubecontainer.HandleResizing(resize, func(size remotecommand.TerminalSize) { - client.ResizeExecTTY(execObj.ID, int(size.Height), int(size.Width)) + client.ResizeExecTTY(execObj.ID, uint(size.Height), uint(size.Width)) }) startOpts := dockertypes.ExecStartCheck{Detach: false, Tty: tty} diff --git a/pkg/kubelet/dockershim/helpers.go b/pkg/kubelet/dockershim/helpers.go index 22a976ed157..c82da109280 100644 --- a/pkg/kubelet/dockershim/helpers.go +++ b/pkg/kubelet/dockershim/helpers.go @@ -25,8 +25,9 @@ import ( "strings" "github.com/blang/semver" - dockertypes "github.com/docker/engine-api/types" - dockerfilters "github.com/docker/engine-api/types/filters" + dockertypes "github.com/docker/docker/api/types" + dockercontainer "github.com/docker/docker/api/types/container" + dockerfilters "github.com/docker/docker/api/types/filters" dockernat "github.com/docker/go-connections/nat" "github.com/golang/glog" @@ -152,8 +153,8 @@ func generateMountBindings(mounts []*runtimeapi.Mount) []string { return result } -func makePortsAndBindings(pm []*runtimeapi.PortMapping) (map[dockernat.Port]struct{}, map[dockernat.Port][]dockernat.PortBinding) { - exposedPorts := map[dockernat.Port]struct{}{} +func makePortsAndBindings(pm []*runtimeapi.PortMapping) (dockernat.PortSet, map[dockernat.Port][]dockernat.PortBinding) { + exposedPorts := dockernat.PortSet{} portBindings := map[dockernat.Port][]dockernat.PortBinding{} for _, port := range pm { exteriorPort := port.HostPort @@ -280,7 +281,7 @@ func getUserFromImageUser(imageUser string) (*int64, string) { // In that case we have to create the container with a randomized name. // TODO(random-liu): Remove this work around after docker 1.11 is deprecated. // TODO(#33189): Monitor the tests to see if the fix is sufficient. -func recoverFromCreationConflictIfNeeded(client libdocker.Interface, createConfig dockertypes.ContainerCreateConfig, err error) (*dockertypes.ContainerCreateResponse, error) { +func recoverFromCreationConflictIfNeeded(client libdocker.Interface, createConfig dockertypes.ContainerCreateConfig, err error) (*dockercontainer.ContainerCreateCreatedBody, error) { matches := conflictRE.FindStringSubmatch(err.Error()) if len(matches) != 2 { return nil, err diff --git a/pkg/kubelet/dockershim/helpers_linux.go b/pkg/kubelet/dockershim/helpers_linux.go index fd4f87fe4dc..6a347a0e7ea 100644 --- a/pkg/kubelet/dockershim/helpers_linux.go +++ b/pkg/kubelet/dockershim/helpers_linux.go @@ -28,8 +28,8 @@ import ( "strings" "github.com/blang/semver" - dockertypes "github.com/docker/engine-api/types" - dockercontainer "github.com/docker/engine-api/types/container" + dockertypes "github.com/docker/docker/api/types" + dockercontainer "github.com/docker/docker/api/types/container" "k8s.io/api/core/v1" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime" ) diff --git a/pkg/kubelet/dockershim/helpers_test.go b/pkg/kubelet/dockershim/helpers_test.go index 4e0615834e5..935cda889c9 100644 --- a/pkg/kubelet/dockershim/helpers_test.go +++ b/pkg/kubelet/dockershim/helpers_test.go @@ -25,7 +25,7 @@ import ( "testing" "github.com/blang/semver" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" dockernat "github.com/docker/go-connections/nat" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -218,7 +218,7 @@ func TestEnsureSandboxImageExists(t *testing.T) { t.Logf("TestCase: %q", desc) _, fakeDocker, _ := newTestDockerService() if test.injectImage { - images := []dockertypes.Image{{ID: sandboxImage}} + images := []dockertypes.ImageSummary{{ID: sandboxImage}} fakeDocker.InjectImages(images) if test.imgNeedsAuth { fakeDocker.MakeImagesPrivate(images, authConfig) @@ -243,7 +243,7 @@ func TestEnsureSandboxImageExists(t *testing.T) { func TestMakePortsAndBindings(t *testing.T) { for desc, test := range map[string]struct { pm []*runtimeapi.PortMapping - exposedPorts map[dockernat.Port]struct{} + exposedPorts dockernat.PortSet portmappings map[dockernat.Port][]dockernat.PortBinding }{ "no port mapping": { diff --git a/pkg/kubelet/dockershim/helpers_unsupported.go b/pkg/kubelet/dockershim/helpers_unsupported.go index ab8d380adce..1589888147d 100644 --- a/pkg/kubelet/dockershim/helpers_unsupported.go +++ b/pkg/kubelet/dockershim/helpers_unsupported.go @@ -20,7 +20,7 @@ package dockershim import ( "github.com/blang/semver" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "github.com/golang/glog" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime" ) diff --git a/pkg/kubelet/dockershim/helpers_windows.go b/pkg/kubelet/dockershim/helpers_windows.go index 917e2dc4a2d..480299e8658 100644 --- a/pkg/kubelet/dockershim/helpers_windows.go +++ b/pkg/kubelet/dockershim/helpers_windows.go @@ -22,9 +22,9 @@ import ( "os" "github.com/blang/semver" - dockertypes "github.com/docker/engine-api/types" - dockercontainer "github.com/docker/engine-api/types/container" - dockerfilters "github.com/docker/engine-api/types/filters" + dockertypes "github.com/docker/docker/api/types" + dockercontainer "github.com/docker/docker/api/types/container" + dockerfilters "github.com/docker/docker/api/types/filters" "github.com/golang/glog" "k8s.io/api/core/v1" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime" diff --git a/pkg/kubelet/dockershim/libdocker/BUILD b/pkg/kubelet/dockershim/libdocker/BUILD index 110afd6e8dd..fa284b9ed0b 100644 --- a/pkg/kubelet/dockershim/libdocker/BUILD +++ b/pkg/kubelet/dockershim/libdocker/BUILD @@ -19,7 +19,7 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/util/hash:go_default_library", - "//vendor/github.com/docker/engine-api/types:go_default_library", + "//vendor/github.com/docker/docker/api/types:go_default_library", "//vendor/github.com/stretchr/testify/assert:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", @@ -42,11 +42,11 @@ go_library( "//pkg/kubelet/metrics:go_default_library", "//vendor/github.com/docker/distribution/digest:go_default_library", "//vendor/github.com/docker/distribution/reference:go_default_library", + "//vendor/github.com/docker/docker/api/types:go_default_library", + "//vendor/github.com/docker/docker/api/types/container:go_default_library", + "//vendor/github.com/docker/docker/client:go_default_library", "//vendor/github.com/docker/docker/pkg/jsonmessage:go_default_library", "//vendor/github.com/docker/docker/pkg/stdcopy:go_default_library", - "//vendor/github.com/docker/engine-api/client:go_default_library", - "//vendor/github.com/docker/engine-api/types:go_default_library", - "//vendor/github.com/docker/engine-api/types/container:go_default_library", "//vendor/github.com/golang/glog:go_default_library", "//vendor/golang.org/x/net/context:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library", diff --git a/pkg/kubelet/dockershim/libdocker/client.go b/pkg/kubelet/dockershim/libdocker/client.go index cc71a68247d..0307a82dc53 100644 --- a/pkg/kubelet/dockershim/libdocker/client.go +++ b/pkg/kubelet/dockershim/libdocker/client.go @@ -20,8 +20,9 @@ import ( "strings" "time" - dockerapi "github.com/docker/engine-api/client" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" + dockercontainer "github.com/docker/docker/api/types/container" + dockerapi "github.com/docker/docker/client" "github.com/golang/glog" ) @@ -44,25 +45,25 @@ const ( type Interface interface { ListContainers(options dockertypes.ContainerListOptions) ([]dockertypes.Container, error) InspectContainer(id string) (*dockertypes.ContainerJSON, error) - CreateContainer(dockertypes.ContainerCreateConfig) (*dockertypes.ContainerCreateResponse, error) + CreateContainer(dockertypes.ContainerCreateConfig) (*dockercontainer.ContainerCreateCreatedBody, error) StartContainer(id string) error - StopContainer(id string, timeout int) error + StopContainer(id string, timeout time.Duration) error RemoveContainer(id string, opts dockertypes.ContainerRemoveOptions) error InspectImageByRef(imageRef string) (*dockertypes.ImageInspect, error) InspectImageByID(imageID string) (*dockertypes.ImageInspect, error) - ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.Image, error) + ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.ImageSummary, error) PullImage(image string, auth dockertypes.AuthConfig, opts dockertypes.ImagePullOptions) error RemoveImage(image string, opts dockertypes.ImageRemoveOptions) ([]dockertypes.ImageDelete, error) ImageHistory(id string) ([]dockertypes.ImageHistory, error) Logs(string, dockertypes.ContainerLogsOptions, StreamOptions) error Version() (*dockertypes.Version, error) Info() (*dockertypes.Info, error) - CreateExec(string, dockertypes.ExecConfig) (*dockertypes.ContainerExecCreateResponse, error) + CreateExec(string, dockertypes.ExecConfig) (*dockertypes.IDResponse, error) StartExec(string, dockertypes.ExecStartCheck, StreamOptions) error InspectExec(id string) (*dockertypes.ContainerExecInspect, error) AttachToContainer(string, dockertypes.ContainerAttachOptions, StreamOptions) error - ResizeContainerTTY(id string, height, width int) error - ResizeExecTTY(id string, height, width int) error + ResizeContainerTTY(id string, height, width uint) error + ResizeExecTTY(id string, height, width uint) error } // Get a *dockerapi.Client, either using the endpoint passed in, or using diff --git a/pkg/kubelet/dockershim/libdocker/fake_client.go b/pkg/kubelet/dockershim/libdocker/fake_client.go index 9d7f37c3332..341dcd484c4 100644 --- a/pkg/kubelet/dockershim/libdocker/fake_client.go +++ b/pkg/kubelet/dockershim/libdocker/fake_client.go @@ -29,8 +29,8 @@ import ( "sync" "time" - dockertypes "github.com/docker/engine-api/types" - dockercontainer "github.com/docker/engine-api/types/container" + dockertypes "github.com/docker/docker/api/types" + dockercontainer "github.com/docker/docker/api/types/container" "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/clock" @@ -54,7 +54,7 @@ type FakeDockerClient struct { ExitedContainerList []dockertypes.Container ContainerMap map[string]*dockertypes.ContainerJSON ImageInspects map[string]*dockertypes.ImageInspect - Images []dockertypes.Image + Images []dockertypes.ImageSummary ImageIDsNeedingAuth map[string]dockertypes.AuthConfig Errors map[string]error called []calledDetail @@ -391,8 +391,8 @@ func (f *FakeDockerClient) ListContainers(options dockertypes.ContainerListOptio // TODO(random-liu): Is a fully sorted array needed? containerList = append(containerList, f.ExitedContainerList...) } - // Filter containers with id, only support 1 id. - idFilters := options.Filter.Get("id") + // Filters containers with id, only support 1 id. + idFilters := options.Filters.Get("id") if len(idFilters) != 0 { var filtered []dockertypes.Container for _, container := range containerList { @@ -405,8 +405,8 @@ func (f *FakeDockerClient) ListContainers(options dockertypes.ContainerListOptio } containerList = filtered } - // Filter containers with status, only support 1 status. - statusFilters := options.Filter.Get("status") + // Filters containers with status, only support 1 status. + statusFilters := options.Filters.Get("status") if len(statusFilters) == 1 { var filtered []dockertypes.Container for _, container := range containerList { @@ -419,8 +419,8 @@ func (f *FakeDockerClient) ListContainers(options dockertypes.ContainerListOptio } containerList = filtered } - // Filter containers with label filter. - labelFilters := options.Filter.Get("label") + // Filters containers with label filter. + labelFilters := options.Filters.Get("label") if len(labelFilters) != 0 { var filtered []dockertypes.Container for _, container := range containerList { @@ -514,7 +514,7 @@ func GetFakeContainerID(name string) string { // CreateContainer is a test-spy implementation of Interface.CreateContainer. // It adds an entry "create" to the internal method call record. -func (f *FakeDockerClient) CreateContainer(c dockertypes.ContainerCreateConfig) (*dockertypes.ContainerCreateResponse, error) { +func (f *FakeDockerClient) CreateContainer(c dockertypes.ContainerCreateConfig) (*dockercontainer.ContainerCreateCreatedBody, error) { f.Lock() defer f.Unlock() f.appendCalled(calledDetail{name: "create"}) @@ -536,7 +536,7 @@ func (f *FakeDockerClient) CreateContainer(c dockertypes.ContainerCreateConfig) f.normalSleep(100, 25, 25) - return &dockertypes.ContainerCreateResponse{ID: id}, nil + return &dockercontainer.ContainerCreateCreatedBody{ID: id}, nil } // StartContainer is a test-spy implementation of Interface.StartContainer. @@ -566,7 +566,7 @@ func (f *FakeDockerClient) StartContainer(id string) error { // StopContainer is a test-spy implementation of Interface.StopContainer. // It adds an entry "stop" to the internal method call record. -func (f *FakeDockerClient) StopContainer(id string, timeout int) error { +func (f *FakeDockerClient) StopContainer(id string, timeout time.Duration) error { f.Lock() defer f.Unlock() f.appendCalled(calledDetail{name: "stop"}) @@ -675,12 +675,12 @@ func (f *FakeDockerClient) Info() (*dockertypes.Info, error) { return &f.Information, nil } -func (f *FakeDockerClient) CreateExec(id string, opts dockertypes.ExecConfig) (*dockertypes.ContainerExecCreateResponse, error) { +func (f *FakeDockerClient) CreateExec(id string, opts dockertypes.ExecConfig) (*dockertypes.IDResponse, error) { f.Lock() defer f.Unlock() f.execCmd = opts.Cmd f.appendCalled(calledDetail{name: "create_exec"}) - return &dockertypes.ContainerExecCreateResponse{ID: "12345678"}, nil + return &dockertypes.IDResponse{ID: "12345678"}, nil } func (f *FakeDockerClient) StartExec(startExec string, opts dockertypes.ExecStartCheck, sopts StreamOptions) error { @@ -701,7 +701,7 @@ func (f *FakeDockerClient) InspectExec(id string) (*dockertypes.ContainerExecIns return f.ExecInspect, f.popError("inspect_exec") } -func (f *FakeDockerClient) ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.Image, error) { +func (f *FakeDockerClient) ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.ImageSummary, error) { f.Lock() defer f.Unlock() f.appendCalled(calledDetail{name: "list_images"}) @@ -725,7 +725,7 @@ func (f *FakeDockerClient) RemoveImage(image string, opts dockertypes.ImageRemov return []dockertypes.ImageDelete{{Deleted: image}}, err } -func (f *FakeDockerClient) InjectImages(images []dockertypes.Image) { +func (f *FakeDockerClient) InjectImages(images []dockertypes.ImageSummary) { f.Lock() defer f.Unlock() f.Images = append(f.Images, images...) @@ -734,7 +734,7 @@ func (f *FakeDockerClient) InjectImages(images []dockertypes.Image) { } } -func (f *FakeDockerClient) MakeImagesPrivate(images []dockertypes.Image, auth dockertypes.AuthConfig) { +func (f *FakeDockerClient) MakeImagesPrivate(images []dockertypes.ImageSummary, auth dockertypes.AuthConfig) { f.Lock() defer f.Unlock() for _, i := range images { @@ -745,7 +745,7 @@ func (f *FakeDockerClient) MakeImagesPrivate(images []dockertypes.Image, auth do func (f *FakeDockerClient) ResetImages() { f.Lock() defer f.Unlock() - f.Images = []dockertypes.Image{} + f.Images = []dockertypes.ImageSummary{} f.ImageInspects = make(map[string]*dockertypes.ImageInspect) f.ImageIDsNeedingAuth = make(map[string]dockertypes.AuthConfig) } @@ -767,14 +767,14 @@ func (f *FakeDockerClient) updateContainerStatus(id, status string) { } } -func (f *FakeDockerClient) ResizeExecTTY(id string, height, width int) error { +func (f *FakeDockerClient) ResizeExecTTY(id string, height, width uint) error { f.Lock() defer f.Unlock() f.appendCalled(calledDetail{name: "resize_exec"}) return nil } -func (f *FakeDockerClient) ResizeContainerTTY(id string, height, width int) error { +func (f *FakeDockerClient) ResizeContainerTTY(id string, height, width uint) error { f.Lock() defer f.Unlock() f.appendCalled(calledDetail{name: "resize_container"}) @@ -792,7 +792,7 @@ func createImageInspectFromRef(ref string) *dockertypes.ImageInspect { } } -func createImageInspectFromImage(image dockertypes.Image) *dockertypes.ImageInspect { +func createImageInspectFromImage(image dockertypes.ImageSummary) *dockertypes.ImageInspect { return &dockertypes.ImageInspect{ ID: image.ID, RepoTags: image.RepoTags, @@ -803,8 +803,8 @@ func createImageInspectFromImage(image dockertypes.Image) *dockertypes.ImageInsp } } -func createImageFromImageInspect(inspect dockertypes.ImageInspect) *dockertypes.Image { - return &dockertypes.Image{ +func createImageFromImageInspect(inspect dockertypes.ImageInspect) *dockertypes.ImageSummary { + return &dockertypes.ImageSummary{ ID: inspect.ID, RepoTags: inspect.RepoTags, // Image size is required to be non-zero for CRI integration. diff --git a/pkg/kubelet/dockershim/libdocker/helpers.go b/pkg/kubelet/dockershim/libdocker/helpers.go index 5957ff5e2ea..88812028bf0 100644 --- a/pkg/kubelet/dockershim/libdocker/helpers.go +++ b/pkg/kubelet/dockershim/libdocker/helpers.go @@ -22,7 +22,7 @@ import ( dockerdigest "github.com/docker/distribution/digest" dockerref "github.com/docker/distribution/reference" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "github.com/golang/glog" ) diff --git a/pkg/kubelet/dockershim/libdocker/helpers_test.go b/pkg/kubelet/dockershim/libdocker/helpers_test.go index 430db01f9f1..03e0046b9fc 100644 --- a/pkg/kubelet/dockershim/libdocker/helpers_test.go +++ b/pkg/kubelet/dockershim/libdocker/helpers_test.go @@ -20,7 +20,7 @@ import ( "fmt" "testing" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "github.com/stretchr/testify/assert" ) diff --git a/pkg/kubelet/dockershim/libdocker/instrumented_client.go b/pkg/kubelet/dockershim/libdocker/instrumented_client.go index 9c2b78d4f10..13d4a3e6493 100644 --- a/pkg/kubelet/dockershim/libdocker/instrumented_client.go +++ b/pkg/kubelet/dockershim/libdocker/instrumented_client.go @@ -19,7 +19,8 @@ package libdocker import ( "time" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" + dockercontainer "github.com/docker/docker/api/types/container" "k8s.io/kubernetes/pkg/kubelet/metrics" ) @@ -71,7 +72,7 @@ func (in instrumentedInterface) InspectContainer(id string) (*dockertypes.Contai return out, err } -func (in instrumentedInterface) CreateContainer(opts dockertypes.ContainerCreateConfig) (*dockertypes.ContainerCreateResponse, error) { +func (in instrumentedInterface) CreateContainer(opts dockertypes.ContainerCreateConfig) (*dockercontainer.ContainerCreateCreatedBody, error) { const operation = "create_container" defer recordOperation(operation, time.Now()) @@ -89,7 +90,7 @@ func (in instrumentedInterface) StartContainer(id string) error { return err } -func (in instrumentedInterface) StopContainer(id string, timeout int) error { +func (in instrumentedInterface) StopContainer(id string, timeout time.Duration) error { const operation = "stop_container" defer recordOperation(operation, time.Now()) @@ -125,7 +126,7 @@ func (in instrumentedInterface) InspectImageByID(image string) (*dockertypes.Ima return out, err } -func (in instrumentedInterface) ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.Image, error) { +func (in instrumentedInterface) ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.ImageSummary, error) { const operation = "list_images" defer recordOperation(operation, time.Now()) @@ -178,7 +179,7 @@ func (in instrumentedInterface) Info() (*dockertypes.Info, error) { return out, err } -func (in instrumentedInterface) CreateExec(id string, opts dockertypes.ExecConfig) (*dockertypes.ContainerExecCreateResponse, error) { +func (in instrumentedInterface) CreateExec(id string, opts dockertypes.ExecConfig) (*dockertypes.IDResponse, error) { const operation = "create_exec" defer recordOperation(operation, time.Now()) @@ -223,7 +224,7 @@ func (in instrumentedInterface) ImageHistory(id string) ([]dockertypes.ImageHist return out, err } -func (in instrumentedInterface) ResizeExecTTY(id string, height, width int) error { +func (in instrumentedInterface) ResizeExecTTY(id string, height, width uint) error { const operation = "resize_exec" defer recordOperation(operation, time.Now()) @@ -232,7 +233,7 @@ func (in instrumentedInterface) ResizeExecTTY(id string, height, width int) erro return err } -func (in instrumentedInterface) ResizeContainerTTY(id string, height, width int) error { +func (in instrumentedInterface) ResizeContainerTTY(id string, height, width uint) error { const operation = "resize_container" defer recordOperation(operation, time.Now()) diff --git a/pkg/kubelet/dockershim/libdocker/kube_docker_client.go b/pkg/kubelet/dockershim/libdocker/kube_docker_client.go index f3bbc3f0536..b74a5d04355 100644 --- a/pkg/kubelet/dockershim/libdocker/kube_docker_client.go +++ b/pkg/kubelet/dockershim/libdocker/kube_docker_client.go @@ -29,26 +29,17 @@ import ( "github.com/golang/glog" + dockertypes "github.com/docker/docker/api/types" + dockercontainer "github.com/docker/docker/api/types/container" + dockerapi "github.com/docker/docker/client" dockermessage "github.com/docker/docker/pkg/jsonmessage" dockerstdcopy "github.com/docker/docker/pkg/stdcopy" - dockerapi "github.com/docker/engine-api/client" - dockertypes "github.com/docker/engine-api/types" "golang.org/x/net/context" ) // kubeDockerClient is a wrapped layer of docker client for kubelet internal use. This layer is added to: // 1) Redirect stream for exec and attach operations. // 2) Wrap the context in this layer to make the Interface cleaner. -// 3) Stabilize the Interface. The engine-api is still under active development, the interface -// is not stabilized yet. However, the Interface is used in many files in Kubernetes, we may -// not want to change the interface frequently. With this layer, we can port the engine api to the -// Interface to avoid changing Interface as much as possible. -// (See -// * https://github.com/docker/engine-api/issues/89 -// * https://github.com/docker/engine-api/issues/137 -// * https://github.com/docker/engine-api/pull/140) -// TODO(random-liu): Swith to new docker interface by refactoring the functions in the old Interface -// one by one. type kubeDockerClient struct { // timeout is the timeout of short running docker operations. timeout time.Duration @@ -131,7 +122,7 @@ func (d *kubeDockerClient) InspectContainer(id string) (*dockertypes.ContainerJS return &containerJSON, nil } -func (d *kubeDockerClient) CreateContainer(opts dockertypes.ContainerCreateConfig) (*dockertypes.ContainerCreateResponse, error) { +func (d *kubeDockerClient) CreateContainer(opts dockertypes.ContainerCreateConfig) (*dockercontainer.ContainerCreateCreatedBody, error) { ctx, cancel := d.getTimeoutContext() defer cancel() // we provide an explicit default shm size as to not depend on docker daemon. @@ -152,18 +143,18 @@ func (d *kubeDockerClient) CreateContainer(opts dockertypes.ContainerCreateConfi func (d *kubeDockerClient) StartContainer(id string) error { ctx, cancel := d.getTimeoutContext() defer cancel() - err := d.client.ContainerStart(ctx, id) + err := d.client.ContainerStart(ctx, id, dockertypes.ContainerStartOptions{}) if ctxErr := contextError(ctx); ctxErr != nil { return ctxErr } return err } -// Stopping an already stopped container will not cause an error in engine-v1. -func (d *kubeDockerClient) StopContainer(id string, timeout int) error { - ctx, cancel := d.getCustomTimeoutContext(time.Duration(timeout) * time.Second) +// Stopping an already stopped container will not cause an error in dockerapi. +func (d *kubeDockerClient) StopContainer(id string, timeout time.Duration) error { + ctx, cancel := d.getCustomTimeoutContext(timeout) defer cancel() - err := d.client.ContainerStop(ctx, id, timeout) + err := d.client.ContainerStop(ctx, id, &timeout) if ctxErr := contextError(ctx); ctxErr != nil { return ctxErr } @@ -183,7 +174,7 @@ func (d *kubeDockerClient) RemoveContainer(id string, opts dockertypes.Container func (d *kubeDockerClient) inspectImageRaw(ref string) (*dockertypes.ImageInspect, error) { ctx, cancel := d.getTimeoutContext() defer cancel() - resp, _, err := d.client.ImageInspectWithRaw(ctx, ref, true) + resp, _, err := d.client.ImageInspectWithRaw(ctx, ref) if ctxErr := contextError(ctx); ctxErr != nil { return nil, ctxErr } @@ -231,7 +222,7 @@ func (d *kubeDockerClient) ImageHistory(id string) ([]dockertypes.ImageHistory, return resp, err } -func (d *kubeDockerClient) ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.Image, error) { +func (d *kubeDockerClient) ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.ImageSummary, error) { ctx, cancel := d.getTimeoutContext() defer cancel() images, err := d.client.ImageList(ctx, opts) @@ -429,7 +420,7 @@ func (d *kubeDockerClient) Info() (*dockertypes.Info, error) { } // TODO(random-liu): Add unit test for exec and attach functions, just like what go-dockerclient did. -func (d *kubeDockerClient) CreateExec(id string, opts dockertypes.ExecConfig) (*dockertypes.ContainerExecCreateResponse, error) { +func (d *kubeDockerClient) CreateExec(id string, opts dockertypes.ExecConfig) (*dockertypes.IDResponse, error) { ctx, cancel := d.getTimeoutContext() defer cancel() resp, err := d.client.ContainerExecCreate(ctx, id, opts) @@ -493,7 +484,7 @@ func (d *kubeDockerClient) AttachToContainer(id string, opts dockertypes.Contain return d.holdHijackedConnection(sopts.RawTerminal, sopts.InputStream, sopts.OutputStream, sopts.ErrorStream, resp) } -func (d *kubeDockerClient) ResizeExecTTY(id string, height, width int) error { +func (d *kubeDockerClient) ResizeExecTTY(id string, height, width uint) error { ctx, cancel := d.getCancelableContext() defer cancel() return d.client.ContainerExecResize(ctx, id, dockertypes.ResizeOptions{ @@ -502,7 +493,7 @@ func (d *kubeDockerClient) ResizeExecTTY(id string, height, width int) error { }) } -func (d *kubeDockerClient) ResizeContainerTTY(id string, height, width int) error { +func (d *kubeDockerClient) ResizeContainerTTY(id string, height, width uint) error { ctx, cancel := d.getCancelableContext() defer cancel() return d.client.ContainerResize(ctx, id, dockertypes.ResizeOptions{ diff --git a/pkg/kubelet/dockershim/libdocker/legacy_test.go b/pkg/kubelet/dockershim/libdocker/legacy_test.go index 651b11e4d0b..0a9cc007932 100644 --- a/pkg/kubelet/dockershim/libdocker/legacy_test.go +++ b/pkg/kubelet/dockershim/libdocker/legacy_test.go @@ -21,7 +21,7 @@ import ( "hash/adler32" "testing" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "github.com/stretchr/testify/assert" "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" diff --git a/pkg/kubelet/dockershim/security_context.go b/pkg/kubelet/dockershim/security_context.go index 7c4fd57b85d..95a730dc03b 100644 --- a/pkg/kubelet/dockershim/security_context.go +++ b/pkg/kubelet/dockershim/security_context.go @@ -22,7 +22,7 @@ import ( "strings" "github.com/blang/semver" - dockercontainer "github.com/docker/engine-api/types/container" + dockercontainer "github.com/docker/docker/api/types/container" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime" knetwork "k8s.io/kubernetes/pkg/kubelet/network" diff --git a/pkg/kubelet/dockershim/security_context_test.go b/pkg/kubelet/dockershim/security_context_test.go index 067e5e79755..3a252f0d33d 100644 --- a/pkg/kubelet/dockershim/security_context_test.go +++ b/pkg/kubelet/dockershim/security_context_test.go @@ -22,7 +22,7 @@ import ( "testing" "github.com/blang/semver" - dockercontainer "github.com/docker/engine-api/types/container" + dockercontainer "github.com/docker/docker/api/types/container" "github.com/stretchr/testify/assert" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime" diff --git a/pkg/kubelet/rkt/BUILD b/pkg/kubelet/rkt/BUILD index b6e597629ef..33f8ca2a865 100644 --- a/pkg/kubelet/rkt/BUILD +++ b/pkg/kubelet/rkt/BUILD @@ -46,7 +46,7 @@ go_library( "//vendor/github.com/coreos/go-systemd/dbus:go_default_library", "//vendor/github.com/coreos/go-systemd/unit:go_default_library", "//vendor/github.com/coreos/rkt/api/v1alpha:go_default_library", - "//vendor/github.com/docker/engine-api/types:go_default_library", + "//vendor/github.com/docker/docker/api/types:go_default_library", "//vendor/github.com/golang/glog:go_default_library", "//vendor/golang.org/x/net/context:go_default_library", "//vendor/google.golang.org/grpc:go_default_library", diff --git a/pkg/kubelet/rkt/image.go b/pkg/kubelet/rkt/image.go index 6733bc3246c..225604c6129 100644 --- a/pkg/kubelet/rkt/image.go +++ b/pkg/kubelet/rkt/image.go @@ -30,7 +30,7 @@ import ( appcschema "github.com/appc/spec/schema" appctypes "github.com/appc/spec/schema/types" rktapi "github.com/coreos/rkt/api/v1alpha" - dockertypes "github.com/docker/engine-api/types" + dockertypes "github.com/docker/docker/api/types" "github.com/golang/glog" "golang.org/x/net/context" "k8s.io/api/core/v1" diff --git a/test/e2e_node/system/BUILD b/test/e2e_node/system/BUILD index 146bdd9e804..57c0847ebeb 100644 --- a/test/e2e_node/system/BUILD +++ b/test/e2e_node/system/BUILD @@ -23,8 +23,8 @@ go_library( tags = ["automanaged"], deps = [ "//vendor/github.com/blang/semver:go_default_library", - "//vendor/github.com/docker/engine-api/client:go_default_library", - "//vendor/github.com/docker/engine-api/types:go_default_library", + "//vendor/github.com/docker/docker/api/types:go_default_library", + "//vendor/github.com/docker/docker/client:go_default_library", "//vendor/github.com/golang/glog:go_default_library", "//vendor/golang.org/x/net/context:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library", @@ -43,7 +43,7 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//vendor/github.com/docker/engine-api/types:go_default_library", + "//vendor/github.com/docker/docker/api/types:go_default_library", "//vendor/github.com/stretchr/testify/assert:go_default_library", ], ) diff --git a/test/e2e_node/system/docker_validator.go b/test/e2e_node/system/docker_validator.go index 3799b04f0f9..6e53c4a279b 100644 --- a/test/e2e_node/system/docker_validator.go +++ b/test/e2e_node/system/docker_validator.go @@ -20,8 +20,8 @@ import ( "fmt" "regexp" - "github.com/docker/engine-api/client" - "github.com/docker/engine-api/types" + "github.com/docker/docker/api/types" + "github.com/docker/docker/client" "golang.org/x/net/context" ) diff --git a/test/e2e_node/system/docker_validator_test.go b/test/e2e_node/system/docker_validator_test.go index bff47ce1138..5902323d6ff 100644 --- a/test/e2e_node/system/docker_validator_test.go +++ b/test/e2e_node/system/docker_validator_test.go @@ -19,7 +19,7 @@ package system import ( "testing" - "github.com/docker/engine-api/types" + "github.com/docker/docker/api/types" "github.com/stretchr/testify/assert" )