in tpu-provisioner/internal/cloud/gke_service.go [64:90]
func (g *GKENodePoolService) Delete(ctx context.Context, name string, callbacks OpCallbacks) error {
op, err := g.Service.Projects.Locations.Clusters.Delete(g.ClusterContext.NodePoolName(name)).Context(ctx).Do()
if err != nil {
if gerr, ok := err.(*googleapi.Error); ok && gerr.Code == http.StatusNotFound {
if callbacks.NotFound != nil {
callbacks.NotFound()
}
return nil
}
if callbacks.ReqFailure != nil {
callbacks.ReqFailure(err)
}
return fmt.Errorf("deleting node pool %q: %w", name, err)
}
if err := waitForGkeOp(g.Service, g.ClusterContext, op); err != nil {
if callbacks.OpFailure != nil {
callbacks.OpFailure(err)
}
return err
}
if callbacks.Success != nil {
callbacks.Success()
}
return nil
}