func()

in tpu-provisioner/internal/cloud/gke.go [167:197]


func (g *GKE) ListNodePools() ([]NodePoolRef, error) {
	var refs []NodePoolRef

	resp, err := g.NodePools.List(context.TODO())
	if err != nil {
		return nil, fmt.Errorf("listing node pools: %w", err)
	}

	for _, np := range resp.NodePools {
		jsName, exists := np.Config.Labels[LabelJobSetName]
		if !exists {
			jsName = np.Config.Labels[LabelProvisionerNodepoolID]
		}
		jsNamespace, exists := np.Config.Labels[LabelJobSetNamespace]
		if !exists {
			jsNamespace = "default"
		}

		refs = append(refs, NodePoolRef{
			Name:    np.Name,
			Error:   np.Status == "ERROR",
			Message: np.StatusMessage,
			CreatedForJobSet: types.NamespacedName{
				Name:      jsName,
				Namespace: jsNamespace,
			},
		})
	}

	return refs, nil
}