Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 809a0ad

Browse files
jmdealedibble21
authored andcommittedFeb 19, 2025
fix: spurious logging from the ssm invalidation controller (aws#7698)
1 parent e206598 commit 809a0ad

File tree

3 files changed

+17
-10
lines changed

3 files changed

+17
-10
lines changed
 

‎pkg/controllers/nodeclass/ami.go

+16
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,26 @@ import (
2222

2323
"github.com/samber/lo"
2424
corev1 "k8s.io/api/core/v1"
25+
"sigs.k8s.io/controller-runtime/pkg/log"
2526
"sigs.k8s.io/controller-runtime/pkg/reconcile"
2627

2728
karpv1 "sigs.k8s.io/karpenter/pkg/apis/v1"
29+
"sigs.k8s.io/karpenter/pkg/utils/pretty"
2830

2931
v1 "github.com/aws/karpenter-provider-aws/pkg/apis/v1"
3032
"github.com/aws/karpenter-provider-aws/pkg/providers/amifamily"
3133
)
3234

3335
type AMI struct {
3436
amiProvider amifamily.Provider
37+
cm *pretty.ChangeMonitor
38+
}
39+
40+
func NewAMIReconciler(provider amifamily.Provider) *AMI {
41+
return &AMI{
42+
amiProvider: provider,
43+
cm: pretty.NewChangeMonitor(),
44+
}
3545
}
3646

3747
func (a *AMI) Reconcile(ctx context.Context, nodeClass *v1.EC2NodeClass) (reconcile.Result, error) {
@@ -46,6 +56,12 @@ func (a *AMI) Reconcile(ctx context.Context, nodeClass *v1.EC2NodeClass) (reconc
4656
// Returning 'ok' in this case means that the nodeclass will remain in an unready state until the component is restarted.
4757
return reconcile.Result{RequeueAfter: time.Minute}, nil
4858
}
59+
if uniqueAMIs := lo.Uniq(lo.Map(amis, func(a amifamily.AMI, _ int) string {
60+
return a.AmiID
61+
})); a.cm.HasChanged(fmt.Sprintf("amis/%s", nodeClass.Name), uniqueAMIs) {
62+
log.FromContext(ctx).WithValues("ids", uniqueAMIs).V(1).Info("discovered amis")
63+
}
64+
4965
nodeClass.Status.AMIs = lo.Map(amis, func(ami amifamily.AMI, _ int) v1.AMI {
5066
reqs := lo.Map(ami.Requirements.NodeSelectorRequirements(), func(item karpv1.NodeSelectorRequirementWithMinValues, _ int) corev1.NodeSelectorRequirement {
5167
return item.NodeSelectorRequirement

‎pkg/controllers/nodeclass/controller.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ func NewController(kubeClient client.Client, recorder events.Recorder, subnetPro
7575
kubeClient: kubeClient,
7676
recorder: recorder,
7777
launchTemplateProvider: launchTemplateProvider,
78-
ami: &AMI{amiProvider: amiProvider},
78+
ami: NewAMIReconciler(amiProvider),
7979
subnet: &Subnet{subnetProvider: subnetProvider},
8080
securityGroup: &SecurityGroup{securityGroupProvider: securityGroupProvider},
8181
instanceProfile: &InstanceProfile{instanceProfileProvider: instanceProfileProvider},

‎pkg/providers/amifamily/ami.go

-9
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,13 @@ import (
2626
"github.com/patrickmn/go-cache"
2727
"github.com/samber/lo"
2828
"k8s.io/utils/clock"
29-
"sigs.k8s.io/controller-runtime/pkg/log"
3029

3130
v1 "github.com/aws/karpenter-provider-aws/pkg/apis/v1"
3231
sdk "github.com/aws/karpenter-provider-aws/pkg/aws"
3332
"github.com/aws/karpenter-provider-aws/pkg/providers/version"
3433

3534
"sigs.k8s.io/karpenter/pkg/cloudprovider"
3635
"sigs.k8s.io/karpenter/pkg/scheduling"
37-
"sigs.k8s.io/karpenter/pkg/utils/pretty"
3836

3937
"github.com/aws/karpenter-provider-aws/pkg/providers/ssm"
4038
)
@@ -49,7 +47,6 @@ type DefaultProvider struct {
4947
clk clock.Clock
5048
cache *cache.Cache
5149
ec2api sdk.EC2API
52-
cm *pretty.ChangeMonitor
5350
versionProvider version.Provider
5451
ssmProvider ssm.Provider
5552
}
@@ -59,7 +56,6 @@ func NewDefaultProvider(clk clock.Clock, versionProvider version.Provider, ssmPr
5956
clk: clk,
6057
cache: cache,
6158
ec2api: ec2api,
62-
cm: pretty.NewChangeMonitor(),
6359
versionProvider: versionProvider,
6460
ssmProvider: ssmProvider,
6561
}
@@ -78,11 +74,6 @@ func (p *DefaultProvider) List(ctx context.Context, nodeClass *v1.EC2NodeClass)
7874
return nil, err
7975
}
8076
amis.Sort()
81-
uniqueAMIs := lo.Uniq(lo.Map(amis, func(a AMI, _ int) string { return a.AmiID }))
82-
if p.cm.HasChanged(fmt.Sprintf("amis/%s", nodeClass.Name), uniqueAMIs) {
83-
log.FromContext(ctx).WithValues(
84-
"ids", uniqueAMIs).V(1).Info("discovered amis")
85-
}
8677
return amis, nil
8778
}
8879

0 commit comments

Comments
 (0)
Please sign in to comment.