Add e2e coverage for DNS on TCP

This commit is contained in:
Tim Hockin 2015-05-07 00:33:10 -07:00
parent 07df69d339
commit 34743a665a

View File

@ -67,7 +67,9 @@ var _ = Describe("Services", func() {
probeCmd := "for i in `seq 1 600`; do " probeCmd := "for i in `seq 1 600`; do "
for _, name := range namesToResolve { for _, name := range namesToResolve {
probeCmd += fmt.Sprintf("wget -O /dev/null %s && echo OK > /results/%s;", name, name) // Resolve by TCP and UDP DNS.
probeCmd += fmt.Sprintf(`test -n "$(dig +notcp +noall +answer +search %s)" && echo OK > /results/udp@%s;`, name, name)
probeCmd += fmt.Sprintf(`test -n "$(dig +tcp +noall +answer +search %s)" && echo OK > /results/tcp@%s;`, name, name)
} }
probeCmd += "sleep 1; done" probeCmd += "sleep 1; done"
@ -102,8 +104,8 @@ var _ = Describe("Services", func() {
}, },
}, },
{ {
Name: "pinger", Name: "querier",
Image: "gcr.io/google_containers/busybox", Image: "gcr.io/google_containers/dnsutils",
Command: []string{"sh", "-c", probeCmd}, Command: []string{"sh", "-c", probeCmd},
VolumeMounts: []api.VolumeMount{ VolumeMounts: []api.VolumeMount{
{ {
@ -141,16 +143,18 @@ var _ = Describe("Services", func() {
expectNoError(wait.Poll(time.Second*2, time.Second*60, func() (bool, error) { expectNoError(wait.Poll(time.Second*2, time.Second*60, func() (bool, error) {
failed = []string{} failed = []string{}
for _, name := range namesToResolve { for _, name := range namesToResolve {
for _, proto := range []string{"udp", "tcp"} {
testCase := fmt.Sprintf("%s@%s", proto, name)
_, err := c.Get(). _, err := c.Get().
Prefix("proxy"). Prefix("proxy").
Resource("pods"). Resource("pods").
Namespace(api.NamespaceDefault). Namespace(api.NamespaceDefault).
Name(pod.Name). Name(pod.Name).
Suffix("results", name). Suffix("results", testCase).
Do().Raw() Do().Raw()
if err != nil { if err != nil {
failed = append(failed, name) failed = append(failed, testCase)
Logf("Lookup using %s for %s failed: %v\n", pod.Name, name, err) }
} }
} }
if len(failed) == 0 { if len(failed) == 0 {