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
3bd7aafc
Commit
3bd7aafc
authored
Oct 10, 2015
by
k8s-merge-robot
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #15082 from samsabed/restartNever
Auto commit by PR queue bot
parents
d94307b7
e20d599a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
17 deletions
+21
-17
manager.go
pkg/kubelet/dockertools/manager.go
+21
-17
No files found.
pkg/kubelet/dockertools/manager.go
View file @
3bd7aafc
...
@@ -351,25 +351,35 @@ func (dm *DockerManager) inspectContainer(dockerID, containerName, tPath string,
...
@@ -351,25 +351,35 @@ func (dm *DockerManager) inspectContainer(dockerID, containerName, tPath string,
}
}
}
}
}
}
}
else
if
!
inspectResult
.
State
.
FinishedAt
.
IsZero
()
{
}
else
if
!
inspectResult
.
State
.
FinishedAt
.
IsZero
()
||
inspectResult
.
State
.
ExitCode
!=
0
{
// When a container fails to start State.ExitCode is non-zero, FinishedAt and StartedAt are both zero
reason
:=
""
reason
:=
""
message
:=
""
message
:=
inspectResult
.
State
.
Error
finishedAt
:=
unversioned
.
NewTime
(
inspectResult
.
State
.
FinishedAt
)
startedAt
:=
unversioned
.
NewTime
(
inspectResult
.
State
.
StartedAt
)
// Note: An application might handle OOMKilled gracefully.
// Note: An application might handle OOMKilled gracefully.
// In that case, the container is oom killed, but the exit
// In that case, the container is oom killed, but the exit
// code could be 0.
// code could be 0.
if
inspectResult
.
State
.
OOMKilled
{
if
inspectResult
.
State
.
OOMKilled
{
reason
=
"OOMKilled"
reason
=
"OOMKilled"
}
else
{
}
else
if
inspectResult
.
State
.
ExitCode
==
0
{
reason
=
"Completed"
}
else
if
!
inspectResult
.
State
.
FinishedAt
.
IsZero
()
{
reason
=
"Error"
reason
=
"Error"
message
=
inspectResult
.
State
.
Error
}
else
{
// finishedAt is zero and ExitCode is nonZero occurs when docker fails to start the container
reason
=
ErrContainerCannotRun
.
Error
()
// Adjust time to the time docker attempted to run the container, otherwise startedAt and finishedAt will be set to epoch, which is misleading
finishedAt
=
unversioned
.
NewTime
(
inspectResult
.
Created
)
startedAt
=
unversioned
.
NewTime
(
inspectResult
.
Created
)
}
}
result
.
status
.
State
.
Terminated
=
&
api
.
ContainerStateTerminated
{
result
.
status
.
State
.
Terminated
=
&
api
.
ContainerStateTerminated
{
ExitCode
:
inspectResult
.
State
.
ExitCode
,
ExitCode
:
inspectResult
.
State
.
ExitCode
,
Message
:
message
,
Message
:
message
,
Reason
:
reason
,
Reason
:
reason
,
StartedAt
:
startedAt
,
StartedAt
:
unversioned
.
NewTime
(
inspectResult
.
State
.
StartedAt
),
FinishedAt
:
finishedAt
,
FinishedAt
:
unversioned
.
NewTime
(
inspectResult
.
State
.
FinishedAt
),
ContainerID
:
DockerPrefix
+
dockerID
,
ContainerID
:
DockerPrefix
+
dockerID
,
}
}
if
tPath
!=
""
{
if
tPath
!=
""
{
...
@@ -383,13 +393,7 @@ func (dm *DockerManager) inspectContainer(dockerID, containerName, tPath string,
...
@@ -383,13 +393,7 @@ func (dm *DockerManager) inspectContainer(dockerID, containerName, tPath string,
}
}
}
}
}
}
}
else
{
// TODO(dchen1107): Separate issue docker/docker#8294 was filed
result
.
status
.
State
.
Waiting
=
&
api
.
ContainerStateWaiting
{
Reason
:
ErrContainerCannotRun
.
Error
(),
}
}
}
return
&
result
return
&
result
}
}
...
@@ -1962,7 +1966,7 @@ func (dm *DockerManager) doBackOff(pod *api.Pod, container *api.Container, podSt
...
@@ -1962,7 +1966,7 @@ func (dm *DockerManager) doBackOff(pod *api.Pod, container *api.Container, podSt
continue
continue
}
}
// first failure
// first failure
if
containerStatus
.
State
.
Terminated
!=
nil
{
if
containerStatus
.
State
.
Terminated
!=
nil
&&
!
containerStatus
.
State
.
Terminated
.
FinishedAt
.
IsZero
()
{
ts
=
containerStatus
.
State
.
Terminated
.
FinishedAt
ts
=
containerStatus
.
State
.
Terminated
.
FinishedAt
break
break
}
}
...
...
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