Merge pull request #20284 from ncdc/flake/20268
Help debug port forward flakes
This commit is contained in:
		@@ -1215,9 +1215,15 @@ func (dm *DockerManager) PortForward(pod *kubecontainer.Pod, port uint16, stream
 | 
				
			|||||||
		return fmt.Errorf("unable to do port forwarding: nsenter not found.")
 | 
							return fmt.Errorf("unable to do port forwarding: nsenter not found.")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						commandString := fmt.Sprintf("%s %s", nsenterPath, strings.Join(args, " "))
 | 
				
			||||||
 | 
						glog.V(4).Infof("executing port forwarding command: %s", commandString)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	command := exec.Command(nsenterPath, args...)
 | 
						command := exec.Command(nsenterPath, args...)
 | 
				
			||||||
	command.Stdout = stream
 | 
						command.Stdout = stream
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						stderr := new(bytes.Buffer)
 | 
				
			||||||
 | 
						command.Stderr = stderr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// If we use Stdin, command.Run() won't return until the goroutine that's copying
 | 
						// If we use Stdin, command.Run() won't return until the goroutine that's copying
 | 
				
			||||||
	// from stream finishes. Unfortunately, if you have a client like telnet connected
 | 
						// from stream finishes. Unfortunately, if you have a client like telnet connected
 | 
				
			||||||
	// via port forwarding, as long as the user's telnet client is connected to the user's
 | 
						// via port forwarding, as long as the user's telnet client is connected to the user's
 | 
				
			||||||
@@ -1236,7 +1242,11 @@ func (dm *DockerManager) PortForward(pod *kubecontainer.Pod, port uint16, stream
 | 
				
			|||||||
		inPipe.Close()
 | 
							inPipe.Close()
 | 
				
			||||||
	}()
 | 
						}()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return command.Run()
 | 
						if err := command.Run(); err != nil {
 | 
				
			||||||
 | 
							return fmt.Errorf("%v: %s", err, stderr.String())
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Get the IP address of a container's interface using nsenter
 | 
					// Get the IP address of a container's interface using nsenter
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user