in internal/deployers/eksapi/node.go [498:524]
func (m *nodeManager) deleteManagedNodegroup() error {
input := eks.DeleteNodegroupInput{
ClusterName: aws.String(m.resourceID),
NodegroupName: aws.String(m.resourceID),
}
klog.Infof("deleting nodegroup...")
out, err := m.clients.EKS().DeleteNodegroup(context.TODO(), &input)
if err != nil {
var notFound *ekstypes.ResourceNotFoundException
if errors.As(err, ¬Found) {
klog.Infof("nodegroup does not exist: %s", m.resourceID)
return nil
}
return fmt.Errorf("failed to delete nodegroup: %v", err)
}
klog.Infof("waiting for nodegroup deletion: %s", *out.Nodegroup.NodegroupArn)
err = eks.NewNodegroupDeletedWaiter(m.clients.EKS()).
Wait(context.TODO(), &eks.DescribeNodegroupInput{
ClusterName: input.ClusterName,
NodegroupName: input.NodegroupName,
}, nodeDeletionTimeout)
if err != nil {
return fmt.Errorf("failed to wait for nodegroup deletion: %v", err)
}
klog.Infof("nodegroup deleted: %s", *out.Nodegroup.NodegroupArn)
return nil
}