// Query fetches all releases that match the provided map of labels. // An error is returned if the configmap fails to retrieve the releases. func (cfgmaps *ConfigMaps) Query(labels map[string]string) ([]*rspb.Release, error) { ls := kblabels.Set{} for k, v := range labels { ls[k] = v } opts := api.ListOptions{LabelSelector: ls.AsSelector()} list, err := cfgmaps.impl.List(opts) if err != nil { logerrf(err, "query: failed to query with labels") return nil, err } if len(list.Items) == 0 { return nil, ErrReleaseNotFound } var results []*rspb.Release for _, item := range list.Items { rls, err := decodeRelease(item.Data["release"]) if err != nil { logerrf(err, "query: failed to decode release: %s", err) continue } results = append(results, rls) } return results, nil }
func printDebugInfo(c *client.Client) { set := labels.Set{"k8s-app": "heapster"} options := api.ListOptions{LabelSelector: set.AsSelector()} podList, err := c.Pods(api.NamespaceSystem).List(options) if err != nil { Logf("Error while listing pods %v", err) return } for _, pod := range podList.Items { Logf("Kubectl output:\n%v", runKubectlOrDie("log", pod.Name, "--namespace=kube-system")) } }
func printDebugInfo(c clientset.Interface) { set := labels.Set{"k8s-app": "heapster"} options := api.ListOptions{LabelSelector: set.AsSelector()} podList, err := c.Core().Pods(api.NamespaceSystem).List(options) if err != nil { framework.Logf("Error while listing pods %v", err) return } for _, pod := range podList.Items { framework.Logf("Kubectl output:\n%v", framework.RunKubectlOrDie("log", pod.Name, "--namespace=kube-system", "--container=heapster")) } }