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
eeeccd0a
Commit
eeeccd0a
authored
Apr 01, 2016
by
derekwaynecarr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
A pod never terminated if a container image registry was unavailable
parent
5e159695
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
4 additions
and
3 deletions
+4
-3
image_puller.go
pkg/kubelet/container/image_puller.go
+1
-1
serialized_image_puller.go
pkg/kubelet/container/serialized_image_puller.go
+1
-1
kubelet.go
pkg/kubelet/kubelet.go
+2
-1
No files found.
pkg/kubelet/container/image_puller.go
View file @
eeeccd0a
...
@@ -110,7 +110,7 @@ func (puller *imagePuller) PullImage(pod *api.Pod, container *api.Container, pul
...
@@ -110,7 +110,7 @@ func (puller *imagePuller) PullImage(pod *api.Pod, container *api.Container, pul
puller
.
logIt
(
ref
,
api
.
EventTypeWarning
,
"Failed"
,
logPrefix
,
fmt
.
Sprintf
(
"Failed to pull image %q: %v"
,
container
.
Image
,
err
),
glog
.
Warning
)
puller
.
logIt
(
ref
,
api
.
EventTypeWarning
,
"Failed"
,
logPrefix
,
fmt
.
Sprintf
(
"Failed to pull image %q: %v"
,
container
.
Image
,
err
),
glog
.
Warning
)
puller
.
backOff
.
Next
(
backOffKey
,
puller
.
backOff
.
Clock
.
Now
())
puller
.
backOff
.
Next
(
backOffKey
,
puller
.
backOff
.
Clock
.
Now
())
if
err
==
RegistryUnavailable
{
if
err
==
RegistryUnavailable
{
msg
:=
fmt
.
Sprintf
(
"image pull failed for %s because the registry is
temporarily
unavailable."
,
container
.
Image
)
msg
:=
fmt
.
Sprintf
(
"image pull failed for %s because the registry is unavailable."
,
container
.
Image
)
return
err
,
msg
return
err
,
msg
}
else
{
}
else
{
return
ErrImagePull
,
err
.
Error
()
return
ErrImagePull
,
err
.
Error
()
...
...
pkg/kubelet/container/serialized_image_puller.go
View file @
eeeccd0a
...
@@ -122,7 +122,7 @@ func (puller *serializedImagePuller) PullImage(pod *api.Pod, container *api.Cont
...
@@ -122,7 +122,7 @@ func (puller *serializedImagePuller) PullImage(pod *api.Pod, container *api.Cont
puller
.
logIt
(
ref
,
api
.
EventTypeWarning
,
FailedToPullImage
,
logPrefix
,
fmt
.
Sprintf
(
"Failed to pull image %q: %v"
,
container
.
Image
,
err
),
glog
.
Warning
)
puller
.
logIt
(
ref
,
api
.
EventTypeWarning
,
FailedToPullImage
,
logPrefix
,
fmt
.
Sprintf
(
"Failed to pull image %q: %v"
,
container
.
Image
,
err
),
glog
.
Warning
)
puller
.
backOff
.
Next
(
backOffKey
,
puller
.
backOff
.
Clock
.
Now
())
puller
.
backOff
.
Next
(
backOffKey
,
puller
.
backOff
.
Clock
.
Now
())
if
err
==
RegistryUnavailable
{
if
err
==
RegistryUnavailable
{
msg
:=
fmt
.
Sprintf
(
"image pull failed for %s because the registry is
temporarily
unavailable."
,
container
.
Image
)
msg
:=
fmt
.
Sprintf
(
"image pull failed for %s because the registry is unavailable."
,
container
.
Image
)
return
err
,
msg
return
err
,
msg
}
else
{
}
else
{
return
ErrImagePull
,
err
.
Error
()
return
ErrImagePull
,
err
.
Error
()
...
...
pkg/kubelet/kubelet.go
View file @
eeeccd0a
...
@@ -3392,7 +3392,8 @@ func (kl *Kubelet) convertStatusToAPIStatus(pod *api.Pod, podStatus *kubecontain
...
@@ -3392,7 +3392,8 @@ func (kl *Kubelet) convertStatusToAPIStatus(pod *api.Pod, podStatus *kubecontain
}
else
if
reason
==
kubecontainer
.
ErrImagePullBackOff
||
}
else
if
reason
==
kubecontainer
.
ErrImagePullBackOff
||
reason
==
kubecontainer
.
ErrImageInspect
||
reason
==
kubecontainer
.
ErrImageInspect
||
reason
==
kubecontainer
.
ErrImagePull
||
reason
==
kubecontainer
.
ErrImagePull
||
reason
==
kubecontainer
.
ErrImageNeverPull
{
reason
==
kubecontainer
.
ErrImageNeverPull
||
reason
==
kubecontainer
.
RegistryUnavailable
{
// mark it as waiting, reason will be filled bellow
// mark it as waiting, reason will be filled bellow
containerStatus
.
State
=
api
.
ContainerState
{
Waiting
:
&
api
.
ContainerStateWaiting
{}}
containerStatus
.
State
=
api
.
ContainerState
{
Waiting
:
&
api
.
ContainerStateWaiting
{}}
}
else
if
reason
==
kubecontainer
.
ErrRunContainer
{
}
else
if
reason
==
kubecontainer
.
ErrRunContainer
{
...
...
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