make pods e2e retry getting logs from web-sockets

Signed-off-by: Vishnu kannan <vishnuk@google.com>
This commit is contained in:
Vishnu kannan 2016-08-30 17:11:48 -07:00
parent f839c5ffdf
commit 8d74371537

View File

@ -491,28 +491,31 @@ var _ = framework.KubeDescribe("Pods", func() {
defer ws.Close() defer ws.Close()
buf := &bytes.Buffer{} buf := &bytes.Buffer{}
for { Eventually(func() error {
var msg []byte for {
if err := websocket.Message.Receive(ws, &msg); err != nil { var msg []byte
if err == io.EOF { if err := websocket.Message.Receive(ws, &msg); err != nil {
break if err == io.EOF {
break
}
framework.Failf("Failed to read completely from websocket %s: %v", url.String(), err)
} }
framework.Failf("Failed to read completely from websocket %s: %v", url.String(), err) if len(msg) == 0 {
continue
}
if msg[0] != 1 {
framework.Failf("Got message from server that didn't start with channel 1 (STDOUT): %v", msg)
}
buf.Write(msg[1:])
} }
if len(msg) == 0 { if buf.Len() == 0 {
continue return fmt.Errorf("Unexpected output from server")
} }
if msg[0] != 1 { if !strings.Contains(buf.String(), "nameserver") {
framework.Failf("Got message from server that didn't start with channel 1 (STDOUT): %v", msg) return fmt.Errorf("Expected to find 'nameserver' in %q", buf.String())
} }
buf.Write(msg[1:]) return nil
} }, time.Minute, 10*time.Second).Should(BeNil())
if buf.Len() == 0 {
framework.Failf("Unexpected output from server")
}
if !strings.Contains(buf.String(), "nameserver") {
framework.Failf("Expected to find 'nameserver' in %q", buf.String())
}
}) })
It("should support retrieving logs from the container over websockets", func() { It("should support retrieving logs from the container over websockets", func() {