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
e85cb406
Unverified
Commit
e85cb406
authored
Oct 17, 2018
by
k8s-ci-robot
Committed by
GitHub
Oct 17, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #65567 from ceshihao/pod_status_after_eviction
Pod status should contain ContainerStatuses if deadline exceeded
parents
7c17beb6
3b9ed9af
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
8 additions
and
7 deletions
+8
-7
kubelet_pods.go
pkg/kubelet/kubelet_pods.go
+6
-7
kubelet_test.go
pkg/kubelet/kubelet_test.go
+2
-0
No files found.
pkg/kubelet/kubelet_pods.go
View file @
e85cb406
...
@@ -1323,19 +1323,18 @@ func getPhase(spec *v1.PodSpec, info []v1.ContainerStatus) v1.PodPhase {
...
@@ -1323,19 +1323,18 @@ func getPhase(spec *v1.PodSpec, info []v1.ContainerStatus) v1.PodPhase {
func
(
kl
*
Kubelet
)
generateAPIPodStatus
(
pod
*
v1
.
Pod
,
podStatus
*
kubecontainer
.
PodStatus
)
v1
.
PodStatus
{
func
(
kl
*
Kubelet
)
generateAPIPodStatus
(
pod
*
v1
.
Pod
,
podStatus
*
kubecontainer
.
PodStatus
)
v1
.
PodStatus
{
glog
.
V
(
3
)
.
Infof
(
"Generating status for %q"
,
format
.
Pod
(
pod
))
glog
.
V
(
3
)
.
Infof
(
"Generating status for %q"
,
format
.
Pod
(
pod
))
s
:=
kl
.
convertStatusToAPIStatus
(
pod
,
podStatus
)
// check if an internal module has requested the pod is evicted.
// check if an internal module has requested the pod is evicted.
for
_
,
podSyncHandler
:=
range
kl
.
PodSyncHandlers
{
for
_
,
podSyncHandler
:=
range
kl
.
PodSyncHandlers
{
if
result
:=
podSyncHandler
.
ShouldEvict
(
pod
);
result
.
Evict
{
if
result
:=
podSyncHandler
.
ShouldEvict
(
pod
);
result
.
Evict
{
return
v1
.
PodStatus
{
s
.
Phase
=
v1
.
PodFailed
Phase
:
v1
.
PodFailed
,
s
.
Reason
=
result
.
Reason
Reason
:
result
.
Reason
,
s
.
Message
=
result
.
Message
Message
:
result
.
Message
,
return
*
s
}
}
}
}
}
s
:=
kl
.
convertStatusToAPIStatus
(
pod
,
podStatus
)
// Assume info is ready to process
// Assume info is ready to process
spec
:=
&
pod
.
Spec
spec
:=
&
pod
.
Spec
allStatus
:=
append
(
append
([]
v1
.
ContainerStatus
{},
s
.
ContainerStatuses
...
),
s
.
InitContainerStatuses
...
)
allStatus
:=
append
(
append
([]
v1
.
ContainerStatus
{},
s
.
ContainerStatuses
...
),
s
.
InitContainerStatuses
...
)
...
...
pkg/kubelet/kubelet_test.go
View file @
e85cb406
...
@@ -1432,6 +1432,8 @@ func TestSyncPodsSetStatusToFailedForPodsThatRunTooLong(t *testing.T) {
...
@@ -1432,6 +1432,8 @@ func TestSyncPodsSetStatusToFailedForPodsThatRunTooLong(t *testing.T) {
status
,
found
:=
kubelet
.
statusManager
.
GetPodStatus
(
pods
[
0
]
.
UID
)
status
,
found
:=
kubelet
.
statusManager
.
GetPodStatus
(
pods
[
0
]
.
UID
)
assert
.
True
(
t
,
found
,
"expected to found status for pod %q"
,
pods
[
0
]
.
UID
)
assert
.
True
(
t
,
found
,
"expected to found status for pod %q"
,
pods
[
0
]
.
UID
)
assert
.
Equal
(
t
,
v1
.
PodFailed
,
status
.
Phase
)
assert
.
Equal
(
t
,
v1
.
PodFailed
,
status
.
Phase
)
// check pod status contains ContainerStatuses, etc.
assert
.
NotNil
(
t
,
status
.
ContainerStatuses
)
}
}
func
TestSyncPodsDoesNotSetPodsThatDidNotRunTooLongToFailed
(
t
*
testing
.
T
)
{
func
TestSyncPodsDoesNotSetPodsThatDidNotRunTooLongToFailed
(
t
*
testing
.
T
)
{
...
...
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