Add StatefulSets checks at Service level

pull/6/head
Sebastian Laskawiec 2017-02-01 11:29:40 +01:00
parent 1b67b0da20
commit 7c7ca34246
2 changed files with 13 additions and 1 deletions

View File

@ -57,7 +57,6 @@ func TestPetIDDNS(t *testing.T) {
if hostname, ok := pod.Annotations[apipod.PodHostnameAnnotation]; !ok || hostname != petName {
t.Errorf("Wrong hostname: %v", hostname)
}
// TODO: Check this against the governing service.
if subdomain, ok := pod.Annotations[apipod.PodSubdomainAnnotation]; !ok || subdomain != petSubdomain {
t.Errorf("Wrong subdomain: %v", subdomain)
}

View File

@ -125,6 +125,9 @@ var _ = framework.KubeDescribe("StatefulSet", func() {
By("Verifying statefulset provides a stable hostname for each pod")
framework.ExpectNoError(sst.checkHostname(ss))
By("Verifying statefulset set proper service name")
framework.ExpectNoError(sst.checkServiceName(ss, headlessSvcName))
cmd := "echo $(hostname) > /data/hostname; sync;"
By("Running " + cmd + " in all stateful pods")
framework.ExpectNoError(sst.execInStatefulPods(ss, cmd))
@ -963,6 +966,16 @@ func (s *statefulSetTester) waitForStatus(ss *apps.StatefulSet, expectedReplicas
}
}
func (p *statefulSetTester) checkServiceName(ps *apps.StatefulSet, expectedServiceName string) error {
framework.Logf("Checking if statefulset spec.serviceName is %s", expectedServiceName)
if expectedServiceName != ps.Spec.ServiceName {
return fmt.Errorf("Wrong service name governing statefulset. Expected %s got %s", expectedServiceName, ps.Spec.ServiceName)
}
return nil
}
func deleteAllStatefulSets(c clientset.Interface, ns string) {
sst := &statefulSetTester{c: c}
ssList, err := c.Apps().StatefulSets(ns).List(metav1.ListOptions{LabelSelector: labels.Everything().String()})