By("retrieving the pod") podWithUid, err := podClient.Get(pod.Name) if err != nil { Failf("Failed to get pod: %v", err) } fmt.Printf("%+v\n", podWithUid) var events *api.EventList // Check for scheduler event about the pod. By("checking for scheduler event about the pod") expectNoError(wait.Poll(time.Second*2, time.Second*60, func() (bool, error) { events, err := c.Events(api.NamespaceDefault).List( labels.Everything(), fields.Set{ "involvedObject.kind": "Pod", "involvedObject.uid": string(podWithUid.UID), "involvedObject.namespace": api.NamespaceDefault, "source": "scheduler", }.AsSelector(), ) if err != nil { return false, err } if len(events.Items) > 0 { fmt.Println("Saw scheduler event for our pod.") return true, nil } return false, nil })) // Check for qinglet event about the pod. By("checking for qinglet event about the pod")
config := RCConfig{Client: c, Image: "qingyuan/pause:go", Name: RCName, Namespace: ns, PollInterval: itArg.interval, PodStatusFile: fileHndl, Replicas: totalPods, } // Create a listener for events. events := make([](*api.Event), 0) _, controller := framework.NewInformer( &cache.ListWatch{ ListFunc: func() (runtime.Object, error) { return c.Events(ns).List(labels.Everything(), fields.Everything()) }, WatchFunc: func(rv string) (watch.Interface, error) { return c.Events(ns).Watch(labels.Everything(), fields.Everything(), rv) }, }, &api.Event{}, 0, framework.ResourceEventHandlerFuncs{ AddFunc: func(obj interface{}) { events = append(events, obj.(*api.Event)) }, }, ) stop := make(chan struct{}) go controller.Run(stop)