@@ -12,13 +12,13 @@ import (
1212 "testing"
1313 "time"
1414
15- "github.com/aws/aws-sdk-go-v2/service/ec2"
16- ekstypes "github.com/aws/aws-sdk-go-v2/service/eks/types"
17-
1815 "github.com/aws/aws-sdk-go-v2/aws"
1916 cfn "github.com/aws/aws-sdk-go-v2/service/cloudformation"
2017 "github.com/aws/aws-sdk-go-v2/service/cloudformation/types"
18+ "github.com/aws/aws-sdk-go-v2/service/ec2"
19+ ec2types "github.com/aws/aws-sdk-go-v2/service/ec2/types"
2120 awseks "github.com/aws/aws-sdk-go-v2/service/eks"
21+ ekstypes "github.com/aws/aws-sdk-go-v2/service/eks/types"
2222
2323 . "github.com/onsi/ginkgo/v2"
2424 . "github.com/onsi/gomega"
@@ -74,7 +74,15 @@ var _ = BeforeSuite(func() {
7474 clusterProvider , err := eks .New (context .Background (), & api.ProviderConfig {Region : params .Region }, cfg )
7575 Expect (err ).NotTo (HaveOccurred ())
7676 ctl = clusterProvider .AWSProvider
77- cfg .VPC = createClusterWithNodeGroup (context .Background (), params .ClusterName , stackName , mng1 , version , ctl )
77+ ctx := context .Background ()
78+ cfg .VPC = createClusterWithNodeGroup (ctx , params .ClusterName , stackName , mng1 , version , ctl )
79+ DeferCleanup (func () {
80+ By (fmt .Sprintf ("deleting launch template: %s" , params .ClusterName ))
81+ _ , err := ctl .EC2 ().DeleteLaunchTemplate (ctx , & ec2.DeleteLaunchTemplateInput {
82+ LaunchTemplateName : aws .String (params .ClusterName ),
83+ })
84+ Expect (err ).NotTo (HaveOccurred ())
85+ })
7886 }
7987})
8088
@@ -412,6 +420,17 @@ func createClusterWithNodeGroup(ctx context.Context, clusterName, stackName, ng1
412420 },
413421 }
414422
423+ launchTemplate , err := ctl .EC2 ().CreateLaunchTemplate (ctx , & ec2.CreateLaunchTemplateInput {
424+ LaunchTemplateData : & ec2types.RequestLaunchTemplateData {
425+ MetadataOptions : & ec2types.LaunchTemplateInstanceMetadataOptionsRequest {
426+ HttpPutResponseHopLimit : aws .Int32 (1 ),
427+ HttpTokens : ec2types .LaunchTemplateHttpTokensStateRequired ,
428+ },
429+ },
430+ LaunchTemplateName : aws .String (params .ClusterName ),
431+ })
432+ Expect (err ).NotTo (HaveOccurred ())
433+
415434 _ , err = ctl .EKS ().CreateNodegroup (ctx , & awseks.CreateNodegroupInput {
416435 NodegroupName : & ng1 ,
417436 ClusterName : & clusterName ,
@@ -422,16 +441,16 @@ func createClusterWithNodeGroup(ctx context.Context, clusterName, stackName, ng1
422441 DesiredSize : aws .Int32 (1 ),
423442 MinSize : aws .Int32 (1 ),
424443 },
444+ LaunchTemplate : & ekstypes.LaunchTemplateSpecification {
445+ Id : launchTemplate .LaunchTemplate .LaunchTemplateId ,
446+ },
425447 })
426448 Expect (err ).NotTo (HaveOccurred ())
427- Eventually (func () string {
428- out , err := ctl .EKS ().DescribeNodegroup (ctx , & awseks.DescribeNodegroupInput {
429- ClusterName : & clusterName ,
430- NodegroupName : & ng1 ,
431- })
432- Expect (err ).NotTo (HaveOccurred ())
433- return string (out .Nodegroup .Status )
434- }, timeoutDuration , time .Second * 30 ).Should (Equal ("ACTIVE" ))
449+ waiter := awseks .NewNodegroupActiveWaiter (ctl .EKS ())
450+ Expect (waiter .Wait (ctx , & awseks.DescribeNodegroupInput {
451+ ClusterName : & clusterName ,
452+ NodegroupName : & ng1 ,
453+ }, timeoutDuration )).To (Succeed ())
435454
436455 return newVPC
437456}
0 commit comments