Skip to content

Commit 29e043e

Browse files
committed
account for nil holderIdentity case
1 parent ceaad61 commit 29e043e

File tree

2 files changed

+34
-2
lines changed

2 files changed

+34
-2
lines changed

internal/store/lease.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,18 @@ var (
4242
wrapLeaseFunc(func(l *coordinationv1.Lease) *metric.Family {
4343
labelKeys := []string{"owner_kind", "owner_name", "namespace", "lease_holder"}
4444

45+
var holder string
46+
if l.Spec.HolderIdentity != nil {
47+
holder = *l.Spec.HolderIdentity
48+
}
49+
4550
owners := l.GetOwnerReferences()
4651
if len(owners) == 0 {
4752
return &metric.Family{
4853
Metrics: []*metric.Metric{
4954
{
5055
LabelKeys: labelKeys,
51-
LabelValues: []string{"<none>", "<none>", l.Namespace, *l.Spec.HolderIdentity},
56+
LabelValues: []string{"<none>", "<none>", l.Namespace, holder},
5257
Value: 1,
5358
},
5459
},
@@ -59,7 +64,7 @@ var (
5964
for i, owner := range owners {
6065
ms[i] = &metric.Metric{
6166
LabelKeys: labelKeys,
62-
LabelValues: []string{owner.Kind, owner.Name, l.Namespace, *l.Spec.HolderIdentity},
67+
LabelValues: []string{owner.Kind, owner.Name, l.Namespace, holder},
6368
Value: 1,
6469
}
6570
}

internal/store/lease_test.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,33 @@ func TestLeaseStore(t *testing.T) {
5757
},
5858
Want: metadata + `
5959
kube_lease_owner{lease="kube-master",owner_kind="Node",owner_name="kube-master",namespace="default",lease_holder="kube-master"} 1
60+
kube_lease_renew_time{lease="kube-master"} 1.5e+09
61+
`,
62+
MetricNames: []string{
63+
"kube_lease_owner",
64+
"kube_lease_renew_time",
65+
},
66+
},
67+
{
68+
Obj: &coordinationv1.Lease{
69+
ObjectMeta: metav1.ObjectMeta{
70+
Generation: 2,
71+
Name: "kube-master",
72+
Namespace: "default",
73+
CreationTimestamp: metav1.Time{Time: time.Unix(1500000000, 0)},
74+
OwnerReferences: []metav1.OwnerReference{
75+
{
76+
Kind: "Node",
77+
Name: leaseOwner,
78+
},
79+
},
80+
},
81+
Spec: coordinationv1.LeaseSpec{
82+
RenewTime: &metav1.MicroTime{Time: time.Unix(1500000000, 0)},
83+
},
84+
},
85+
Want: metadata + `
86+
kube_lease_owner{lease="kube-master",owner_kind="Node",owner_name="kube-master",namespace="default",lease_holder=""} 1
6087
kube_lease_renew_time{lease="kube-master"} 1.5e+09
6188
`,
6289
MetricNames: []string{

0 commit comments

Comments
 (0)