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
...
@@ -515,7 +515,8 @@ func (nc *NodeController) tryUpdateNodeStatus(node *api.Node) (time.Duration, ap
node
.
Status
.
Conditions
=
append
(
node
.
Status
.
Conditions
,
api
.
NodeCondition
{
node
.
Status
.
Conditions
=
append
(
node
.
Status
.
Conditions
,
api
.
NodeCondition
{
Type
:
api
.
NodeReady
,
Type
:
api
.
NodeReady
,
Status
:
api
.
ConditionUnknown
,
Status
:
api
.
ConditionUnknown
,
Reason
:
fmt
.
Sprintf
(
"Kubelet never posted node status."
),
Reason
:
"NodeStatusNeverUpdated"
,
Message
:
fmt
.
Sprintf
(
"Kubelet never posted node status."
),
LastHeartbeatTime
:
node
.
CreationTimestamp
,
LastHeartbeatTime
:
node
.
CreationTimestamp
,
LastTransitionTime
:
nc
.
now
(),
LastTransitionTime
:
nc
.
now
(),
})
})
...
@@ -524,7 +525,8 @@ func (nc *NodeController) tryUpdateNodeStatus(node *api.Node) (time.Duration, ap
...
@@ -524,7 +525,8 @@ func (nc *NodeController) tryUpdateNodeStatus(node *api.Node) (time.Duration, ap
node
.
Name
,
nc
.
now
()
.
Time
.
Sub
(
savedNodeStatus
.
probeTimestamp
.
Time
),
lastReadyCondition
)
node
.
Name
,
nc
.
now
()
.
Time
.
Sub
(
savedNodeStatus
.
probeTimestamp
.
Time
),
lastReadyCondition
)
if
lastReadyCondition
.
Status
!=
api
.
ConditionUnknown
{
if
lastReadyCondition
.
Status
!=
api
.
ConditionUnknown
{
readyCondition
.
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.
// LastProbeTime is the last time we heard from kubelet.
readyCondition
.
LastHeartbeatTime
=
lastReadyCondition
.
LastHeartbeatTime
readyCondition
.
LastHeartbeatTime
=
lastReadyCondition
.
LastHeartbeatTime
readyCondition
.
LastTransitionTime
=
nc
.
now
()
readyCondition
.
LastTransitionTime
=
nc
.
now
()
...
...
pkg/controller/node/nodecontroller_test.go
View file @
079f1e70
...
@@ -400,7 +400,8 @@ func TestMonitorNodeStatusUpdateStatus(t *testing.T) {
...
@@ -400,7 +400,8 @@ func TestMonitorNodeStatusUpdateStatus(t *testing.T) {
{
{
Type
:
api
.
NodeReady
,
Type
:
api
.
NodeReady
,
Status
:
api
.
ConditionUnknown
,
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
),
LastHeartbeatTime
:
util
.
Date
(
2012
,
1
,
1
,
0
,
0
,
0
,
0
,
time
.
UTC
),
LastTransitionTime
:
fakeNow
,
LastTransitionTime
:
fakeNow
,
},
},
...
@@ -486,7 +487,8 @@ func TestMonitorNodeStatusUpdateStatus(t *testing.T) {
...
@@ -486,7 +487,8 @@ func TestMonitorNodeStatusUpdateStatus(t *testing.T) {
{
{
Type
:
api
.
NodeReady
,
Type
:
api
.
NodeReady
,
Status
:
api
.
ConditionUnknown
,
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
),
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
)},
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) {
...
@@ -245,7 +245,7 @@ func (s *ServiceController) processDelta(delta *cache.Delta) (error, bool) {
message
+=
" (will not retry): "
message
+=
" (will not retry): "
}
}
message
+=
err
.
Error
()
message
+=
err
.
Error
()
s
.
eventRecorder
.
Event
(
service
,
"
creating loadbalancer f
ailed"
,
message
)
s
.
eventRecorder
.
Event
(
service
,
"
CreatingLoadBalancerF
ailed"
,
message
)
return
err
,
retry
return
err
,
retry
}
}
// Always update the cache upon success.
// Always update the cache upon success.
...
@@ -255,14 +255,14 @@ func (s *ServiceController) processDelta(delta *cache.Delta) (error, bool) {
...
@@ -255,14 +255,14 @@ func (s *ServiceController) processDelta(delta *cache.Delta) (error, bool) {
cachedService
.
appliedState
=
service
cachedService
.
appliedState
=
service
s
.
cache
.
set
(
namespacedName
.
String
(),
cachedService
)
s
.
cache
.
set
(
namespacedName
.
String
(),
cachedService
)
case
cache
.
Deleted
:
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
)
err
:=
s
.
balancer
.
EnsureTCPLoadBalancerDeleted
(
s
.
loadBalancerName
(
service
),
s
.
zone
.
Region
)
if
err
!=
nil
{
if
err
!=
nil
{
message
:=
"error deleting load balancer (will retry): "
+
err
.
Error
()
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
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
())
s
.
cache
.
delete
(
namespacedName
.
String
())
default
:
default
:
glog
.
Errorf
(
"Unexpected delta type: %v"
,
delta
.
Type
)
glog
.
Errorf
(
"Unexpected delta type: %v"
,
delta
.
Type
)
...
@@ -305,11 +305,11 @@ func (s *ServiceController) createLoadBalancerIfNeeded(namespacedName types.Name
...
@@ -305,11 +305,11 @@ func (s *ServiceController) createLoadBalancerIfNeeded(namespacedName types.Name
if
needDelete
{
if
needDelete
{
glog
.
Infof
(
"Deleting existing load balancer for service %s that no longer needs a load balancer."
,
namespacedName
)
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
{
if
err
:=
s
.
balancer
.
EnsureTCPLoadBalancerDeleted
(
s
.
loadBalancerName
(
service
),
s
.
zone
.
Region
);
err
!=
nil
{
return
err
,
retryable
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
{}
service
.
Status
.
LoadBalancer
=
api
.
LoadBalancerStatus
{}
...
@@ -319,12 +319,12 @@ func (s *ServiceController) createLoadBalancerIfNeeded(namespacedName types.Name
...
@@ -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
// 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.
// 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
)
err
:=
s
.
createExternalLoadBalancer
(
service
)
if
err
!=
nil
{
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to create external load balancer for service %s: %v"
,
namespacedName
,
err
),
retryable
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
// Write the state if changed
...
@@ -659,7 +659,7 @@ func (s *ServiceController) lockedUpdateLoadBalancerHosts(service *api.Service,
...
@@ -659,7 +659,7 @@ func (s *ServiceController) lockedUpdateLoadBalancerHosts(service *api.Service,
name
:=
cloudprovider
.
GetLoadBalancerName
(
service
)
name
:=
cloudprovider
.
GetLoadBalancerName
(
service
)
err
:=
s
.
balancer
.
UpdateTCPLoadBalancer
(
name
,
s
.
zone
.
Region
,
hosts
)
err
:=
s
.
balancer
.
UpdateTCPLoadBalancer
(
name
,
s
.
zone
.
Region
,
hosts
)
if
err
==
nil
{
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
return
nil
}
}
...
@@ -671,7 +671,7 @@ func (s *ServiceController) lockedUpdateLoadBalancerHosts(service *api.Service,
...
@@ -671,7 +671,7 @@ func (s *ServiceController) lockedUpdateLoadBalancerHosts(service *api.Service,
}
}
message
:=
"error updating loadbalancer with new hosts: "
+
err
.
Error
()
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
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