Skip to content

Commit 0195332

Browse files
committed
chore: remove AssociatePublicIPAddress cache
1 parent 31dfd57 commit 0195332

7 files changed

Lines changed: 13 additions & 24 deletions

File tree

hack/docs/instancetypes_gen/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ below are the resources available with some assumptions and after the instance o
130130
for _, region := range []string{"us-east-1", "us-east-2", "us-west-2"} {
131131
cfg := lo.Must(config.LoadDefaultConfig(ctx, config.WithRegion(region)))
132132
ec2api := ec2.NewFromConfig(cfg)
133-
subnetProvider := subnet.NewDefaultProvider(ec2api, cache.New(awscache.DefaultTTL, awscache.DefaultCleanupInterval), cache.New(awscache.AvailableIPAddressTTL, awscache.DefaultCleanupInterval), cache.New(awscache.AssociatePublicIPAddressTTL, awscache.DefaultCleanupInterval))
133+
subnetProvider := subnet.NewDefaultProvider(ec2api, cache.New(awscache.DefaultTTL, awscache.DefaultCleanupInterval), cache.New(awscache.AvailableIPAddressTTL, awscache.DefaultCleanupInterval))
134134
instanceTypeProvider := instancetype.NewDefaultProvider(
135135
cache.New(awscache.InstanceTypesZonesAndOfferingsTTL, awscache.DefaultCleanupInterval),
136136
cache.New(awscache.InstanceTypesZonesAndOfferingsTTL, awscache.DefaultCleanupInterval),

hack/tools/launchtemplate_counter/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func main() {
5757
region := "us-west-2"
5858
cfg := lo.Must(config.LoadDefaultConfig(ctx, config.WithRegion(region)))
5959
ec2api := ec2.NewFromConfig(cfg)
60-
subnetProvider := subnet.NewDefaultProvider(ec2api, cache.New(awscache.DefaultTTL, awscache.DefaultCleanupInterval), cache.New(awscache.AvailableIPAddressTTL, awscache.DefaultCleanupInterval), cache.New(awscache.AssociatePublicIPAddressTTL, awscache.DefaultCleanupInterval))
60+
subnetProvider := subnet.NewDefaultProvider(ec2api, cache.New(awscache.DefaultTTL, awscache.DefaultCleanupInterval), cache.New(awscache.AvailableIPAddressTTL, awscache.DefaultCleanupInterval))
6161
instanceTypeProvider := instancetype.NewDefaultProvider(
6262
cache.New(awscache.InstanceTypesZonesAndOfferingsTTL, awscache.DefaultCleanupInterval),
6363
cache.New(awscache.InstanceTypesZonesAndOfferingsTTL, awscache.DefaultCleanupInterval),

kwok/operator/operator.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,7 @@ func NewOperator(ctx context.Context, operator *operator.Operator) (context.Cont
145145

146146
subnetRefreshInterval := options.FromContext(ctx).SubnetRefreshInterval
147147
subnetIPCacheTTL := max(awscache.AvailableIPAddressTTL, subnetRefreshInterval+(awscache.AvailableIPAddressTTL-awscache.DefaultTTL))
148-
subnetPublicIPCacheTTL := max(awscache.AssociatePublicIPAddressTTL, subnetRefreshInterval+(awscache.AssociatePublicIPAddressTTL-awscache.DefaultTTL))
149-
subnetProvider := subnet.NewDefaultProvider(ec2api, cache.New(subnetRefreshInterval, awscache.DefaultCleanupInterval), cache.New(subnetIPCacheTTL, awscache.DefaultCleanupInterval), cache.New(subnetPublicIPCacheTTL, awscache.DefaultCleanupInterval))
148+
subnetProvider := subnet.NewDefaultProvider(ec2api, cache.New(subnetRefreshInterval, awscache.DefaultCleanupInterval), cache.New(subnetIPCacheTTL, awscache.DefaultCleanupInterval))
150149
securityGroupProvider := securitygroup.NewDefaultProvider(ec2api, cache.New(awscache.DefaultTTL, awscache.DefaultCleanupInterval))
151150
instanceProfileProvider := instanceprofile.NewDefaultProvider(
152151
iam.NewFromConfig(cfg),

pkg/cache/cache.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@ const (
3939
InstanceProfileTTL = 15 * time.Minute
4040
// AvailableIPAddressTTL is time to drop AvailableIPAddress data if it is not updated within the TTL
4141
AvailableIPAddressTTL = 5 * time.Minute
42-
// AvailableIPAddressTTL is time to drop AssociatePublicIPAddressTTL data if it is not updated within the TTL
43-
AssociatePublicIPAddressTTL = 5 * time.Minute
4442
// SSMGetParametersByPathTTL is the time to drop SSM Parameters by path data. This only queries EKS Optimized AMI
4543
// releases, so we should expect this to be updated relatively infrequently.
4644
SSMCacheTTL = 24 * time.Hour

pkg/operator/operator.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,7 @@ func NewOperator(ctx context.Context, operator *operator.Operator) (context.Cont
154154

155155
subnetRefreshInterval := options.FromContext(ctx).SubnetRefreshInterval
156156
subnetIPCacheTTL := max(awscache.AvailableIPAddressTTL, subnetRefreshInterval+(awscache.AvailableIPAddressTTL-awscache.DefaultTTL))
157-
subnetPublicIPCacheTTL := max(awscache.AssociatePublicIPAddressTTL, subnetRefreshInterval+(awscache.AssociatePublicIPAddressTTL-awscache.DefaultTTL))
158-
subnetProvider := subnet.NewDefaultProvider(ec2api, cache.New(subnetRefreshInterval, awscache.DefaultCleanupInterval), cache.New(subnetIPCacheTTL, awscache.DefaultCleanupInterval), cache.New(subnetPublicIPCacheTTL, awscache.DefaultCleanupInterval))
157+
subnetProvider := subnet.NewDefaultProvider(ec2api, cache.New(subnetRefreshInterval, awscache.DefaultCleanupInterval), cache.New(subnetIPCacheTTL, awscache.DefaultCleanupInterval))
159158
securityGroupProvider := securitygroup.NewDefaultProvider(ec2api, cache.New(awscache.DefaultTTL, awscache.DefaultCleanupInterval))
160159
instanceProfileProvider := instanceprofile.NewDefaultProvider(
161160
iam.NewFromConfig(cfg),

pkg/providers/subnet/subnet.go

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,11 @@ type Provider interface {
5151

5252
type DefaultProvider struct {
5353
sync.Mutex
54-
ec2api sdk.EC2API
55-
cache *cache.Cache
56-
availableIPAddressCache *cache.Cache
57-
associatePublicIPAddressCache *cache.Cache
58-
cm *pretty.ChangeMonitor
59-
inflightIPs map[string]int32
54+
ec2api sdk.EC2API
55+
cache *cache.Cache
56+
availableIPAddressCache *cache.Cache
57+
cm *pretty.ChangeMonitor
58+
inflightIPs map[string]int32
6059
}
6160

6261
type Subnet struct {
@@ -66,15 +65,14 @@ type Subnet struct {
6665
AvailableIPAddressCount int32
6766
}
6867

69-
func NewDefaultProvider(ec2api sdk.EC2API, cache *cache.Cache, availableIPAddressCache *cache.Cache, associatePublicIPAddressCache *cache.Cache) *DefaultProvider {
68+
func NewDefaultProvider(ec2api sdk.EC2API, cache *cache.Cache, availableIPAddressCache *cache.Cache) *DefaultProvider {
7069
return &DefaultProvider{
7170
ec2api: ec2api,
7271
cm: pretty.NewChangeMonitor(),
7372
// TODO: Remove cache when we utilize the resolved subnets from the EC2NodeClass.status
7473
// Subnets are sorted on AvailableIpAddressCount, descending order
75-
cache: cache,
76-
availableIPAddressCache: availableIPAddressCache,
77-
associatePublicIPAddressCache: associatePublicIPAddressCache,
74+
cache: cache,
75+
availableIPAddressCache: availableIPAddressCache,
7876
// inflightIPs is used to track IPs from known launched instances
7977
inflightIPs: map[string]int32{},
8078
}
@@ -108,7 +106,6 @@ func (p *DefaultProvider) List(ctx context.Context, nodeClass *v1.EC2NodeClass)
108106
for i := range output.Subnets {
109107
subnets[lo.FromPtr(output.Subnets[i].SubnetId)] = output.Subnets[i]
110108
p.availableIPAddressCache.SetDefault(lo.FromPtr(output.Subnets[i].SubnetId), lo.FromPtr(output.Subnets[i].AvailableIpAddressCount))
111-
p.associatePublicIPAddressCache.SetDefault(lo.FromPtr(output.Subnets[i].SubnetId), lo.FromPtr(output.Subnets[i].MapPublicIpOnLaunch))
112109
// subnets can be leaked here, if a subnets is never called received from ec2
113110
// we are accepting it for now, as this will be an insignificant amount of memory
114111
delete(p.inflightIPs, lo.FromPtr(output.Subnets[i].SubnetId)) // remove any previously tracked IP addresses since we just refreshed from EC2

pkg/test/environment.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ type Environment struct {
8282
LaunchTemplateCache *cache.Cache
8383
SubnetCache *cache.Cache
8484
AvailableIPAdressCache *cache.Cache
85-
AssociatePublicIPAddressCache *cache.Cache
8685
SecurityGroupCache *cache.Cache
8786
InstanceProfileCache *cache.Cache
8887
RoleCache *cache.Cache
@@ -138,7 +137,6 @@ func NewEnvironment(ctx context.Context, env *coretest.Environment) *Environment
138137
launchTemplateCache := cache.New(awscache.DefaultTTL, awscache.DefaultCleanupInterval)
139138
subnetCache := cache.New(awscache.DefaultTTL, awscache.DefaultCleanupInterval)
140139
availableIPAdressCache := cache.New(awscache.AvailableIPAddressTTL, awscache.DefaultCleanupInterval)
141-
associatePublicIPAddressCache := cache.New(awscache.AssociatePublicIPAddressTTL, awscache.DefaultCleanupInterval)
142140
securityGroupCache := cache.New(awscache.DefaultTTL, awscache.DefaultCleanupInterval)
143141
instanceProfileCache := cache.New(awscache.DefaultTTL, awscache.DefaultCleanupInterval)
144142
roleCache := cache.New(awscache.DefaultTTL, awscache.DefaultCleanupInterval)
@@ -155,7 +153,7 @@ func NewEnvironment(ctx context.Context, env *coretest.Environment) *Environment
155153

156154
// Providers
157155
pricingProvider := pricing.NewDefaultProvider(fakePricingAPI, ec2api, fake.DefaultRegion, false)
158-
subnetProvider := subnet.NewDefaultProvider(ec2api, subnetCache, availableIPAdressCache, associatePublicIPAddressCache)
156+
subnetProvider := subnet.NewDefaultProvider(ec2api, subnetCache, availableIPAdressCache)
159157
securityGroupProvider := securitygroup.NewDefaultProvider(ec2api, securityGroupCache)
160158
versionProvider := version.NewDefaultProvider(env.KubernetesInterface, eksapi)
161159
// Ensure we're able to hydrate the version before starting any reliant controllers.
@@ -229,7 +227,6 @@ func NewEnvironment(ctx context.Context, env *coretest.Environment) *Environment
229227
LaunchTemplateCache: launchTemplateCache,
230228
SubnetCache: subnetCache,
231229
AvailableIPAdressCache: availableIPAdressCache,
232-
AssociatePublicIPAddressCache: associatePublicIPAddressCache,
233230
SecurityGroupCache: securityGroupCache,
234231
InstanceProfileCache: instanceProfileCache,
235232
RoleCache: roleCache,
@@ -281,7 +278,6 @@ func (env *Environment) Reset() {
281278
env.OfferingCache.Flush()
282279
env.LaunchTemplateCache.Flush()
283280
env.SubnetCache.Flush()
284-
env.AssociatePublicIPAddressCache.Flush()
285281
env.AvailableIPAdressCache.Flush()
286282
env.SecurityGroupCache.Flush()
287283
env.InstanceProfileCache.Flush()

0 commit comments

Comments
 (0)