From 1d6a51aff912f660459e20a8aed47fdba6cc39ad Mon Sep 17 00:00:00 2001 From: Ciprian Hacman Date: Sat, 7 Nov 2020 10:11:22 +0200 Subject: [PATCH] Address review comments --- pkg/resources/aws/aws.go | 10 +++++----- upup/pkg/fi/cloudup/awstasks/launchtemplate.go | 9 ++++----- .../fi/cloudup/awstasks/launchtemplate_target_api.go | 2 +- upup/pkg/fi/cloudup/awsup/aws_cloud.go | 6 +++--- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/pkg/resources/aws/aws.go b/pkg/resources/aws/aws.go index d4f6978101..ce5f12ea75 100644 --- a/pkg/resources/aws/aws.go +++ b/pkg/resources/aws/aws.go @@ -145,7 +145,7 @@ func ListResourcesAWS(cloud awsup.AWSCloud, clusterName string) (map[string]*res if err != nil { return nil, err } - lts, err := FindAutoScalingLaunchTemplates(cloud, clusterName, securityGroups) + lts, err := FindAutoScalingLaunchTemplates(cloud, clusterName) if err != nil { return nil, err } @@ -1179,8 +1179,8 @@ func ListAutoScalingGroups(cloud fi.Cloud, clusterName string) ([]*resources.Res return resourceTrackers, nil } -// FindAutoScalingLaunchTemplates finds any launch configurations which reference the security groups -func FindAutoScalingLaunchTemplates(cloud fi.Cloud, clusterName string, securityGroups sets.String) ([]*resources.Resource, error) { +// FindAutoScalingLaunchTemplates finds any launch templates owned by the cluster (by tag). +func FindAutoScalingLaunchTemplates(cloud fi.Cloud, clusterName string) ([]*resources.Resource, error) { c := cloud.(awsup.AWSCloud) klog.V(2).Infof("Finding all AutoScaling LaunchTemplates owned by the cluster") @@ -1188,8 +1188,8 @@ func FindAutoScalingLaunchTemplates(cloud fi.Cloud, clusterName string, security input := &ec2.DescribeLaunchTemplatesInput{ Filters: []*ec2.Filter{ { - Name: aws.String("tag:KubernetesCluster"), - Values: []*string{aws.String(clusterName)}, + Name: aws.String("tag:kubernetes.io/cluster/" + clusterName), + Values: []*string{aws.String("owned")}, }, }, } diff --git a/upup/pkg/fi/cloudup/awstasks/launchtemplate.go b/upup/pkg/fi/cloudup/awstasks/launchtemplate.go index 0a5eaceda3..83fde74033 100644 --- a/upup/pkg/fi/cloudup/awstasks/launchtemplate.go +++ b/upup/pkg/fi/cloudup/awstasks/launchtemplate.go @@ -147,15 +147,14 @@ func (t *LaunchTemplate) CheckChanges(a, e, changes *LaunchTemplate) error { func (t *LaunchTemplate) FindDeletions(c *fi.Context) ([]fi.Deletion, error) { var removals []fi.Deletion - configurations, err := t.findAllLaunchTemplates(c) + list, err := t.findAllLaunchTemplates(c) if err != nil { return nil, err } - prefix := fmt.Sprintf("%s-", fi.StringValue(t.Name)) - for _, configuration := range configurations { - if strings.HasPrefix(aws.StringValue(configuration.LaunchTemplateName), prefix) { - removals = append(removals, &deleteLaunchTemplate{lc: configuration}) + for _, lt := range list { + if aws.StringValue(lt.LaunchTemplateName) != aws.StringValue(t.Name) { + removals = append(removals, &deleteLaunchTemplate{lc: lt}) } } diff --git a/upup/pkg/fi/cloudup/awstasks/launchtemplate_target_api.go b/upup/pkg/fi/cloudup/awstasks/launchtemplate_target_api.go index f813806ac7..54ea2afaf4 100644 --- a/upup/pkg/fi/cloudup/awstasks/launchtemplate_target_api.go +++ b/upup/pkg/fi/cloudup/awstasks/launchtemplate_target_api.go @@ -326,7 +326,7 @@ func (t *LaunchTemplate) findAllLaunchTemplates(c *fi.Context) ([]*ec2.LaunchTem return list, nil } -// findLatestLaunchTemplateVersion returns the latest template +// findLatestLaunchTemplateVersion returns the latest template version func (t *LaunchTemplate) findLatestLaunchTemplateVersion(c *fi.Context) (*ec2.LaunchTemplateVersion, error) { cloud, ok := c.Cloud.(awsup.AWSCloud) if !ok { diff --git a/upup/pkg/fi/cloudup/awsup/aws_cloud.go b/upup/pkg/fi/cloudup/awsup/aws_cloud.go index f9bd7cdc7c..34593ebc90 100644 --- a/upup/pkg/fi/cloudup/awsup/aws_cloud.go +++ b/upup/pkg/fi/cloudup/awsup/aws_cloud.go @@ -723,10 +723,10 @@ func findAutoscalingGroupLaunchConfiguration(c AWSCloud, g *autoscaling.Group) ( return "", fmt.Errorf("error finding launch template by ID: %q", id) } launchTemplate := output.LaunchTemplates[0] - if version == "" || version == "$Default" { - version = strconv.FormatInt(*launchTemplate.DefaultVersionNumber, 10) - } else { + if version == "$Latest" { version = strconv.FormatInt(*launchTemplate.LatestVersionNumber, 10) + } else { + version = strconv.FormatInt(*launchTemplate.DefaultVersionNumber, 10) } } klog.V(4).Infof("Launch Template Version used for compare: %q", version)