• N
    Adapt pexpect override to handle delays up to 10 second · f7aa215a
    Nadeem Ghani 提交于
    Workaround a problem discovered by a client that noticed intermittent errors for gpssh when some nodes became very cpu-bound.
    
    In particular, we override the way the ssh command prompt is validated
    on a remote machine, within gpssh. The vendored module 'pexpect' tries to match 2 successive prompts
    from an interactive bash shell.  However, if the target host is slow from
    CPU loading or network loading, these prompts may return late.
    
    In that case, the override retries several times, extending the timeout from the
    default 1 second to up to 125 times that duration.
    
    Experimentally, these added retries seem to tolerate about 1 second delay, testing with a 'tc' command that slows network traffic artificially.
    
    The number of retries can be configured.
    
    --add unit tests to verify happy path of ssh-ing to localhost
    --add module for gpssh, for overriding pexpect (pxxssh)
    --add readme to describe testing technique using 'tc' to delay network
    Signed-off-by: NLarry Hamel <lhamel@pivotal.io>
    f7aa215a
environment.py 4.0 KB