Skip to content

Commit

Permalink
Merge pull request kubernetes#26604 from zmerlynn/ssh-slow
Browse files Browse the repository at this point in the history
Automatic merge from submit-queue

SSH e2e: Limit to 100 nodes, limit combinatorics

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()This limits the "for all hosts" to 100 nodes, and also limits the
combinatorial section so that we only do the other SSH command variant
testing on the first host rather than *all* of the hosts. I also
killed one of the variants because it didn't seem to be testing much
important.

Fixes kubernetes#26600
  • Loading branch information
k8s-merge-robot committed Jun 1, 2016
2 parents 0a6a52b + 3d66c3b commit ea07d31
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions test/e2e/ssh.go
Original file line number Diff line number Diff line change
@@ -25,6 +25,8 @@ import (
. "github.com/onsi/ginkgo"
)

const maxNodes = 100

var _ = framework.KubeDescribe("SSH", func() {

f := framework.NewDefaultFramework("ssh")
@@ -50,17 +52,27 @@ var _ = framework.KubeDescribe("SSH", func() {
expectedCode int
expectedError error
}{
{`echo "Hello"`, true, "Hello", "", 0, nil},
// Same as previous, but useful for test output diagnostics.
// Keep this test first - this variant runs on all nodes.
{`echo "Hello from $(whoami)@$(hostname)"`, false, "", "", 0, nil},
{`echo "foo" | grep "bar"`, true, "", "", 1, nil},
{`echo "Out" && echo "Error" >&2 && exit 7`, true, "Out", "Error", 7, nil},
}

// Run commands on all nodes via SSH.
for _, testCase := range testCases {
By(fmt.Sprintf("SSH'ing to all nodes and running %s", testCase.cmd))
for _, host := range hosts {
for i, testCase := range testCases {
// Only run the first testcase against max 100 nodes. Run
// the rest against the first node we find only, since
// they're basically testing SSH semantics (and we don't
// need to do that against each host in the cluster).
nodes := len(hosts)
if i > 0 {
nodes = 1
} else if nodes > maxNodes {
nodes = maxNodes
}
testhosts := hosts[:nodes]
By(fmt.Sprintf("SSH'ing to %d nodes and running %s", len(testhosts), testCase.cmd))

for _, host := range testhosts {
result, err := framework.SSH(testCase.cmd, host, framework.TestContext.Provider)
stdout, stderr := strings.TrimSpace(result.Stdout), strings.TrimSpace(result.Stderr)
if err != testCase.expectedError {

0 comments on commit ea07d31

Please sign in to comment.