Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
3918eee5
Commit
3918eee5
authored
Apr 06, 2016
by
Harry Zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor InspectImage method
parent
7ecb44fe
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
20 additions
and
19 deletions
+20
-19
docker.go
pkg/kubelet/dockertools/docker.go
+1
-1
docker_test.go
pkg/kubelet/dockertools/docker_test.go
+1
-1
fake_docker_client.go
pkg/kubelet/dockertools/fake_docker_client.go
+2
-2
instrumented_docker.go
pkg/kubelet/dockertools/instrumented_docker.go
+1
-1
kube_docker_client.go
pkg/kubelet/dockertools/kube_docker_client.go
+2
-2
manager_test.go
pkg/kubelet/dockertools/manager_test.go
+13
-12
No files found.
pkg/kubelet/dockertools/docker.go
View file @
3918eee5
...
...
@@ -64,7 +64,7 @@ type DockerInterface interface {
StartContainer
(
id
string
)
error
StopContainer
(
id
string
,
timeout
int
)
error
RemoveContainer
(
id
string
,
opts
dockertypes
.
ContainerRemoveOptions
)
error
InspectImage
(
image
string
)
(
*
docker
.
Image
,
error
)
InspectImage
(
image
string
)
(
*
docker
types
.
ImageInspect
,
error
)
ListImages
(
opts
dockertypes
.
ImageListOptions
)
([]
dockertypes
.
Image
,
error
)
PullImage
(
opts
docker
.
PullImageOptions
,
auth
docker
.
AuthConfiguration
)
error
RemoveImage
(
image
string
)
error
...
...
pkg/kubelet/dockertools/docker_test.go
View file @
3918eee5
...
...
@@ -471,7 +471,7 @@ type imageTrackingDockerClient struct {
imageName
string
}
func
(
f
*
imageTrackingDockerClient
)
InspectImage
(
name
string
)
(
image
*
docker
.
Image
,
err
error
)
{
func
(
f
*
imageTrackingDockerClient
)
InspectImage
(
name
string
)
(
image
*
docker
types
.
ImageInspect
,
err
error
)
{
image
,
err
=
f
.
FakeDockerClient
.
InspectImage
(
name
)
f
.
imageName
=
name
return
...
...
pkg/kubelet/dockertools/fake_docker_client.go
View file @
3918eee5
...
...
@@ -40,7 +40,7 @@ type FakeDockerClient struct {
RunningContainerList
[]
dockertypes
.
Container
ExitedContainerList
[]
dockertypes
.
Container
ContainerMap
map
[
string
]
*
dockertypes
.
ContainerJSON
Image
*
docker
.
Image
Image
*
docker
types
.
ImageInspect
Images
[]
dockertypes
.
Image
Errors
map
[
string
]
error
called
[]
string
...
...
@@ -282,7 +282,7 @@ func (f *FakeDockerClient) InspectContainer(id string) (*dockertypes.ContainerJS
// InspectImage is a test-spy implementation of DockerInterface.InspectImage.
// 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
)
(
*
docker
types
.
ImageInspect
,
error
)
{
f
.
Lock
()
defer
f
.
Unlock
()
f
.
called
=
append
(
f
.
called
,
"inspect_image"
)
...
...
pkg/kubelet/dockertools/instrumented_docker.go
View file @
3918eee5
...
...
@@ -103,7 +103,7 @@ func (in instrumentedDockerInterface) RemoveContainer(id string, opts dockertype
return
err
}
func
(
in
instrumentedDockerInterface
)
InspectImage
(
image
string
)
(
*
docker
.
Image
,
error
)
{
func
(
in
instrumentedDockerInterface
)
InspectImage
(
image
string
)
(
*
docker
types
.
ImageInspect
,
error
)
{
const
operation
=
"inspect_image"
defer
recordOperation
(
operation
,
time
.
Now
())
...
...
pkg/kubelet/dockertools/kube_docker_client.go
View file @
3918eee5
...
...
@@ -141,7 +141,7 @@ func (d *kubeDockerClient) RemoveContainer(id string, opts dockertypes.Container
return
d
.
client
.
ContainerRemove
(
getDefaultContext
(),
opts
)
}
func
(
d
*
kubeDockerClient
)
InspectImage
(
image
string
)
(
*
docker
.
Image
,
error
)
{
func
(
d
*
kubeDockerClient
)
InspectImage
(
image
string
)
(
*
docker
types
.
ImageInspect
,
error
)
{
resp
,
_
,
err
:=
d
.
client
.
ImageInspectWithRaw
(
getDefaultContext
(),
image
,
true
)
if
err
!=
nil
{
// TODO(random-liu): Use IsErrImageNotFound instead of ErrNoSuchImage
...
...
@@ -150,7 +150,7 @@ func (d *kubeDockerClient) InspectImage(image string) (*docker.Image, error) {
}
return
nil
,
err
}
imageInfo
:=
&
docker
.
Image
{}
imageInfo
:=
&
docker
types
.
ImageInspect
{}
if
err
:=
convertType
(
&
resp
,
imageInfo
);
err
!=
nil
{
return
nil
,
err
}
...
...
pkg/kubelet/dockertools/manager_test.go
View file @
3918eee5
...
...
@@ -30,6 +30,7 @@ import (
"time"
dockertypes
"github.com/docker/engine-api/types"
containertypes
"github.com/docker/engine-api/types/container"
dockercontainer
"github.com/docker/engine-api/types/container"
dockerstrslice
"github.com/docker/engine-api/types/strslice"
docker
"github.com/fsouza/go-dockerclient"
...
...
@@ -1415,7 +1416,7 @@ func TestVerifyNonRoot(t *testing.T) {
tests
:=
map
[
string
]
struct
{
container
*
api
.
Container
inspectImage
*
docker
.
Image
inspectImage
*
docker
types
.
ImageInspect
expectedError
string
}{
// success cases
...
...
@@ -1428,16 +1429,16 @@ func TestVerifyNonRoot(t *testing.T) {
},
"numeric non-root image user"
:
{
container
:
&
api
.
Container
{},
inspectImage
:
&
docker
.
Image
{
Config
:
&
docker
.
Config
{
inspectImage
:
&
docker
types
.
ImageInspect
{
Config
:
&
containertypes
.
Config
{
User
:
"1"
,
},
},
},
"numeric non-root image user with gid"
:
{
container
:
&
api
.
Container
{},
inspectImage
:
&
docker
.
Image
{
Config
:
&
docker
.
Config
{
inspectImage
:
&
docker
types
.
ImageInspect
{
Config
:
&
containertypes
.
Config
{
User
:
"1:2"
,
},
},
...
...
@@ -1454,8 +1455,8 @@ func TestVerifyNonRoot(t *testing.T) {
},
"non-numeric image user"
:
{
container
:
&
api
.
Container
{},
inspectImage
:
&
docker
.
Image
{
Config
:
&
docker
.
Config
{
inspectImage
:
&
docker
types
.
ImageInspect
{
Config
:
&
containertypes
.
Config
{
User
:
"foo"
,
},
},
...
...
@@ -1463,8 +1464,8 @@ func TestVerifyNonRoot(t *testing.T) {
},
"numeric root image user"
:
{
container
:
&
api
.
Container
{},
inspectImage
:
&
docker
.
Image
{
Config
:
&
docker
.
Config
{
inspectImage
:
&
docker
types
.
ImageInspect
{
Config
:
&
containertypes
.
Config
{
User
:
"0"
,
},
},
...
...
@@ -1472,8 +1473,8 @@ func TestVerifyNonRoot(t *testing.T) {
},
"numeric root image user with gid"
:
{
container
:
&
api
.
Container
{},
inspectImage
:
&
docker
.
Image
{
Config
:
&
docker
.
Config
{
inspectImage
:
&
docker
types
.
ImageInspect
{
Config
:
&
containertypes
.
Config
{
User
:
"0:1"
,
},
},
...
...
@@ -1485,7 +1486,7 @@ func TestVerifyNonRoot(t *testing.T) {
},
"nil config in image inspect"
:
{
container
:
&
api
.
Container
{},
inspectImage
:
&
docker
.
Image
{},
inspectImage
:
&
docker
types
.
ImageInspect
{},
expectedError
:
"unable to inspect image"
,
},
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment