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
f707ca08
Commit
f707ca08
authored
Aug 28, 2015
by
Yu-Ju Hong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix incorrect restart count for docker containers
parent
35d05093
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
13 deletions
+16
-13
manager.go
pkg/kubelet/dockertools/manager.go
+16
-13
No files found.
pkg/kubelet/dockertools/manager.go
View file @
f707ca08
...
@@ -372,10 +372,14 @@ func (dm *DockerManager) GetPodStatus(pod *api.Pod) (*api.PodStatus, error) {
...
@@ -372,10 +372,14 @@ func (dm *DockerManager) GetPodStatus(pod *api.Pod) (*api.PodStatus, error) {
oldStatuses
:=
make
(
map
[
string
]
api
.
ContainerStatus
,
len
(
pod
.
Spec
.
Containers
))
oldStatuses
:=
make
(
map
[
string
]
api
.
ContainerStatus
,
len
(
pod
.
Spec
.
Containers
))
lastObservedTime
:=
make
(
map
[
string
]
util
.
Time
,
len
(
pod
.
Spec
.
Containers
))
lastObservedTime
:=
make
(
map
[
string
]
util
.
Time
,
len
(
pod
.
Spec
.
Containers
))
// Record the last time we observed a container termination.
for
_
,
status
:=
range
pod
.
Status
.
ContainerStatuses
{
for
_
,
status
:=
range
pod
.
Status
.
ContainerStatuses
{
oldStatuses
[
status
.
Name
]
=
status
oldStatuses
[
status
.
Name
]
=
status
if
status
.
LastTerminationState
.
Terminated
!=
nil
{
if
status
.
LastTerminationState
.
Terminated
!=
nil
{
lastObservedTime
[
status
.
Name
]
=
status
.
LastTerminationState
.
Terminated
.
FinishedAt
timestamp
,
ok
:=
lastObservedTime
[
status
.
Name
]
if
!
ok
||
timestamp
.
Before
(
status
.
LastTerminationState
.
Terminated
.
FinishedAt
)
{
lastObservedTime
[
status
.
Name
]
=
status
.
LastTerminationState
.
Terminated
.
FinishedAt
}
}
}
}
}
...
@@ -435,20 +439,19 @@ func (dm *DockerManager) GetPodStatus(pod *api.Pod) (*api.PodStatus, error) {
...
@@ -435,20 +439,19 @@ func (dm *DockerManager) GetPodStatus(pod *api.Pod) (*api.PodStatus, error) {
// Populate the last termination state.
// Populate the last termination state.
containerStatus
.
LastTerminationState
=
*
terminationState
containerStatus
.
LastTerminationState
=
*
terminationState
}
}
count
:=
true
if
terminationState
==
nil
{
// Only count dead containers terminated after last time we observed,
// Not a dead container.
if
lastObservedTime
,
ok
:=
lastObservedTime
[
dockerContainerName
];
ok
{
continue
if
terminationState
!=
nil
&&
terminationState
.
Terminated
.
FinishedAt
.
After
(
lastObservedTime
.
Time
)
{
count
=
false
}
else
{
// The container finished before the last observation. No
// need to examine/count the older containers. Mark the
// container name as done.
containerDone
.
Insert
(
dockerContainerName
)
}
}
}
if
count
{
// Only count dead containers terminated after last time we observed,
lastObservedTime
,
ok
:=
lastObservedTime
[
dockerContainerName
]
if
!
ok
||
terminationState
.
Terminated
.
FinishedAt
.
After
(
lastObservedTime
.
Time
)
{
containerStatus
.
RestartCount
+=
1
containerStatus
.
RestartCount
+=
1
}
else
{
// The container finished before the last observation. No
// need to examine/count the older containers. Mark the
// container name as done.
containerDone
.
Insert
(
dockerContainerName
)
}
}
continue
continue
}
}
...
...
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