Merge pull request #2588 from lavalamp/fix4

Relax search criteria to find both pod & bound pod events
pull/6/head
Eric Tune 2014-12-02 09:40:32 -08:00
commit 860d845d2c
2 changed files with 21 additions and 9 deletions

View File

@ -117,14 +117,21 @@ func (e *events) Search(objOrRef runtime.Object) (*api.EventList, error) {
if err != nil {
return nil, err
}
// TODO: search by UID if it's set
fields := labels.Set{
"involvedObject.kind": ref.Kind,
"involvedObject.namespace": ref.Namespace,
"involvedObject.name": ref.Name,
}.AsSelector()
if e.namespace != "" && ref.Namespace != e.namespace {
return nil, fmt.Errorf("won't be able to find any events of namespace '%v' in namespace '%v'", ref.Namespace, e.namespace)
}
return e.List(labels.Everything(), fields)
fields := labels.Set{}
if ref.Kind != "" {
fields["involvedObject.kind"] = ref.Kind
}
if ref.Namespace != "" {
fields["involvedObject.namespace"] = ref.Namespace
}
if ref.Name != "" {
fields["involvedObject.name"] = ref.Name
}
if ref.UID != "" {
fields["involvedObject.uid"] = ref.UID
}
return e.List(labels.Everything(), fields.AsSelector())
}

View File

@ -66,7 +66,6 @@ func (d *PodDescriber) Describe(namespace, name string) (string, error) {
labels.Everything(),
labels.Set{
"involvedObject.name": name,
"involvedObject.kind": "Pod",
"involvedObject.namespace": namespace,
}.AsSelector(),
)
@ -86,7 +85,13 @@ func (d *PodDescriber) Describe(namespace, name string) (string, error) {
glog.Errorf("Unable to convert pod manifest: %v", err)
}
events, _ := d.Events(namespace).Search(pod)
var events *api.EventList
if ref, err := api.GetReference(pod); err != nil {
glog.Errorf("Unable to construct reference to '%#v': %v", pod, err)
} else {
ref.Kind = "" // Find BoundPod objects, too!
events, _ = d.Events(namespace).Search(ref)
}
return tabbedString(func(out io.Writer) error {
fmt.Fprintf(out, "Name:\t%s\n", pod.Name)