in pkg/provider/eks/eks.go [396:427]
func (c *EKS) NodeGroupDelete(*kingpin.ParseContext) error {
req := &eksCluster{}
for _, deployment := range c.eksResources {
if err := yamlGo.UnmarshalStrict(deployment.Content, req); err != nil {
return fmt.Errorf("Error parsing the cluster deployment file %s:%v", deployment.FileName, err)
}
for _, nodegroupReq := range req.NodeGroups {
nodegroupReq.ClusterName = req.Cluster.Name
log.Printf("Nodegroup delete request: NodeGroupName: '%s', ClusterName: '%s'", *nodegroupReq.NodegroupName, *req.Cluster.Name)
reqD := eks.DeleteNodegroupInput{
ClusterName: req.Cluster.Name,
NodegroupName: nodegroupReq.NodegroupName,
}
_, err := c.clientEKS.DeleteNodegroup(&reqD)
if err != nil {
return fmt.Errorf("Couldn't delete nodegroup '%s' for cluster '%s, file:%v ,err: %v", *nodegroupReq.NodegroupName, *req.Cluster.Name, deployment.FileName, err)
}
err = provider.RetryUntilTrue(
fmt.Sprintf("deleting nodegroup:%s for cluster:%s", *nodegroupReq.NodegroupName, *req.Cluster.Name),
provider.GlobalRetryCount,
func() (bool, error) { return c.nodeGroupDeleted(*nodegroupReq.NodegroupName, *req.Cluster.Name) },
)
if err != nil {
return fmt.Errorf("deleting nodegroup err:%v", err)
}
}
}
return nil
}