Merge pull request #36212 from foxish/fix-petset-flake

Automatic merge from submit-queue

Set the annotation only if the test requires it.

**What this PR does / why we need it**: Fixes StatefulSet flake

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes https://github.com/kubernetes/kubernetes/issues/36107

**Special notes for your reviewer**: We shouldn't be setting the debug annotation in all our tests, only the ones that bring statefulset pods up one after another. In the absence of the annotation, we have the new default behavior governed by https://github.com/kubernetes/kubernetes/pull/35739

**Release note**:
```release-note
NONE
```

cc @kubernetes/sig-apps @bprashanth @calebamiles
This commit is contained in:
Kubernetes Submit Queue 2016-11-04 15:58:29 -07:00 committed by GitHub
commit 8a2c639bfb
2 changed files with 9 additions and 5 deletions

View File

@ -391,7 +391,6 @@ var _ = framework.KubeDescribe("Network Partition [Disruptive] [Slow]", func() {
Expect(err).NotTo(HaveOccurred())
pst := statefulSetTester{c: c}
pst.saturate(ps)
nn := framework.TestContext.CloudConfig.NumNodes
nodeNames, err := framework.CheckNodesReady(f.ClientSet, framework.NodeReadyInitialTimeout, nn)

View File

@ -103,6 +103,8 @@ var _ = framework.KubeDescribe("StatefulSet [Slow] [Feature:PetSet]", func() {
petMounts := []api.VolumeMount{{Name: "datadir", MountPath: "/data/"}}
podMounts := []api.VolumeMount{{Name: "home", MountPath: "/home"}}
ps := newStatefulSet(psName, ns, headlessSvcName, 3, petMounts, podMounts, labels)
setInitializedAnnotation(ps, "false")
_, err := c.Apps().StatefulSets(ns).Create(ps)
Expect(err).NotTo(HaveOccurred())
@ -139,6 +141,7 @@ var _ = framework.KubeDescribe("StatefulSet [Slow] [Feature:PetSet]", func() {
petMounts := []api.VolumeMount{{Name: "datadir", MountPath: "/data/"}}
podMounts := []api.VolumeMount{{Name: "home", MountPath: "/home"}}
ps := newStatefulSet(psName, ns, headlessSvcName, 2, petMounts, podMounts, labels)
setInitializedAnnotation(ps, "false")
_, err := c.Apps().StatefulSets(ns).Create(ps)
Expect(err).NotTo(HaveOccurred())
@ -903,10 +906,8 @@ func newStatefulSet(name, ns, governingSvcName string, replicas int32, petMounts
Replicas: replicas,
Template: api.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{
Labels: labels,
Annotations: map[string]string{
"pod.alpha.kubernetes.io/initialized": "false",
},
Labels: labels,
Annotations: map[string]string{},
},
Spec: api.PodSpec{
Containers: []api.Container{
@ -924,3 +925,7 @@ func newStatefulSet(name, ns, governingSvcName string, replicas int32, petMounts
},
}
}
func setInitializedAnnotation(ss *apps.StatefulSet, value string) {
ss.Spec.Template.ObjectMeta.Annotations["pod.alpha.kubernetes.io/initialized"] = value
}