func (f *FakePodStore) ListPods(podPrefix kp.PodPrefix, hostname types.NodeName) ([]kp.ManifestResult, time.Duration, error) { f.podLock.Lock() defer f.podLock.Unlock() res := make([]kp.ManifestResult, 0) for key, manifest := range f.podResults { if key.podPrefix == podPrefix && key.hostname == hostname { // TODO(mpuncel) make ManifestResult not contain the path, it's silly to have to do things like this path := path.Join(string(podPrefix), hostname.String(), string(manifest.ID())) uniqueKey, err := kp.PodUniqueKeyFromConsulPath(path) if err != nil { return nil, 0, err } res = append(res, kp.ManifestResult{ Manifest: manifest, PodLocation: types.PodLocation{ Node: hostname, PodID: manifest.ID(), }, PodUniqueKey: uniqueKey, }) } } return res, 0, nil }
func (f *FakePodStore) AllPods(podPrefix kp.PodPrefix) ([]kp.ManifestResult, time.Duration, error) { f.podLock.Lock() defer f.podLock.Unlock() res := make([]kp.ManifestResult, 0) for key, manifest := range f.podResults { if key.podPrefix != podPrefix { continue } path := path.Join(string(podPrefix), key.hostname.String(), string(manifest.ID())) uniqueKey, err := kp.PodUniqueKeyFromConsulPath(path) if err != nil { return nil, 0, err } res = append(res, kp.ManifestResult{ Manifest: manifest, PodLocation: types.PodLocation{ Node: key.hostname, PodID: manifest.ID(), }, PodUniqueKey: uniqueKey, }) } return res, 0, nil }