@@ -85,6 +85,7 @@ func (c *EKS) NewEKSClient(*kingpin.ParseContext) error {
8585
8686 cl := eks .New (awsSession .Must (awsSession .NewSession ()), & aws.Config {
8787 Credentials : credentials .NewSharedCredentials (c .AuthFilename , "prombench" ),
88+ Region : aws .String (c .DeploymentVars ["REGION" ]),
8889 })
8990
9091 c .clientEKS = cl
@@ -153,22 +154,22 @@ func (c *EKS) K8SDeploymentsParse(*kingpin.ParseContext) error {
153154
154155// ClusterCreate create a new cluster or applies changes to an existing cluster.
155156func (c * EKS ) ClusterCreate (* kingpin.ParseContext ) error {
156- req := eksCluster {}
157+ req := & eksCluster {}
157158 for _ , deployment := range c .eksResources {
158159
159160 if err := yamlGo .UnmarshalStrict (deployment .Content , req ); err != nil {
160161 log .Fatalf ("Error parsing the cluster deployment file %s:%v" , deployment .FileName , err )
161162 }
162163
163- log .Printf ("Cluster create request: name:'%v'" , req .Cluster .Name )
164+ log .Printf ("Cluster create request: name:'%v'" , * req .Cluster .Name )
164165 _ , err := c .clientEKS .CreateCluster (& req .Cluster )
165166 if err != nil {
166- log .Fatalf ("Couldn't create cluster '%v', file:%v ,err: %v" , req .Cluster .Name , deployment .FileName , err )
167+ log .Fatalf ("Couldn't create cluster '%v', file:%v ,err: %v" , * req .Cluster .Name , deployment .FileName , err )
167168 }
168169
169170 err = provider .RetryUntilTrue (
170- fmt .Sprintf ("creating cluster:%v" , req .Cluster .Name ),
171- provider . GlobalRetryCount ,
171+ fmt .Sprintf ("creating cluster:%v" , * req .Cluster .Name ),
172+ 1000 ,
172173 func () (bool , error ) { return c .clusterRunning (* req .Cluster .Name ) },
173174 )
174175
@@ -178,16 +179,16 @@ func (c *EKS) ClusterCreate(*kingpin.ParseContext) error {
178179
179180 for _ , nodegroupReq := range req .NodeGroups {
180181 nodegroupReq .ClusterName = req .Cluster .Name
181- log .Printf ("Nodegroup create request: NodeGroupName: '%v ', ClusterName: '%v '" , nodegroupReq .NodegroupName , req .Cluster .Name )
182+ log .Printf ("Nodegroup create request: NodeGroupName: '%s ', ClusterName: '%s '" , * nodegroupReq .NodegroupName , * req .Cluster .Name )
182183 _ , err := c .clientEKS .CreateNodegroup (& nodegroupReq )
183184 if err != nil {
184185 log .Fatalf ("Couldn't create nodegroup '%v' for cluster '%v, file:%v ,err: %v" , nodegroupReq .NodegroupName , req .Cluster .Name , deployment .FileName , err )
185186 break
186187 }
187188
188189 err = provider .RetryUntilTrue (
189- fmt .Sprintf ("creating nodegroup:%v for cluster:%v " , nodegroupReq .NodegroupName , req .Cluster .Name ),
190- provider . GlobalRetryCount ,
190+ fmt .Sprintf ("creating nodegroup:%s for cluster:%s " , * nodegroupReq .NodegroupName , * req .Cluster .Name ),
191+ 1000 ,
191192 func () (bool , error ) { return c .nodeGroupCreated (* nodegroupReq .NodegroupName , * req .Cluster .Name ) },
192193 )
193194
@@ -201,7 +202,7 @@ func (c *EKS) ClusterCreate(*kingpin.ParseContext) error {
201202
202203// ClusterDelete deletes a eks Cluster
203204func (c * EKS ) ClusterDelete (* kingpin.ParseContext ) error {
204- req := eksCluster {}
205+ req := & eksCluster {}
205206 for _ , deployment := range c .eksResources {
206207
207208 if err := yamlGo .UnmarshalStrict (deployment .Content , req ); err != nil {
@@ -236,7 +237,7 @@ func (c *EKS) ClusterDelete(*kingpin.ParseContext) error {
236237 }
237238
238239 err = provider .RetryUntilTrue (
239- fmt .Sprintf ("creating nodegroup:%v for cluster:%v" , * nodegroup , * req .Cluster .Name ),
240+ fmt .Sprintf ("deleting nodegroup:%v for cluster:%v" , * nodegroup , * req .Cluster .Name ),
240241 provider .GlobalRetryCount ,
241242 func () (bool , error ) { return c .nodeGroupDeleted (* nodegroup , * req .Cluster .Name ) },
242243 )
@@ -257,10 +258,11 @@ func (c *EKS) ClusterDelete(*kingpin.ParseContext) error {
257258 Name : req .Cluster .Name ,
258259 }
259260
260- log .Printf ("Removing cluster '%v'" , reqD .Name )
261+ log .Printf ("Removing cluster '%v'" , * reqD .Name )
262+ c .clientEKS .DeleteCluster (reqD )
261263
262264 err := provider .RetryUntilTrue (
263- fmt .Sprintf ("deleting cluster:%v" , reqD .Name ),
265+ fmt .Sprintf ("deleting cluster:%v" , * reqD .Name ),
264266 provider .GlobalRetryCount ,
265267 func () (bool , error ) { return c .clusterDeleted (* reqD .Name ) })
266268
@@ -299,7 +301,7 @@ func (c *EKS) clusterDeleted(name string) (bool, error) {
299301 }
300302 clusterRes , err := c .clientEKS .DescribeCluster (req )
301303 if err != nil {
302- if aerr , ok := err .(awserr.Error ); ok && aerr .Code () == eks .ErrCodeNotFoundException {
304+ if aerr , ok := err .(awserr.Error ); ok && aerr .Code () == eks .ErrCodeResourceNotFoundException {
303305 return true , nil
304306 }
305307 return false , fmt .Errorf ("Couldn't get cluster status: %v" , err )
@@ -311,7 +313,7 @@ func (c *EKS) clusterDeleted(name string) (bool, error) {
311313
312314// NodeGroupCreate creates a new k8s nodegroup in an existing cluster.
313315func (c * EKS ) NodeGroupCreate (* kingpin.ParseContext ) error {
314- req := eksCluster {}
316+ req := & eksCluster {}
315317 for _ , deployment := range c .eksResources {
316318
317319 if err := yamlGo .UnmarshalStrict (deployment .Content , req ); err != nil {
@@ -320,15 +322,15 @@ func (c *EKS) NodeGroupCreate(*kingpin.ParseContext) error {
320322
321323 for _ , nodegroupReq := range req .NodeGroups {
322324 nodegroupReq .ClusterName = req .Cluster .Name
323- log .Printf ("Nodegroup create request: NodeGroupName: '%v ', ClusterName: '%v '" , nodegroupReq .NodegroupName , req .Cluster .Name )
325+ log .Printf ("Nodegroup create request: NodeGroupName: '%s ', ClusterName: '%s '" , * nodegroupReq .NodegroupName , * req .Cluster .Name )
324326 _ , err := c .clientEKS .CreateNodegroup (& nodegroupReq )
325327 if err != nil {
326- log .Fatalf ("Couldn't create nodegroup '%v ' for cluster '%v , file:%v ,err: %v" , nodegroupReq .NodegroupName , req .Cluster .Name , deployment .FileName , err )
328+ log .Fatalf ("Couldn't create nodegroup '%s ' for cluster '%s' , file:%v ,err: %v" , * nodegroupReq .NodegroupName , * req .Cluster .Name , deployment .FileName , err )
327329 break
328330 }
329331
330332 err = provider .RetryUntilTrue (
331- fmt .Sprintf ("creating nodegroup:%v for cluster:%v " , nodegroupReq .NodegroupName , req .Cluster .Name ),
333+ fmt .Sprintf ("creating nodegroup:%s for cluster:%s " , * nodegroupReq .NodegroupName , * req .Cluster .Name ),
332334 provider .GlobalRetryCount ,
333335 func () (bool , error ) { return c .nodeGroupCreated (* nodegroupReq .NodegroupName , * req .Cluster .Name ) },
334336 )
@@ -343,26 +345,26 @@ func (c *EKS) NodeGroupCreate(*kingpin.ParseContext) error {
343345
344346// NodeGroupDelete deletes a k8s nodegroup in an existing cluster
345347func (c * EKS ) NodeGroupDelete (* kingpin.ParseContext ) error {
346- req := eksCluster {}
348+ req := & eksCluster {}
347349 for _ , deployment := range c .eksResources {
348350 if err := yamlGo .UnmarshalStrict (deployment .Content , req ); err != nil {
349351 log .Fatalf ("Error parsing the cluster deployment file %s:%v" , deployment .FileName , err )
350352 }
351353
352354 for _ , nodegroupReq := range req .NodeGroups {
353355 nodegroupReq .ClusterName = req .Cluster .Name
354- log .Printf ("Nodegroup delete request: NodeGroupName: '%v ', ClusterName: '%v '" , nodegroupReq .NodegroupName , req .Cluster .Name )
356+ log .Printf ("Nodegroup delete request: NodeGroupName: '%s ', ClusterName: '%s '" , * nodegroupReq .NodegroupName , * req .Cluster .Name )
355357 reqD := eks.DeleteNodegroupInput {
356358 ClusterName : req .Cluster .Name ,
357359 NodegroupName : nodegroupReq .NodegroupName ,
358360 }
359361 _ , err := c .clientEKS .DeleteNodegroup (& reqD )
360362 if err != nil {
361- log .Fatalf ("Couldn't create nodegroup '%v ' for cluster '%v , file:%v ,err: %v" , nodegroupReq .NodegroupName , req .Cluster .Name , deployment .FileName , err )
363+ log .Fatalf ("Couldn't delete nodegroup '%s ' for cluster '%s , file:%v ,err: %v" , * nodegroupReq .NodegroupName , * req .Cluster .Name , deployment .FileName , err )
362364 break
363365 }
364366 err = provider .RetryUntilTrue (
365- fmt .Sprintf ("creating nodegroup:%v for cluster:%v " , nodegroupReq .NodegroupName , req .Cluster .Name ),
367+ fmt .Sprintf ("deleting nodegroup:%s for cluster:%s " , * nodegroupReq .NodegroupName , * req .Cluster .Name ),
366368 provider .GlobalRetryCount ,
367369 func () (bool , error ) { return c .nodeGroupDeleted (* nodegroupReq .NodegroupName , * req .Cluster .Name ) },
368370 )
@@ -404,7 +406,7 @@ func (c *EKS) nodeGroupDeleted(nodegroupName, clusterName string) (bool, error)
404406 }
405407 nodegroupRes , err := c .clientEKS .DescribeNodegroup (req )
406408 if err != nil {
407- if aerr , ok := err .(awserr.Error ); ok && aerr .Code () == eks .ErrCodeNotFoundException {
409+ if aerr , ok := err .(awserr.Error ); ok && aerr .Code () == eks .ErrCodeResourceNotFoundException {
408410 return true , nil
409411 }
410412 return false , fmt .Errorf ("Couldn't get nodegroupname status: %v" , err )
@@ -416,7 +418,7 @@ func (c *EKS) nodeGroupDeleted(nodegroupName, clusterName string) (bool, error)
416418
417419// AllNodeGroupsRunning returns an error if at least one node pool is not running
418420func (c * EKS ) AllNodeGroupsRunning (* kingpin.ParseContext ) error {
419- req := eksCluster {}
421+ req := & eksCluster {}
420422 for _ , deployment := range c .eksResources {
421423 if err := yamlGo .UnmarshalStrict (deployment .Content , req ); err != nil {
422424 log .Fatalf ("Error parsing the cluster deployment file %s:%v" , deployment .FileName , err )
@@ -436,17 +438,17 @@ func (c *EKS) AllNodeGroupsRunning(*kingpin.ParseContext) error {
436438
437439// AllNodeGroupsDeleted returns an error if at least one node pool is not deleted
438440func (c * EKS ) AllNodeGroupsDeleted (* kingpin.ParseContext ) error {
439- req := eksCluster {}
441+ req := & eksCluster {}
440442 for _ , deployment := range c .eksResources {
441443 if err := yamlGo .UnmarshalStrict (deployment .Content , req ); err != nil {
442444 log .Fatalf ("Error parsing the cluster deployment file %s:%v" , deployment .FileName , err )
443445 }
444446 for _ , nodegroup := range req .NodeGroups {
445- isRunning , err := c .nodeGroupCreated (* nodegroup .NodegroupName , * req .Cluster .Name )
447+ isRunning , err := c .nodeGroupDeleted (* nodegroup .NodegroupName , * req .Cluster .Name )
446448 if err != nil {
447449 log .Fatalf ("error fetching nodegroup info" )
448450 }
449- if isRunning {
451+ if ! isRunning {
450452 log .Fatalf ("nodepool not running name: %v" , * nodegroup .NodegroupName )
451453 }
452454 }
0 commit comments