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
079f1e70
Commit
079f1e70
authored
Sep 11, 2015
by
jiangyaoguo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix reason reporting in controller
parent
5ed84006
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 @
079f1e70
...
...
@@ -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 @
079f1e70
...
...
@@ -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 @
079f1e70
...
...
@@ -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