mirror of https://github.com/kubernetes/kops.git
Merge pull request #8038 from granular-ryanbonham/master-fixMixedInstanceRollingUpdates
Fix Handling of LaunchTemplate Versions for MixedInstancePolicy
This commit is contained in:
commit
5c1f09ee2e
|
|
@ -591,25 +591,30 @@ func findAutoscalingGroupLaunchConfiguration(c AWSCloud, g *autoscaling.Group) (
|
||||||
if g.MixedInstancesPolicy != nil {
|
if g.MixedInstancesPolicy != nil {
|
||||||
if g.MixedInstancesPolicy.LaunchTemplate != nil {
|
if g.MixedInstancesPolicy.LaunchTemplate != nil {
|
||||||
if g.MixedInstancesPolicy.LaunchTemplate.LaunchTemplateSpecification != nil {
|
if g.MixedInstancesPolicy.LaunchTemplate.LaunchTemplateSpecification != nil {
|
||||||
// honestly!!
|
|
||||||
name = aws.StringValue(g.MixedInstancesPolicy.LaunchTemplate.LaunchTemplateSpecification.LaunchTemplateName)
|
|
||||||
request := &ec2.DescribeLaunchTemplateVersionsInput{
|
|
||||||
LaunchTemplateName: &name,
|
|
||||||
}
|
|
||||||
|
|
||||||
versions, err := c.EC2().DescribeLaunchTemplateVersions(request)
|
|
||||||
if err != nil {
|
|
||||||
return "", fmt.Errorf("error finding versions for launch template: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
var version string
|
var version string
|
||||||
for _, v := range versions.LaunchTemplateVersions {
|
name = aws.StringValue(g.MixedInstancesPolicy.LaunchTemplate.LaunchTemplateSpecification.LaunchTemplateName)
|
||||||
if *v.DefaultVersion {
|
//See what version the ASG is set to use
|
||||||
version = strconv.FormatInt(*v.VersionNumber, 10)
|
mixedVersion := aws.StringValue(g.MixedInstancesPolicy.LaunchTemplate.LaunchTemplateSpecification.Version)
|
||||||
break
|
//Correctly Handle Default and Latest Versions
|
||||||
|
if mixedVersion == "$Default" || mixedVersion == "$Latest" {
|
||||||
|
request := &ec2.DescribeLaunchTemplatesInput{
|
||||||
|
LaunchTemplateNames: []*string{&name},
|
||||||
}
|
}
|
||||||
|
dltResponse, err := c.EC2().DescribeLaunchTemplates(request)
|
||||||
|
if err != nil {
|
||||||
|
return "", fmt.Errorf("error describing launch templates: %v", err)
|
||||||
|
}
|
||||||
|
launchTemplate := dltResponse.LaunchTemplates[0]
|
||||||
|
if mixedVersion == "$Default" {
|
||||||
|
version = strconv.FormatInt(*launchTemplate.DefaultVersionNumber, 10)
|
||||||
|
} else {
|
||||||
|
version = strconv.FormatInt(*launchTemplate.LatestVersionNumber, 10)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
version = mixedVersion
|
||||||
}
|
}
|
||||||
|
klog.V(4).Infof("Launch Template Version Specified By ASG: %v", mixedVersion)
|
||||||
|
klog.V(4).Infof("Launch Template Version we are using for compare: %v", version)
|
||||||
if name != "" {
|
if name != "" {
|
||||||
launchTemplate := name + ":" + version
|
launchTemplate := name + ":" + version
|
||||||
return launchTemplate, nil
|
return launchTemplate, nil
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue