Skip to content

Commit 6c68f98

Browse files
committed
Another bugfix
1 parent f13590e commit 6c68f98

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

cmd/agent/app/server.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import (
4141
"k8s.io/apimachinery/pkg/labels"
4242
"k8s.io/client-go/kubernetes"
4343
coordinationv1lister "k8s.io/client-go/listers/coordination/v1"
44+
"k8s.io/client-go/tools/cache"
4445
"k8s.io/client-go/tools/clientcmd"
4546
"k8s.io/klog/v2"
4647
"k8s.io/utils/clock"
@@ -154,6 +155,7 @@ func (a *Agent) runProxyConnection(o *options.GrpcProxyAgentOptions, drainCh, st
154155
}
155156
leaseInformer := agent.NewLeaseInformerWithMetrics(k8sClient, LeaseNamespace, LeaseInformerResync)
156157
go leaseInformer.Run(stopCh)
158+
cache.WaitForCacheSync(stopCh, leaseInformer.HasSynced)
157159
leaseLister := coordinationv1lister.NewLeaseLister(leaseInformer.GetIndexer())
158160
serverLeaseSelector, _ := labels.Parse("k8s-app=konnectivity-server")
159161
serverLeaseCounter := agent.NewServerLeaseCounter(

pkg/agent/lease_counter.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func NewServerLeaseCounter(pc clock.PassiveClock, leaseLister coordinationv1list
5151
return &ServerLeaseCounter{
5252
leaseLister: leaseLister,
5353
selector: labelSelector,
54-
fallbackCount: 0,
54+
fallbackCount: 1,
5555
pc: pc,
5656
}
5757
}

pkg/agent/lease_counter_test.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"k8s.io/apimachinery/pkg/runtime"
2727
"k8s.io/client-go/kubernetes/fake"
2828
coordinationv1lister "k8s.io/client-go/listers/coordination/v1"
29+
"k8s.io/client-go/tools/cache"
2930
clocktesting "k8s.io/utils/clock/testing"
3031
proxytesting "sigs.k8s.io/apiserver-network-proxy/pkg/testing"
3132
)
@@ -120,8 +121,9 @@ func TestServerLeaseCounter(t *testing.T) {
120121

121122
k8sClient := fake.NewSimpleClientset(leases...)
122123
selector, _ := labels.Parse(tc.labelSelector)
123-
leaseInformer := NewLeaseInformerWithMetrics(k8sClient, "", time.Millisecond*100)
124-
leaseInformer.Run(context.TODO().Done())
124+
leaseInformer := NewLeaseInformerWithMetrics(k8sClient, "", time.Millisecond)
125+
go leaseInformer.Run(context.Background().Done())
126+
cache.WaitForCacheSync(context.Background().Done(), leaseInformer.HasSynced)
125127
leaseLister := coordinationv1lister.NewLeaseLister(leaseInformer.GetIndexer())
126128

127129
counter := NewServerLeaseCounter(pc, leaseLister, selector)
@@ -139,7 +141,7 @@ type fakeLeaseLister struct {
139141
Err error
140142
}
141143

142-
func (lister fakeLeaseLister) List(selector labels.Selector) (ret []*coordinationv1.Lease, err error) {
144+
func (lister *fakeLeaseLister) List(selector labels.Selector) (ret []*coordinationv1.Lease, err error) {
143145
if lister.Err != nil {
144146
return nil, lister.Err
145147
}
@@ -152,7 +154,7 @@ func (lister fakeLeaseLister) List(selector labels.Selector) (ret []*coordinatio
152154
return ret, nil
153155
}
154156

155-
func (lister fakeLeaseLister) Leases(_ string) coordinationv1lister.LeaseNamespaceLister {
157+
func (lister *fakeLeaseLister) Leases(_ string) coordinationv1lister.LeaseNamespaceLister {
156158
panic("should not be used")
157159
}
158160

@@ -171,12 +173,12 @@ func TestServerLeaseCounter_FallbackCount(t *testing.T) {
171173
pc := clocktesting.NewFakeClock(time.Now())
172174
leases := []*coordinationv1.Lease{proxytesting.NewLeaseFromTemplate(pc, validLease), proxytesting.NewLeaseFromTemplate(pc, validLease), proxytesting.NewLeaseFromTemplate(pc, validLease), proxytesting.NewLeaseFromTemplate(pc, invalidLease)}
173175
selector, _ := labels.Parse("label=value")
174-
leaseLister := fakeLeaseLister{LeaseList: leases}
176+
leaseLister := &fakeLeaseLister{LeaseList: leases}
175177

176178
counter := NewServerLeaseCounter(pc, leaseLister, selector)
177179

178-
got := counter.Count()
179180
leaseLister.Err = fmt.Errorf("fake lease listing error")
181+
got := counter.Count()
180182
if got != 1 {
181183
t.Errorf("lease counter did not return fallback count on leaseLister error (got: %v, want: 1)", got)
182184
}

0 commit comments

Comments
 (0)