@@ -757,32 +757,7 @@ func getKarpenterGroups(c AWSCloud, cluster *kops.Cluster, instancegroups []*kop
757757func buildKarpenterGroup (c AWSCloud , cluster * kops.Cluster , ig * kops.InstanceGroup , nodes []v1.Node ) (* cloudinstances.CloudInstanceGroup , error ) {
758758 ctx := context .TODO ()
759759 nodeMap := cloudinstances .GetNodeMap (nodes , cluster )
760- instances := make (map [string ]* ec2types.Instance )
761- updatedInstances := make (map [string ]* ec2types.Instance )
762760 clusterName := c .Tags ()[TagClusterName ]
763- var version string
764-
765- {
766- input := & ec2.DescribeLaunchTemplatesInput {
767- Filters : []ec2types.Filter {
768- NewEC2Filter ("tag:" + identity_aws .CloudTagInstanceGroupName , ig .ObjectMeta .Name ),
769- NewEC2Filter ("tag:" + TagClusterName , clusterName ),
770- },
771- }
772- var list []ec2types.LaunchTemplate
773- paginator := ec2 .NewDescribeLaunchTemplatesPaginator (c .EC2 (), input )
774- for paginator .HasMorePages () {
775- page , err := paginator .NextPage (ctx )
776- if err != nil {
777- return nil , fmt .Errorf ("error listing launch templates: %v" , err )
778- }
779- list = append (list , page .LaunchTemplates ... )
780- }
781- lt := list [0 ]
782- versionNumber := * lt .LatestVersionNumber
783- version = strconv .Itoa (int (versionNumber ))
784-
785- }
786761
787762 karpenterGroup := & cloudinstances.CloudInstanceGroup {
788763 InstanceGroup : ig ,
@@ -805,51 +780,12 @@ func buildKarpenterGroup(c AWSCloud, cluster *kops.Cluster, ig *kops.InstanceGro
805780 for _ , r := range result .Reservations {
806781 for _ , i := range r .Instances {
807782 id := aws .ToString (i .InstanceId )
808- instances [id ] = & i
783+ cloudInstance , _ := karpenterGroup .NewCloudInstance (aws .ToString (i .InstanceId ), cloudinstances .CloudInstanceStatusUpToDate , nodeMap [id ])
784+ addCloudInstanceData (cloudInstance , & i )
809785 }
810786 }
811787 }
812788
813- klog .V (2 ).Infof ("found %d karpenter instances" , len (instances ))
814-
815- {
816- req := & ec2.DescribeInstancesInput {
817- Filters : []ec2types.Filter {
818- NewEC2Filter ("tag:" + identity_aws .CloudTagInstanceGroupName , ig .ObjectMeta .Name ),
819- NewEC2Filter ("tag:" + TagClusterName , clusterName ),
820- NewEC2Filter ("instance-state-name" , "pending" , "running" , "stopping" , "stopped" ),
821- NewEC2Filter ("tag:aws:ec2launchtemplate:version" , version ),
822- },
823- }
824-
825- result , err := c .EC2 ().DescribeInstances (ctx , req )
826- if err != nil {
827- return nil , err
828- }
829-
830- for _ , r := range result .Reservations {
831- for _ , i := range r .Instances {
832- id := aws .ToString (i .InstanceId )
833- updatedInstances [id ] = & i
834- }
835- }
836- }
837- klog .V (2 ).Infof ("found %d updated instances" , len (updatedInstances ))
838-
839- {
840- for _ , instance := range instances {
841- id := * instance .InstanceId
842- _ , ready := updatedInstances [id ]
843- var status string
844- if ready {
845- status = cloudinstances .CloudInstanceStatusUpToDate
846- } else {
847- status = cloudinstances .CloudInstanceStatusNeedsUpdate
848- }
849- cloudInstance , _ := karpenterGroup .NewCloudInstance (id , status , nodeMap [id ])
850- addCloudInstanceData (cloudInstance , instance )
851- }
852- }
853789 return karpenterGroup , nil
854790}
855791
0 commit comments