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
e9139bb0
Commit
e9139bb0
authored
Jan 28, 2016
by
Yifan Gu
Committed by
Jonathan Boulle
Feb 03, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kubelet: Rename RunContainerOptionsGenerator to RuntimeHelper.
Also add GetClusterDNS() to the interface to let rkt get the DNS servers, DNS names.
parent
251ea324
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
24 additions
and
18 deletions
+24
-18
helpers.go
pkg/kubelet/container/helpers.go
+4
-3
fake_manager.go
pkg/kubelet/dockertools/fake_manager.go
+2
-2
manager.go
pkg/kubelet/dockertools/manager.go
+5
-5
manager_test.go
pkg/kubelet/dockertools/manager_test.go
+10
-5
kubelet.go
pkg/kubelet/kubelet.go
+3
-3
No files found.
pkg/kubelet/container/helpers.go
View file @
e9139bb0
...
@@ -36,10 +36,11 @@ type HandlerRunner interface {
...
@@ -36,10 +36,11 @@ type HandlerRunner interface {
Run
(
containerID
ContainerID
,
pod
*
api
.
Pod
,
container
*
api
.
Container
,
handler
*
api
.
Handler
)
error
Run
(
containerID
ContainerID
,
pod
*
api
.
Pod
,
container
*
api
.
Container
,
handler
*
api
.
Handler
)
error
}
}
// Run
ContainerOptionsGenerator generates the options that necessary for
// Run
timeHelper wraps kubelet to make container runtime
//
container runtime to run a container
.
//
able to get necessary informations like the RunContainerOptions, DNS settings
.
type
Run
ContainerOptionsGenerato
r
interface
{
type
Run
timeHelpe
r
interface
{
GenerateRunContainerOptions
(
pod
*
api
.
Pod
,
container
*
api
.
Container
)
(
*
RunContainerOptions
,
error
)
GenerateRunContainerOptions
(
pod
*
api
.
Pod
,
container
*
api
.
Container
)
(
*
RunContainerOptions
,
error
)
GetClusterDNS
(
pod
*
api
.
Pod
)
(
dnsServers
[]
string
,
dnsSearches
[]
string
,
err
error
)
}
}
// ShouldContainerBeRestarted checks whether a container needs to be restarted.
// ShouldContainerBeRestarted checks whether a container needs to be restarted.
...
...
pkg/kubelet/dockertools/fake_manager.go
View file @
e9139bb0
...
@@ -40,13 +40,13 @@ func NewFakeDockerManager(
...
@@ -40,13 +40,13 @@ func NewFakeDockerManager(
containerLogsDir
string
,
containerLogsDir
string
,
osInterface
kubecontainer
.
OSInterface
,
osInterface
kubecontainer
.
OSInterface
,
networkPlugin
network
.
NetworkPlugin
,
networkPlugin
network
.
NetworkPlugin
,
generator
kubecontainer
.
RunContainerOptionsGenerato
r
,
runtimeHelper
kubecontainer
.
RuntimeHelpe
r
,
httpClient
kubetypes
.
HttpGetter
,
imageBackOff
*
util
.
Backoff
)
*
DockerManager
{
httpClient
kubetypes
.
HttpGetter
,
imageBackOff
*
util
.
Backoff
)
*
DockerManager
{
fakeOOMAdjuster
:=
oom
.
NewFakeOOMAdjuster
()
fakeOOMAdjuster
:=
oom
.
NewFakeOOMAdjuster
()
fakeProcFs
:=
procfs
.
NewFakeProcFS
()
fakeProcFs
:=
procfs
.
NewFakeProcFS
()
dm
:=
NewDockerManager
(
client
,
recorder
,
livenessManager
,
containerRefManager
,
machineInfo
,
podInfraContainerImage
,
qps
,
dm
:=
NewDockerManager
(
client
,
recorder
,
livenessManager
,
containerRefManager
,
machineInfo
,
podInfraContainerImage
,
qps
,
burst
,
containerLogsDir
,
osInterface
,
networkPlugin
,
generato
r
,
httpClient
,
&
NativeExecHandler
{},
burst
,
containerLogsDir
,
osInterface
,
networkPlugin
,
runtimeHelpe
r
,
httpClient
,
&
NativeExecHandler
{},
fakeOOMAdjuster
,
fakeProcFs
,
false
,
imageBackOff
,
true
)
fakeOOMAdjuster
,
fakeProcFs
,
false
,
imageBackOff
,
true
)
dm
.
dockerPuller
=
&
FakeDockerPuller
{}
dm
.
dockerPuller
=
&
FakeDockerPuller
{}
return
dm
return
dm
...
...
pkg/kubelet/dockertools/manager.go
View file @
e9139bb0
...
@@ -129,8 +129,8 @@ type DockerManager struct {
...
@@ -129,8 +129,8 @@ type DockerManager struct {
// Health check results.
// Health check results.
livenessManager
proberesults
.
Manager
livenessManager
proberesults
.
Manager
//
Generator of
runtime container options.
//
RuntimeHelper that wraps kubelet to generate
runtime container options.
generator
kubecontainer
.
RunContainerOptionsGenerato
r
runtimeHelper
kubecontainer
.
RuntimeHelpe
r
// Runner of lifecycle events.
// Runner of lifecycle events.
runner
kubecontainer
.
HandlerRunner
runner
kubecontainer
.
HandlerRunner
...
@@ -163,7 +163,7 @@ func NewDockerManager(
...
@@ -163,7 +163,7 @@ func NewDockerManager(
containerLogsDir
string
,
containerLogsDir
string
,
osInterface
kubecontainer
.
OSInterface
,
osInterface
kubecontainer
.
OSInterface
,
networkPlugin
network
.
NetworkPlugin
,
networkPlugin
network
.
NetworkPlugin
,
generator
kubecontainer
.
RunContainerOptionsGenerato
r
,
runtimeHelper
kubecontainer
.
RuntimeHelpe
r
,
httpClient
kubetypes
.
HttpGetter
,
httpClient
kubetypes
.
HttpGetter
,
execHandler
ExecHandler
,
execHandler
ExecHandler
,
oomAdjuster
*
oom
.
OOMAdjuster
,
oomAdjuster
*
oom
.
OOMAdjuster
,
...
@@ -217,7 +217,7 @@ func NewDockerManager(
...
@@ -217,7 +217,7 @@ func NewDockerManager(
containerLogsDir
:
containerLogsDir
,
containerLogsDir
:
containerLogsDir
,
networkPlugin
:
networkPlugin
,
networkPlugin
:
networkPlugin
,
livenessManager
:
livenessManager
,
livenessManager
:
livenessManager
,
generator
:
generato
r
,
runtimeHelper
:
runtimeHelpe
r
,
execHandler
:
execHandler
,
execHandler
:
execHandler
,
oomAdjuster
:
oomAdjuster
,
oomAdjuster
:
oomAdjuster
,
procFs
:
procFs
,
procFs
:
procFs
,
...
@@ -1533,7 +1533,7 @@ func (dm *DockerManager) runContainerInPod(pod *api.Pod, container *api.Containe
...
@@ -1533,7 +1533,7 @@ func (dm *DockerManager) runContainerInPod(pod *api.Pod, container *api.Containe
glog
.
Errorf
(
"Can't make a ref to pod %v, container %v: '%v'"
,
pod
.
Name
,
container
.
Name
,
err
)
glog
.
Errorf
(
"Can't make a ref to pod %v, container %v: '%v'"
,
pod
.
Name
,
container
.
Name
,
err
)
}
}
opts
,
err
:=
dm
.
generato
r
.
GenerateRunContainerOptions
(
pod
,
container
)
opts
,
err
:=
dm
.
runtimeHelpe
r
.
GenerateRunContainerOptions
(
pod
,
container
)
if
err
!=
nil
{
if
err
!=
nil
{
return
kubecontainer
.
ContainerID
{},
fmt
.
Errorf
(
"GenerateRunContainerOptions: %v"
,
err
)
return
kubecontainer
.
ContainerID
{},
fmt
.
Errorf
(
"GenerateRunContainerOptions: %v"
,
err
)
}
}
...
...
pkg/kubelet/dockertools/manager_test.go
View file @
e9139bb0
...
@@ -58,13 +58,15 @@ func (f *fakeHTTP) Get(url string) (*http.Response, error) {
...
@@ -58,13 +58,15 @@ func (f *fakeHTTP) Get(url string) (*http.Response, error) {
return
nil
,
f
.
err
return
nil
,
f
.
err
}
}
type
fakeOptionGenerator
struct
{}
// fakeRuntimeHelper implementes kubecontainer.RuntimeHelper inter
// faces for testing purposes.
type
fakeRuntimeHelper
struct
{}
var
_
kubecontainer
.
Run
ContainerOptionsGenerator
=
&
fakeOptionGenerato
r
{}
var
_
kubecontainer
.
Run
timeHelper
=
&
fakeRuntimeHelpe
r
{}
var
testPodContainerDir
string
var
testPodContainerDir
string
func
(
*
fakeOptionGenerato
r
)
GenerateRunContainerOptions
(
pod
*
api
.
Pod
,
container
*
api
.
Container
)
(
*
kubecontainer
.
RunContainerOptions
,
error
)
{
func
(
f
*
fakeRuntimeHelpe
r
)
GenerateRunContainerOptions
(
pod
*
api
.
Pod
,
container
*
api
.
Container
)
(
*
kubecontainer
.
RunContainerOptions
,
error
)
{
var
opts
kubecontainer
.
RunContainerOptions
var
opts
kubecontainer
.
RunContainerOptions
var
err
error
var
err
error
if
len
(
container
.
TerminationMessagePath
)
!=
0
{
if
len
(
container
.
TerminationMessagePath
)
!=
0
{
...
@@ -77,12 +79,15 @@ func (*fakeOptionGenerator) GenerateRunContainerOptions(pod *api.Pod, container
...
@@ -77,12 +79,15 @@ func (*fakeOptionGenerator) GenerateRunContainerOptions(pod *api.Pod, container
return
&
opts
,
nil
return
&
opts
,
nil
}
}
func
(
f
*
fakeRuntimeHelper
)
GetClusterDNS
(
pod
*
api
.
Pod
)
([]
string
,
[]
string
,
error
)
{
return
nil
,
nil
,
fmt
.
Errorf
(
"not implemented"
)
}
func
newTestDockerManagerWithHTTPClient
(
fakeHTTPClient
*
fakeHTTP
)
(
*
DockerManager
,
*
FakeDockerClient
)
{
func
newTestDockerManagerWithHTTPClient
(
fakeHTTPClient
*
fakeHTTP
)
(
*
DockerManager
,
*
FakeDockerClient
)
{
fakeDocker
:=
NewFakeDockerClient
()
fakeDocker
:=
NewFakeDockerClient
()
fakeRecorder
:=
&
record
.
FakeRecorder
{}
fakeRecorder
:=
&
record
.
FakeRecorder
{}
containerRefManager
:=
kubecontainer
.
NewRefManager
()
containerRefManager
:=
kubecontainer
.
NewRefManager
()
networkPlugin
,
_
:=
network
.
InitNetworkPlugin
([]
network
.
NetworkPlugin
{},
""
,
network
.
NewFakeHost
(
nil
))
networkPlugin
,
_
:=
network
.
InitNetworkPlugin
([]
network
.
NetworkPlugin
{},
""
,
network
.
NewFakeHost
(
nil
))
optionGenerator
:=
&
fakeOptionGenerator
{}
dockerManager
:=
NewFakeDockerManager
(
dockerManager
:=
NewFakeDockerManager
(
fakeDocker
,
fakeDocker
,
fakeRecorder
,
fakeRecorder
,
...
@@ -93,7 +98,7 @@ func newTestDockerManagerWithHTTPClient(fakeHTTPClient *fakeHTTP) (*DockerManage
...
@@ -93,7 +98,7 @@ func newTestDockerManagerWithHTTPClient(fakeHTTPClient *fakeHTTP) (*DockerManage
0
,
0
,
""
,
0
,
0
,
""
,
kubecontainer
.
FakeOS
{},
kubecontainer
.
FakeOS
{},
networkPlugin
,
networkPlugin
,
optionGenerator
,
&
fakeRuntimeHelper
{}
,
fakeHTTPClient
,
fakeHTTPClient
,
util
.
NewBackOff
(
time
.
Second
,
300
*
time
.
Second
))
util
.
NewBackOff
(
time
.
Second
,
300
*
time
.
Second
))
...
...
pkg/kubelet/kubelet.go
View file @
e9139bb0
...
@@ -1288,7 +1288,7 @@ func (kl *Kubelet) GenerateRunContainerOptions(pod *api.Pod, container *api.Cont
...
@@ -1288,7 +1288,7 @@ func (kl *Kubelet) GenerateRunContainerOptions(pod *api.Pod, container *api.Cont
}
}
}
}
opts
.
DNS
,
opts
.
DNSSearch
,
err
=
kl
.
g
etClusterDNS
(
pod
)
opts
.
DNS
,
opts
.
DNSSearch
,
err
=
kl
.
G
etClusterDNS
(
pod
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
@@ -1457,9 +1457,9 @@ func (kl *Kubelet) podFieldSelectorRuntimeValue(fs *api.ObjectFieldSelector, pod
...
@@ -1457,9 +1457,9 @@ func (kl *Kubelet) podFieldSelectorRuntimeValue(fs *api.ObjectFieldSelector, pod
return
fieldpath
.
ExtractFieldPathAsString
(
pod
,
internalFieldPath
)
return
fieldpath
.
ExtractFieldPathAsString
(
pod
,
internalFieldPath
)
}
}
//
g
etClusterDNS returns a list of the DNS servers and a list of the DNS search
//
G
etClusterDNS returns a list of the DNS servers and a list of the DNS search
// domains of the cluster.
// domains of the cluster.
func
(
kl
*
Kubelet
)
g
etClusterDNS
(
pod
*
api
.
Pod
)
([]
string
,
[]
string
,
error
)
{
func
(
kl
*
Kubelet
)
G
etClusterDNS
(
pod
*
api
.
Pod
)
([]
string
,
[]
string
,
error
)
{
var
hostDNS
,
hostSearch
[]
string
var
hostDNS
,
hostSearch
[]
string
// Get host DNS settings
// Get host DNS settings
if
kl
.
resolverConfig
!=
""
{
if
kl
.
resolverConfig
!=
""
{
...
...
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