From 099404a0ee27052160093f896afe042969345d76 Mon Sep 17 00:00:00 2001 From: Robert Rati Date: Wed, 11 Oct 2017 18:58:41 -0400 Subject: [PATCH] Fixed the lease endpoint reconciler creation of kubernetes endpoint and lease file ttl --- pkg/master/master.go | 6 ++---- pkg/master/reconcilers/lease.go | 7 +++++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pkg/master/master.go b/pkg/master/master.go index d3da15fef75..84e734d6459 100644 --- a/pkg/master/master.go +++ b/pkg/master/master.go @@ -93,8 +93,6 @@ const ( DefaultEndpointReconcilerInterval = 10 * time.Second // DefaultEndpointReconcilerTTL is the default TTL timeout for the storage layer DefaultEndpointReconcilerTTL = 15 * time.Second - // DefaultStorageEndpoint is the default storage endpoint for the lease controller - DefaultStorageEndpoint = "kube-apiserver-endpoint" ) type ExtraConfig struct { @@ -206,7 +204,7 @@ func (c *Config) createLeaseReconciler() reconcilers.EndpointReconciler { if err != nil { glog.Fatalf("Error creating storage factory: %v", err) } - endpointConfig, err := c.ExtraConfig.StorageFactory.NewConfig(kapi.Resource(DefaultStorageEndpoint)) + endpointConfig, err := c.ExtraConfig.StorageFactory.NewConfig(kapi.Resource("endpoints")) if err != nil { glog.Fatalf("Error getting storage config: %v", err) } @@ -214,7 +212,7 @@ func (c *Config) createLeaseReconciler() reconcilers.EndpointReconciler { StorageConfig: endpointConfig, Decorator: generic.UndecoratedStorage, DeleteCollectionWorkers: 0, - ResourcePrefix: c.ExtraConfig.StorageFactory.ResourcePrefix(kapi.Resource(DefaultStorageEndpoint)), + ResourcePrefix: c.ExtraConfig.StorageFactory.ResourcePrefix(kapi.Resource("endpoints")), }) endpointRegistry := endpoint.NewRegistry(endpointsStorage) masterLeases := reconcilers.NewLeases(leaseStorage, "/masterleases/", ttl) diff --git a/pkg/master/reconcilers/lease.go b/pkg/master/reconcilers/lease.go index 87fd033c420..e3c3f46240b 100644 --- a/pkg/master/reconcilers/lease.go +++ b/pkg/master/reconcilers/lease.go @@ -24,6 +24,7 @@ https://github.com/openshift/origin/blob/bb340c5dd5ff72718be86fb194dedc0faed7f4c import ( "fmt" "net" + "path" "sync" "time" @@ -77,7 +78,8 @@ func (s *storageLeases) ListLeases() ([]string, error) { // UpdateLease resets the TTL on a master IP in storage func (s *storageLeases) UpdateLease(ip string) error { - return s.storage.GuaranteedUpdate(apirequest.NewDefaultContext(), s.baseKey+"/"+ip, &api.Endpoints{}, true, nil, func(input kruntime.Object, respMeta storage.ResponseMeta) (kruntime.Object, *uint64, error) { + key := path.Join(s.baseKey, ip) + return s.storage.GuaranteedUpdate(apirequest.NewDefaultContext(), key, &api.Endpoints{}, true, nil, func(input kruntime.Object, respMeta storage.ResponseMeta) (kruntime.Object, *uint64, error) { // just make sure we've got the right IP set, and then refresh the TTL existing := input.(*api.Endpoints) existing.Subsets = []api.EndpointSubset{ @@ -86,7 +88,8 @@ func (s *storageLeases) UpdateLease(ip string) error { }, } - leaseTime := uint64(s.leaseTime) + // leaseTime needs to be in seconds + leaseTime := uint64(s.leaseTime / time.Second) // NB: GuaranteedUpdate does not perform the store operation unless // something changed between load and store (not including resource