...
1
2
3
4
5
6
7
8
9
10
11
12
13
14 package podchaos
15
16 import (
17 "time"
18
19 corev1 "k8s.io/api/core/v1"
20 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
21 "k8s.io/apimachinery/pkg/util/wait"
22 "k8s.io/client-go/kubernetes"
23 )
24
25 func waitPodRunning(name, namespace string, cli kubernetes.Interface) error {
26 return wait.Poll(5*time.Second, 5*time.Minute, func() (done bool, err error) {
27 pod, err := cli.CoreV1().Pods(namespace).Get(name, metav1.GetOptions{})
28 if err != nil {
29 return false, nil
30 }
31 if pod.Status.Phase != corev1.PodRunning {
32 return false, nil
33 }
34 return true, nil
35 })
36 }
37