mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-13 13:55:41 +00:00
Refactor InspectImage method
This commit is contained in:
parent
7ecb44fe16
commit
3918eee5bf
@ -64,7 +64,7 @@ type DockerInterface interface {
|
|||||||
StartContainer(id string) error
|
StartContainer(id string) error
|
||||||
StopContainer(id string, timeout int) error
|
StopContainer(id string, timeout int) error
|
||||||
RemoveContainer(id string, opts dockertypes.ContainerRemoveOptions) error
|
RemoveContainer(id string, opts dockertypes.ContainerRemoveOptions) error
|
||||||
InspectImage(image string) (*docker.Image, error)
|
InspectImage(image string) (*dockertypes.ImageInspect, error)
|
||||||
ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.Image, error)
|
ListImages(opts dockertypes.ImageListOptions) ([]dockertypes.Image, error)
|
||||||
PullImage(opts docker.PullImageOptions, auth docker.AuthConfiguration) error
|
PullImage(opts docker.PullImageOptions, auth docker.AuthConfiguration) error
|
||||||
RemoveImage(image string) error
|
RemoveImage(image string) error
|
||||||
|
@ -471,7 +471,7 @@ type imageTrackingDockerClient struct {
|
|||||||
imageName string
|
imageName string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *imageTrackingDockerClient) InspectImage(name string) (image *docker.Image, err error) {
|
func (f *imageTrackingDockerClient) InspectImage(name string) (image *dockertypes.ImageInspect, err error) {
|
||||||
image, err = f.FakeDockerClient.InspectImage(name)
|
image, err = f.FakeDockerClient.InspectImage(name)
|
||||||
f.imageName = name
|
f.imageName = name
|
||||||
return
|
return
|
||||||
|
@ -40,7 +40,7 @@ type FakeDockerClient struct {
|
|||||||
RunningContainerList []dockertypes.Container
|
RunningContainerList []dockertypes.Container
|
||||||
ExitedContainerList []dockertypes.Container
|
ExitedContainerList []dockertypes.Container
|
||||||
ContainerMap map[string]*dockertypes.ContainerJSON
|
ContainerMap map[string]*dockertypes.ContainerJSON
|
||||||
Image *docker.Image
|
Image *dockertypes.ImageInspect
|
||||||
Images []dockertypes.Image
|
Images []dockertypes.Image
|
||||||
Errors map[string]error
|
Errors map[string]error
|
||||||
called []string
|
called []string
|
||||||
@ -282,7 +282,7 @@ func (f *FakeDockerClient) InspectContainer(id string) (*dockertypes.ContainerJS
|
|||||||
|
|
||||||
// InspectImage is a test-spy implementation of DockerInterface.InspectImage.
|
// InspectImage is a test-spy implementation of DockerInterface.InspectImage.
|
||||||
// It adds an entry "inspect" to the internal method call record.
|
// It adds an entry "inspect" to the internal method call record.
|
||||||
func (f *FakeDockerClient) InspectImage(name string) (*docker.Image, error) {
|
func (f *FakeDockerClient) InspectImage(name string) (*dockertypes.ImageInspect, error) {
|
||||||
f.Lock()
|
f.Lock()
|
||||||
defer f.Unlock()
|
defer f.Unlock()
|
||||||
f.called = append(f.called, "inspect_image")
|
f.called = append(f.called, "inspect_image")
|
||||||
|
@ -103,7 +103,7 @@ func (in instrumentedDockerInterface) RemoveContainer(id string, opts dockertype
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (in instrumentedDockerInterface) InspectImage(image string) (*docker.Image, error) {
|
func (in instrumentedDockerInterface) InspectImage(image string) (*dockertypes.ImageInspect, error) {
|
||||||
const operation = "inspect_image"
|
const operation = "inspect_image"
|
||||||
defer recordOperation(operation, time.Now())
|
defer recordOperation(operation, time.Now())
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ func (d *kubeDockerClient) RemoveContainer(id string, opts dockertypes.Container
|
|||||||
return d.client.ContainerRemove(getDefaultContext(), opts)
|
return d.client.ContainerRemove(getDefaultContext(), opts)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *kubeDockerClient) InspectImage(image string) (*docker.Image, error) {
|
func (d *kubeDockerClient) InspectImage(image string) (*dockertypes.ImageInspect, error) {
|
||||||
resp, _, err := d.client.ImageInspectWithRaw(getDefaultContext(), image, true)
|
resp, _, err := d.client.ImageInspectWithRaw(getDefaultContext(), image, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// TODO(random-liu): Use IsErrImageNotFound instead of ErrNoSuchImage
|
// TODO(random-liu): Use IsErrImageNotFound instead of ErrNoSuchImage
|
||||||
@ -150,7 +150,7 @@ func (d *kubeDockerClient) InspectImage(image string) (*docker.Image, error) {
|
|||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
imageInfo := &docker.Image{}
|
imageInfo := &dockertypes.ImageInspect{}
|
||||||
if err := convertType(&resp, imageInfo); err != nil {
|
if err := convertType(&resp, imageInfo); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
dockertypes "github.com/docker/engine-api/types"
|
dockertypes "github.com/docker/engine-api/types"
|
||||||
|
containertypes "github.com/docker/engine-api/types/container"
|
||||||
dockercontainer "github.com/docker/engine-api/types/container"
|
dockercontainer "github.com/docker/engine-api/types/container"
|
||||||
dockerstrslice "github.com/docker/engine-api/types/strslice"
|
dockerstrslice "github.com/docker/engine-api/types/strslice"
|
||||||
docker "github.com/fsouza/go-dockerclient"
|
docker "github.com/fsouza/go-dockerclient"
|
||||||
@ -1415,7 +1416,7 @@ func TestVerifyNonRoot(t *testing.T) {
|
|||||||
|
|
||||||
tests := map[string]struct {
|
tests := map[string]struct {
|
||||||
container *api.Container
|
container *api.Container
|
||||||
inspectImage *docker.Image
|
inspectImage *dockertypes.ImageInspect
|
||||||
expectedError string
|
expectedError string
|
||||||
}{
|
}{
|
||||||
// success cases
|
// success cases
|
||||||
@ -1428,16 +1429,16 @@ func TestVerifyNonRoot(t *testing.T) {
|
|||||||
},
|
},
|
||||||
"numeric non-root image user": {
|
"numeric non-root image user": {
|
||||||
container: &api.Container{},
|
container: &api.Container{},
|
||||||
inspectImage: &docker.Image{
|
inspectImage: &dockertypes.ImageInspect{
|
||||||
Config: &docker.Config{
|
Config: &containertypes.Config{
|
||||||
User: "1",
|
User: "1",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"numeric non-root image user with gid": {
|
"numeric non-root image user with gid": {
|
||||||
container: &api.Container{},
|
container: &api.Container{},
|
||||||
inspectImage: &docker.Image{
|
inspectImage: &dockertypes.ImageInspect{
|
||||||
Config: &docker.Config{
|
Config: &containertypes.Config{
|
||||||
User: "1:2",
|
User: "1:2",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -1454,8 +1455,8 @@ func TestVerifyNonRoot(t *testing.T) {
|
|||||||
},
|
},
|
||||||
"non-numeric image user": {
|
"non-numeric image user": {
|
||||||
container: &api.Container{},
|
container: &api.Container{},
|
||||||
inspectImage: &docker.Image{
|
inspectImage: &dockertypes.ImageInspect{
|
||||||
Config: &docker.Config{
|
Config: &containertypes.Config{
|
||||||
User: "foo",
|
User: "foo",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -1463,8 +1464,8 @@ func TestVerifyNonRoot(t *testing.T) {
|
|||||||
},
|
},
|
||||||
"numeric root image user": {
|
"numeric root image user": {
|
||||||
container: &api.Container{},
|
container: &api.Container{},
|
||||||
inspectImage: &docker.Image{
|
inspectImage: &dockertypes.ImageInspect{
|
||||||
Config: &docker.Config{
|
Config: &containertypes.Config{
|
||||||
User: "0",
|
User: "0",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -1472,8 +1473,8 @@ func TestVerifyNonRoot(t *testing.T) {
|
|||||||
},
|
},
|
||||||
"numeric root image user with gid": {
|
"numeric root image user with gid": {
|
||||||
container: &api.Container{},
|
container: &api.Container{},
|
||||||
inspectImage: &docker.Image{
|
inspectImage: &dockertypes.ImageInspect{
|
||||||
Config: &docker.Config{
|
Config: &containertypes.Config{
|
||||||
User: "0:1",
|
User: "0:1",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -1485,7 +1486,7 @@ func TestVerifyNonRoot(t *testing.T) {
|
|||||||
},
|
},
|
||||||
"nil config in image inspect": {
|
"nil config in image inspect": {
|
||||||
container: &api.Container{},
|
container: &api.Container{},
|
||||||
inspectImage: &docker.Image{},
|
inspectImage: &dockertypes.ImageInspect{},
|
||||||
expectedError: "unable to inspect image",
|
expectedError: "unable to inspect image",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user