func createRSsPods(t *testing.T, clientSet clientset.Interface, rss []*v1beta1.ReplicaSet, pods []*v1.Pod, ns string) { rsClient := clientSet.Extensions().ReplicaSets(ns) podClient := clientSet.Core().Pods(ns) for _, rs := range rss { if _, err := rsClient.Create(rs); err != nil { t.Fatalf("Failed to create replica set %s: %v", rs.Name, err) } } for _, pod := range pods { if _, err := podClient.Create(pod); err != nil { t.Fatalf("Failed to create pod %s: %v", pod.Name, err) } } }
func waitRSStable(t *testing.T, clientSet clientset.Interface, rs *v1beta1.ReplicaSet, ns string) { rsClient := clientSet.Extensions().ReplicaSets(ns) if err := wait.Poll(10*time.Second, 60*time.Second, func() (bool, error) { updatedRS, err := rsClient.Get(rs.Name) if err != nil { return false, err } if updatedRS.Status.Replicas != *rs.Spec.Replicas { return false, nil } else { return true, nil } }); err != nil { t.Fatal(err) } }
// verifyRemainingObjects verifies if the number of the remaining replica // sets and pods are rsNum and podNum. It returns error if the // communication with the API server fails. func verifyRemainingObjects(t *testing.T, clientSet clientset.Interface, namespace string, rsNum, podNum int) (bool, error) { rsClient := clientSet.Extensions().ReplicaSets(namespace) podClient := clientSet.Core().Pods(namespace) pods, err := podClient.List(api.ListOptions{}) if err != nil { return false, fmt.Errorf("Failed to list pods: %v", err) } var ret = true if len(pods.Items) != podNum { ret = false t.Logf("expect %d pods, got %d pods", podNum, len(pods.Items)) } rss, err := rsClient.List(api.ListOptions{}) if err != nil { return false, fmt.Errorf("Failed to list replica sets: %v", err) } if len(rss.Items) != rsNum { ret = false t.Logf("expect %d RSs, got %d RSs", rsNum, len(rss.Items)) } return ret, nil }