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
653e5def
Commit
653e5def
authored
Sep 14, 2015
by
k8s-merge-robot
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #13855 from jiangyaoguo/fix-reason-reporting-in-controller
Auto commit by PR queue bot
parents
c9dd648a
079f1e70
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
14 deletions
+18
-14
nodecontroller.go
pkg/controller/node/nodecontroller.go
+4
-2
nodecontroller_test.go
pkg/controller/node/nodecontroller_test.go
+4
-2
servicecontroller.go
pkg/controller/service/servicecontroller.go
+10
-10
No files found.
pkg/controller/node/nodecontroller.go
View file @
653e5def
...
...
@@ -515,7 +515,8 @@ func (nc *NodeController) tryUpdateNodeStatus(node *api.Node) (time.Duration, ap
node
.
Status
.
Conditions
=
append
(
node
.
Status
.
Conditions
,
api
.
NodeCondition
{
Type
:
api
.
NodeReady
,
Status
:
api
.
ConditionUnknown
,
Reason
:
fmt
.
Sprintf
(
"Kubelet never posted node status."
),
Reason
:
"NodeStatusNeverUpdated"
,
Message
:
fmt
.
Sprintf
(
"Kubelet never posted node status."
),
LastHeartbeatTime
:
node
.
CreationTimestamp
,
LastTransitionTime
:
nc
.
now
(),
})
...
...
@@ -524,7 +525,8 @@ func (nc *NodeController) tryUpdateNodeStatus(node *api.Node) (time.Duration, ap
node
.
Name
,
nc
.
now
()
.
Time
.
Sub
(
savedNodeStatus
.
probeTimestamp
.
Time
),
lastReadyCondition
)
if
lastReadyCondition
.
Status
!=
api
.
ConditionUnknown
{
readyCondition
.
Status
=
api
.
ConditionUnknown
readyCondition
.
Reason
=
fmt
.
Sprintf
(
"Kubelet stopped posting node status."
)
readyCondition
.
Reason
=
"NodeStatusUnknown"
readyCondition
.
Message
=
fmt
.
Sprintf
(
"Kubelet stopped posting node status."
)
// LastProbeTime is the last time we heard from kubelet.
readyCondition
.
LastHeartbeatTime
=
lastReadyCondition
.
LastHeartbeatTime
readyCondition
.
LastTransitionTime
=
nc
.
now
()
...
...
pkg/controller/node/nodecontroller_test.go
View file @
653e5def
...
...
@@ -400,7 +400,8 @@ func TestMonitorNodeStatusUpdateStatus(t *testing.T) {
{
Type
:
api
.
NodeReady
,
Status
:
api
.
ConditionUnknown
,
Reason
:
fmt
.
Sprintf
(
"Kubelet never posted node status."
),
Reason
:
"NodeStatusNeverUpdated"
,
Message
:
fmt
.
Sprintf
(
"Kubelet never posted node status."
),
LastHeartbeatTime
:
util
.
Date
(
2012
,
1
,
1
,
0
,
0
,
0
,
0
,
time
.
UTC
),
LastTransitionTime
:
fakeNow
,
},
...
...
@@ -486,7 +487,8 @@ func TestMonitorNodeStatusUpdateStatus(t *testing.T) {
{
Type
:
api
.
NodeReady
,
Status
:
api
.
ConditionUnknown
,
Reason
:
fmt
.
Sprintf
(
"Kubelet stopped posting node status."
),
Reason
:
"NodeStatusStopUpdated"
,
Message
:
fmt
.
Sprintf
(
"Kubelet stopped posting node status."
),
LastHeartbeatTime
:
util
.
Date
(
2015
,
1
,
1
,
12
,
0
,
0
,
0
,
time
.
UTC
),
LastTransitionTime
:
util
.
Time
{
Time
:
util
.
Date
(
2015
,
1
,
1
,
12
,
0
,
0
,
0
,
time
.
UTC
)
.
Add
(
time
.
Hour
)},
},
...
...
pkg/controller/service/servicecontroller.go
View file @
653e5def
...
...
@@ -245,7 +245,7 @@ func (s *ServiceController) processDelta(delta *cache.Delta) (error, bool) {
message
+=
" (will not retry): "
}
message
+=
err
.
Error
()
s
.
eventRecorder
.
Event
(
service
,
"
creating loadbalancer f
ailed"
,
message
)
s
.
eventRecorder
.
Event
(
service
,
"
CreatingLoadBalancerF
ailed"
,
message
)
return
err
,
retry
}
// Always update the cache upon success.
...
...
@@ -255,14 +255,14 @@ func (s *ServiceController) processDelta(delta *cache.Delta) (error, bool) {
cachedService
.
appliedState
=
service
s
.
cache
.
set
(
namespacedName
.
String
(),
cachedService
)
case
cache
.
Deleted
:
s
.
eventRecorder
.
Event
(
service
,
"
deleting loadb
alancer"
,
"deleting loadbalancer"
)
s
.
eventRecorder
.
Event
(
service
,
"
DeletingLoadB
alancer"
,
"deleting loadbalancer"
)
err
:=
s
.
balancer
.
EnsureTCPLoadBalancerDeleted
(
s
.
loadBalancerName
(
service
),
s
.
zone
.
Region
)
if
err
!=
nil
{
message
:=
"error deleting load balancer (will retry): "
+
err
.
Error
()
s
.
eventRecorder
.
Event
(
service
,
"
deleting loadbalancer f
ailed"
,
message
)
s
.
eventRecorder
.
Event
(
service
,
"
DeletingLoadBalancerF
ailed"
,
message
)
return
err
,
retryable
}
s
.
eventRecorder
.
Event
(
service
,
"
deleted loadb
alancer"
,
"deleted loadbalancer"
)
s
.
eventRecorder
.
Event
(
service
,
"
DeletedLoadB
alancer"
,
"deleted loadbalancer"
)
s
.
cache
.
delete
(
namespacedName
.
String
())
default
:
glog
.
Errorf
(
"Unexpected delta type: %v"
,
delta
.
Type
)
...
...
@@ -305,11 +305,11 @@ func (s *ServiceController) createLoadBalancerIfNeeded(namespacedName types.Name
if
needDelete
{
glog
.
Infof
(
"Deleting existing load balancer for service %s that no longer needs a load balancer."
,
namespacedName
)
s
.
eventRecorder
.
Event
(
service
,
"
deleting loadb
alancer"
,
"deleting loadbalancer"
)
s
.
eventRecorder
.
Event
(
service
,
"
DeletingLoadB
alancer"
,
"deleting loadbalancer"
)
if
err
:=
s
.
balancer
.
EnsureTCPLoadBalancerDeleted
(
s
.
loadBalancerName
(
service
),
s
.
zone
.
Region
);
err
!=
nil
{
return
err
,
retryable
}
s
.
eventRecorder
.
Event
(
service
,
"
deleted loadb
alancer"
,
"deleted loadbalancer"
)
s
.
eventRecorder
.
Event
(
service
,
"
DeletedLoadB
alancer"
,
"deleted loadbalancer"
)
}
service
.
Status
.
LoadBalancer
=
api
.
LoadBalancerStatus
{}
...
...
@@ -319,12 +319,12 @@ func (s *ServiceController) createLoadBalancerIfNeeded(namespacedName types.Name
// TODO: We could do a dry-run here if wanted to avoid the spurious cloud-calls & events when we restart
// The load balancer doesn't exist yet, so create it.
s
.
eventRecorder
.
Event
(
service
,
"
creating loadb
alancer"
,
"creating loadbalancer"
)
s
.
eventRecorder
.
Event
(
service
,
"
CreatingLoadB
alancer"
,
"creating loadbalancer"
)
err
:=
s
.
createExternalLoadBalancer
(
service
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to create external load balancer for service %s: %v"
,
namespacedName
,
err
),
retryable
}
s
.
eventRecorder
.
Event
(
service
,
"
created loadb
alancer"
,
"created loadbalancer"
)
s
.
eventRecorder
.
Event
(
service
,
"
CreatedLoadB
alancer"
,
"created loadbalancer"
)
}
// Write the state if changed
...
...
@@ -659,7 +659,7 @@ func (s *ServiceController) lockedUpdateLoadBalancerHosts(service *api.Service,
name
:=
cloudprovider
.
GetLoadBalancerName
(
service
)
err
:=
s
.
balancer
.
UpdateTCPLoadBalancer
(
name
,
s
.
zone
.
Region
,
hosts
)
if
err
==
nil
{
s
.
eventRecorder
.
Event
(
service
,
"
updated loadb
alancer"
,
"updated loadbalancer with new hosts"
)
s
.
eventRecorder
.
Event
(
service
,
"
UpdatedLoadB
alancer"
,
"updated loadbalancer with new hosts"
)
return
nil
}
...
...
@@ -671,7 +671,7 @@ func (s *ServiceController) lockedUpdateLoadBalancerHosts(service *api.Service,
}
message
:=
"error updating loadbalancer with new hosts: "
+
err
.
Error
()
s
.
eventRecorder
.
Event
(
service
,
"
updating loadbalancer f
ailed"
,
message
)
s
.
eventRecorder
.
Event
(
service
,
"
LoadBalancerUpdateF
ailed"
,
message
)
return
err
}
...
...
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