diff --git a/cluster-autoscaler/cloudprovider/gce/cache.go b/cluster-autoscaler/cloudprovider/gce/cache.go index 075aa2343f4f..fdc83d814e30 100644 --- a/cluster-autoscaler/cloudprovider/gce/cache.go +++ b/cluster-autoscaler/cloudprovider/gce/cache.go @@ -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 @@ -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 @@ -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() diff --git a/cluster-autoscaler/cloudprovider/gce/gce_cloud_provider.go b/cluster-autoscaler/cloudprovider/gce/gce_cloud_provider.go index 73d5773e7472..3a435356ac44 100644 --- a/cluster-autoscaler/cloudprovider/gce/gce_cloud_provider.go +++ b/cluster-autoscaler/cloudprovider/gce/gce_cloud_provider.go @@ -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 } @@ -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 } diff --git a/cluster-autoscaler/cloudprovider/gce/gce_cloud_provider_test.go b/cluster-autoscaler/cloudprovider/gce/gce_cloud_provider_test.go index 00f91ea5cfdf..736b216fb352 100644 --- a/cluster-autoscaler/cloudprovider/gce/gce_cloud_provider_test.go +++ b/cluster-autoscaler/cloudprovider/gce/gce_cloud_provider_test.go @@ -17,7 +17,6 @@ limitations under the License. package gce import ( - "fmt" "net/http" "reflect" "regexp" @@ -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) @@ -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 = `{ diff --git a/cluster-autoscaler/cloudprovider/gce/gce_manager.go b/cluster-autoscaler/cloudprovider/gce/gce_manager.go index 11cebc26aa0c..ef022d31beee 100644 --- a/cluster-autoscaler/cloudprovider/gce/gce_manager.go +++ b/cluster-autoscaler/cloudprovider/gce/gce_manager.go @@ -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 @@ -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