Skip to content

GCE: remove ResourceLimiter dead code #8000

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 1 addition & 18 deletions cluster-autoscaler/cloudprovider/gce/cache.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ type InstanceTemplateName struct {
// - keep track of instances in the cluster,
// - keep track of MIGs to instances mapping,
// - keep track of MIGs configuration such as target size and basename,
// - keep track of resource limiters and machine types,
// - keep track of machine types,
// - limit repetitive GCE API calls.
//
// Cache keeps these values and gives access to getters, setters and
Expand All @@ -68,7 +68,6 @@ type GceCache struct {
instancesUpdateTime map[GceRef]time.Time
instancesToMig map[GceRef]GceRef
instancesFromUnknownMig map[GceRef]bool
resourceLimiter *cloudprovider.ResourceLimiter
autoscalingOptionsCache map[GceRef]map[string]string
machinesCache map[MachineTypeKey]MachineType
migTargetSizeCache map[GceRef]int64
Expand Down Expand Up @@ -296,22 +295,6 @@ func (gc *GceCache) GetAutoscalingOptions(ref GceRef) map[string]string {
return gc.autoscalingOptionsCache[ref]
}

// SetResourceLimiter sets resource limiter.
func (gc *GceCache) SetResourceLimiter(resourceLimiter *cloudprovider.ResourceLimiter) {
gc.cacheMutex.Lock()
defer gc.cacheMutex.Unlock()

gc.resourceLimiter = resourceLimiter
}

// GetResourceLimiter returns resource limiter.
func (gc *GceCache) GetResourceLimiter() (*cloudprovider.ResourceLimiter, error) {
gc.cacheMutex.Lock()
defer gc.cacheMutex.Unlock()

return gc.resourceLimiter, nil
}

// GetMigTargetSize returns the cached targetSize for a GceRef
func (gc *GceCache) GetMigTargetSize(ref GceRef) (int64, bool) {
gc.cacheMutex.Lock()
Expand Down
10 changes: 1 addition & 9 deletions cluster-autoscaler/cloudprovider/gce/gce_cloud_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@ var (

// GceCloudProvider implements CloudProvider interface.
type GceCloudProvider struct {
gceManager GceManager
// This resource limiter is used if resource limits are not defined through cloud API.
gceManager GceManager
resourceLimiterFromFlags *cloudprovider.ResourceLimiter
pricingModel cloudprovider.PricingModel
}
Expand Down Expand Up @@ -132,13 +131,6 @@ func (gce *GceCloudProvider) NewNodeGroup(machineType string, labels map[string]

// GetResourceLimiter returns struct containing limits (max, min) for resources (cores, memory etc.).
func (gce *GceCloudProvider) GetResourceLimiter() (*cloudprovider.ResourceLimiter, error) {
resourceLimiter, err := gce.gceManager.GetResourceLimiter()
if err != nil {
return nil, err
}
if resourceLimiter != nil {
return resourceLimiter, nil
}
return gce.resourceLimiterFromFlags, nil
}

Expand Down
24 changes: 1 addition & 23 deletions cluster-autoscaler/cloudprovider/gce/gce_cloud_provider_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ limitations under the License.
package gce

import (
"fmt"
"net/http"
"reflect"
"regexp"
Expand Down Expand Up @@ -78,11 +77,6 @@ func (m *gceManagerMock) GetMigs() []Mig {
return args.Get(0).([]Mig)
}

func (m *gceManagerMock) GetResourceLimiter() (*cloudprovider.ResourceLimiter, error) {
args := m.Called()
return args.Get(0).(*cloudprovider.ResourceLimiter), args.Error(1)
}

func (m *gceManagerMock) findMigsNamed(name *regexp.Regexp) ([]string, error) {
args := m.Called()
return args.Get(0).([]string), args.Error(1)
Expand Down Expand Up @@ -149,34 +143,18 @@ func TestNodeGroupForNode(t *testing.T) {
}

func TestGetResourceLimiter(t *testing.T) {
gceManagerMock := &gceManagerMock{}
resourceLimiter := cloudprovider.NewResourceLimiter(
map[string]int64{cloudprovider.ResourceNameCores: 1, cloudprovider.ResourceNameMemory: 10000000},
map[string]int64{cloudprovider.ResourceNameCores: 10, cloudprovider.ResourceNameMemory: 100000000})
gce := &GceCloudProvider{
gceManager: gceManagerMock,
gceManager: nil,
resourceLimiterFromFlags: resourceLimiter,
}

// Return default.
gceManagerMock.On("GetResourceLimiter").Return((*cloudprovider.ResourceLimiter)(nil), nil).Once()
returnedResourceLimiter, err := gce.GetResourceLimiter()
assert.NoError(t, err)
assert.Equal(t, resourceLimiter, returnedResourceLimiter)

// Return for GKE.
resourceLimiterGKE := cloudprovider.NewResourceLimiter(
map[string]int64{cloudprovider.ResourceNameCores: 2, cloudprovider.ResourceNameMemory: 20000000},
map[string]int64{cloudprovider.ResourceNameCores: 5, cloudprovider.ResourceNameMemory: 200000000})
gceManagerMock.On("GetResourceLimiter").Return(resourceLimiterGKE, nil).Once()
returnedResourceLimiterGKE, err := gce.GetResourceLimiter()
assert.NoError(t, err)
assert.Equal(t, returnedResourceLimiterGKE, resourceLimiterGKE)

// Error in GceManager.
gceManagerMock.On("GetResourceLimiter").Return((*cloudprovider.ResourceLimiter)(nil), fmt.Errorf("some error")).Once()
_, err = gce.GetResourceLimiter()
assert.Error(t, err)
}

const getInstanceGroupManagerResponse = `{
Expand Down
7 changes: 0 additions & 7 deletions cluster-autoscaler/cloudprovider/gce/gce_manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,6 @@ type GceManager interface {
GetMigForInstance(instance GceRef) (Mig, error)
// GetMigTemplateNode returns a template node for MIG.
GetMigTemplateNode(mig Mig) (*apiv1.Node, error)
// GetResourceLimiter returns resource limiter.
GetResourceLimiter() (*cloudprovider.ResourceLimiter, error)
// GetMigSize gets MIG size.
GetMigSize(mig Mig) (int64, error)
// GetMigOptions returns MIG's NodeGroupAutoscalingOptions
Expand Down Expand Up @@ -482,11 +480,6 @@ func (m *gceManagerImpl) fetchAutoMigs() error {
return nil
}

// GetResourceLimiter returns resource limiter from cache.
func (m *gceManagerImpl) GetResourceLimiter() (*cloudprovider.ResourceLimiter, error) {
return m.cache.GetResourceLimiter()
}

func (m *gceManagerImpl) clearMachinesCache() {
if m.machinesCacheLastRefresh.Add(machinesRefreshInterval).After(time.Now()) {
return
Expand Down
Loading