func (h *HealthyMinionRegistry) List() (currentMinions []string, err error) { var result []string list, err := h.delegate.List() if err != nil { return result, err } for _, minion := range list { status, err := health.Check(h.makeMinionURL(minion), h.client) if err != nil { return result, err } if status == health.Healthy { result = append(result, minion) } } return result, nil }
func (h *HealthyMinionRegistry) Contains(minion string) (bool, error) { contains, err := h.delegate.Contains(minion) if err != nil { return false, err } if !contains { return false, nil } status, err := health.Check(h.makeMinionURL(minion), h.client) if err != nil { return false, err } if status == health.Unhealthy { return false, nil } return true, nil }
func (h *HealthyMinionRegistry) List() (currentMinions []string, err error) { var result []string list, err := h.delegate.List() if err != nil { return result, err } for _, minion := range list { status, err := health.Check(h.makeMinionURL(minion), h.client) if err != nil { glog.Errorf("%s failed health check with error: %s", minion, err) continue } if status == health.Healthy { result = append(result, minion) } } return result, nil }