@@ -3038,15 +3038,6 @@ func (d *NodeDescriber) Describe(namespace, name string, describerSettings Descr
3038
3038
return "" , err
3039
3039
}
3040
3040
3041
- lease , err := d .CoordinationV1 ().Leases (corev1 .NamespaceNodeLease ).Get (context .TODO (), name , metav1.GetOptions {})
3042
- if err != nil {
3043
- if ! errors .IsNotFound (err ) {
3044
- return "" , err
3045
- }
3046
- // Corresponding Lease object doesn't exist - print it accordingly.
3047
- lease = nil
3048
- }
3049
-
3050
3041
fieldSelector , err := fields .ParseSelector ("spec.nodeName=" + name + ",status.phase!=" + string (corev1 .PodSucceeded ) + ",status.phase!=" + string (corev1 .PodFailed ))
3051
3042
if err != nil {
3052
3043
return "" , err
@@ -3073,10 +3064,15 @@ func (d *NodeDescriber) Describe(namespace, name string, describerSettings Descr
3073
3064
}
3074
3065
}
3075
3066
3076
- return describeNode (node , lease , nodeNonTerminatedPodsList , events , canViewPods )
3067
+ return describeNode (node , nodeNonTerminatedPodsList , events , canViewPods , & LeaseDescriber { d } )
3077
3068
}
3078
3069
3079
- func describeNode (node * corev1.Node , lease * coordinationv1.Lease , nodeNonTerminatedPodsList * corev1.PodList , events * corev1.EventList , canViewPods bool ) (string , error ) {
3070
+ type LeaseDescriber struct {
3071
+ client clientset.Interface
3072
+ }
3073
+
3074
+ func describeNode (node * corev1.Node , nodeNonTerminatedPodsList * corev1.PodList , events * corev1.EventList ,
3075
+ canViewPods bool , ld * LeaseDescriber ) (string , error ) {
3080
3076
return tabbedString (func (out io.Writer ) error {
3081
3077
w := NewPrefixWriter (out )
3082
3078
w .Write (LEVEL_0 , "Name:\t %s\n " , node .Name )
@@ -3091,22 +3087,13 @@ func describeNode(node *corev1.Node, lease *coordinationv1.Lease, nodeNonTermina
3091
3087
printNodeTaintsMultiline (w , "Taints" , node .Spec .Taints )
3092
3088
w .Write (LEVEL_0 , "Unschedulable:\t %v\n " , node .Spec .Unschedulable )
3093
3089
3094
- w .Write (LEVEL_0 , "Lease:\n " )
3095
- holderIdentity := "<unset>"
3096
- if lease != nil && lease .Spec .HolderIdentity != nil {
3097
- holderIdentity = * lease .Spec .HolderIdentity
3098
- }
3099
- w .Write (LEVEL_1 , "HolderIdentity:\t %s\n " , holderIdentity )
3100
- acquireTime := "<unset>"
3101
- if lease != nil && lease .Spec .AcquireTime != nil {
3102
- acquireTime = lease .Spec .AcquireTime .Time .Format (time .RFC1123Z )
3103
- }
3104
- w .Write (LEVEL_1 , "AcquireTime:\t %s\n " , acquireTime )
3105
- renewTime := "<unset>"
3106
- if lease != nil && lease .Spec .RenewTime != nil {
3107
- renewTime = lease .Spec .RenewTime .Time .Format (time .RFC1123Z )
3090
+ if ld != nil {
3091
+ if lease , err := ld .client .CoordinationV1 ().Leases (corev1 .NamespaceNodeLease ).Get (context .TODO (), node .Name , metav1.GetOptions {}); err == nil {
3092
+ describeNodeLease (lease , w )
3093
+ } else {
3094
+ w .Write (LEVEL_0 , "Lease:\t Failed to get lease: %s\n " , err )
3095
+ }
3108
3096
}
3109
- w .Write (LEVEL_1 , "RenewTime:\t %s\n " , renewTime )
3110
3097
3111
3098
if len (node .Status .Conditions ) > 0 {
3112
3099
w .Write (LEVEL_0 , "Conditions:\n Type\t Status\t LastHeartbeatTime\t LastTransitionTime\t Reason\t Message\n " )
@@ -3183,6 +3170,25 @@ func describeNode(node *corev1.Node, lease *coordinationv1.Lease, nodeNonTermina
3183
3170
})
3184
3171
}
3185
3172
3173
+ func describeNodeLease (lease * coordinationv1.Lease , w PrefixWriter ) {
3174
+ w .Write (LEVEL_0 , "Lease:\n " )
3175
+ holderIdentity := "<unset>"
3176
+ if lease != nil && lease .Spec .HolderIdentity != nil {
3177
+ holderIdentity = * lease .Spec .HolderIdentity
3178
+ }
3179
+ w .Write (LEVEL_1 , "HolderIdentity:\t %s\n " , holderIdentity )
3180
+ acquireTime := "<unset>"
3181
+ if lease != nil && lease .Spec .AcquireTime != nil {
3182
+ acquireTime = lease .Spec .AcquireTime .Time .Format (time .RFC1123Z )
3183
+ }
3184
+ w .Write (LEVEL_1 , "AcquireTime:\t %s\n " , acquireTime )
3185
+ renewTime := "<unset>"
3186
+ if lease != nil && lease .Spec .RenewTime != nil {
3187
+ renewTime = lease .Spec .RenewTime .Time .Format (time .RFC1123Z )
3188
+ }
3189
+ w .Write (LEVEL_1 , "RenewTime:\t %s\n " , renewTime )
3190
+ }
3191
+
3186
3192
type StatefulSetDescriber struct {
3187
3193
client clientset.Interface
3188
3194
}
0 commit comments