Fixing flake caused by lack of polling during read.

This commit is contained in:
Anirudh 2016-10-19 14:08:33 -07:00
parent 192e18e2bb
commit 38a6f38c6d

View File

@ -202,8 +202,8 @@ var _ = framework.KubeDescribe("PetSet [Slow] [Feature:PetSet]", func() {
}
By("Reading value under foo from member with index 2")
if v := pet.read(2, "foo"); v != "bar" {
framework.Failf("Read unexpected value %v, expected bar under key foo", v)
if err := pollReadWithTimeout(pet, 2, "foo", "bar"); err != nil {
framework.Failf("%v", err)
}
})
@ -223,8 +223,8 @@ var _ = framework.KubeDescribe("PetSet [Slow] [Feature:PetSet]", func() {
}
By("Reading value under foo from member with index 2")
if v := pet.read(2, "foo"); v != "bar" {
framework.Failf("Read unexpected value %v, expected bar under key foo", v)
if err := pollReadWithTimeout(pet, 2, "foo", "bar"); err != nil {
framework.Failf("%v", err)
}
})
@ -244,8 +244,8 @@ var _ = framework.KubeDescribe("PetSet [Slow] [Feature:PetSet]", func() {
}
By("Reading value under foo from member with index 2")
if v := pet.read(2, "foo"); v != "bar" {
framework.Failf("Read unexpected value %v, expected bar under key foo", v)
if err := pollReadWithTimeout(pet, 2, "foo", "bar"); err != nil {
framework.Failf("%v", err)
}
})
})
@ -804,6 +804,18 @@ func ExpectNoError(err error) {
Expect(err).NotTo(HaveOccurred())
}
func pollReadWithTimeout(pet petTester, petNumber int, key, expectedVal string) error {
return wait.PollImmediate(time.Second, timeout, func() (bool, error) {
val := pet.read(petNumber, key)
if val == "" {
return false, nil
} else if val != expectedVal {
return false, fmt.Errorf("Expected value %v, found %v", expectedVal, val)
}
return true, nil
})
}
func isInitialized(pod api.Pod) bool {
initialized, ok := pod.Annotations[petset.PetSetInitAnnotation]
if !ok {