Commit Graph

829 Commits

Author SHA1 Message Date
alejandrox1
f525e02e59 Cleaned up skip* functions from framework/util.go
This is an effort to clean up the framework util.go file so that it
makes more sense and it is more managable.

Signed-off-by: alejandrox1 <alarcj137@gmail.com>
2019-09-26 21:20:29 -04:00
Kenichi Omichi
6499f93266 Use log functions of core framework on [r-u]
This makes sub packages of e2e test framework to use log functions
of core framework instead for avoiding circular dependencies.
2019-09-26 18:17:10 +00:00
Kubernetes Prow Robot
aac13fc4eb
Merge pull request #82106 from oomichi/circular-kubelet
Cleanup DumpAllNamespaceInfo() in e2e test
2019-09-25 23:59:06 -07:00
Dan Winship
71b02dd422 Fix up e2enode.GetReadySchedulableNodes, replace many uses of framework.GetReadySchedulableNodesOrDie
Remove the "OrDie" from the name (since it doesn't "or die") and add
an extra check that there is at least 1 node available, since many
callers already did that themselves, and many others should have.
2019-09-24 13:03:39 -04:00
Kubernetes Prow Robot
4d18142120
Merge pull request #82998 from zouyee/lookforstring
cleanup unused function LookForStringInFile
2019-09-24 08:58:23 -07:00
Kenichi Omichi
7c23ba1b34 Copy PrettyPrintJSON to core framework
PrettyPrintJSON is most used e2emetrics function and that doesn't seem
specific for metrics. The implementation itself is generic, so it is
nice to move it to core framework for avoiding circular dependency.
2019-09-23 18:10:50 +00:00
zouyee
02ab6ad067 cleanup unused function
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-09-23 10:34:42 +08:00
WanLinghao
a6f5d99409 Refactor and clean up e2e framework utils. This patch handles test/e2e/framework/pv_util.go file 2019-09-18 17:57:13 +08:00
David Eads
fda9680fc3 dump namespace object in e2e when it doesn't get deleted 2019-09-17 14:51:59 -04:00
Kubernetes Prow Robot
4ab4e201aa
Merge pull request #82060 from aojea/isipv6method
Add a method to TestContext to check if is IPv6
2019-09-11 10:38:48 -07:00
Kubernetes Prow Robot
0f46a8a4c8
Merge pull request #81043 from johnSchnake/whitelistedTaints
Add new flag for whitelisting node taints
2019-09-10 20:44:46 -07:00
Sascha Grunert
c8b656db50
Fix wrong command in e2e agnhost utility function
The `Command` will cause the container process not starting correctly,
so we now use the `Args` to end up running `/agnhost pause` as intended.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-09-06 15:05:40 +02:00
John Schnake
3c53481d5c Move from regexp to csv string 2019-09-05 14:37:16 -05:00
John Schnake
8772187680 Add new flag for whitelisting node taints
Adds a new flag which allows users to specify a regexp
which will effectively whitelist certain taints and
allow the test framework to startup tests despite having
tainted nodes.

Fixes an issue where e2e tests were unable to be run
in tainted environments due to the framework waiting for
all the nodes to be schedulable without any tolerations.
2019-08-30 11:15:42 -05:00
Kenichi Omichi
da85510bd3 Reduce redundant Nodes().List() call
dumpAllNodeInfo() called Nodes().List() internally, but the function
is called from DumpAllNamespaceInfo() only and DumpAllNamespaceInfo()
calls Nodes().List() before calling dumpAllNodeInfo().
So this makes the result of Nodes().List() being passed to
dumpAllNodeInfo() then reduce a call of Nodes().List().
2019-08-28 23:10:06 +00:00
Kenichi Omichi
02a2d79bde Reduce indents of DumpAllNamespaceInfo()
During cleanup of DumpAllNamespaceInfo(), the code was a little
unreadable. This reduces the indents for the code readability.
2019-08-28 23:04:06 +00:00
Clayton Coleman
a49a554211
Move the IsMasterNode function to tests and mark it Deprecated
A future change will stop using this signal and instead use a
label selector passed on creation.
2019-08-28 11:17:27 -04:00
Antonio Ojea
45d6f08868
Add a method to TestContext to check if is IPv6 2019-08-27 15:41:10 +02:00
Antonio Ojea
766d79bbf5
Make TestContext.IPFamily global for parallel testing
it turns out that the framework.TestContext.IPFamily variable is
not available for the DNS tests if they don't run in the initial
Ginkgo node when running in parallel.

We add a function to the framework to allow us to run command
only once per each Ginkgo node parallel execution.

It also adds a method to detect if the cluster is IPv6.

The use of the framework.TestContext.IPFamily variable guarantees
consistency all over the testing because this variable is only
assigned at the beginning of the testing.
2019-08-27 12:54:52 +02:00
Kubernetes Prow Robot
f81ab5a9fc
Merge pull request #81342 from knight42/fix/kubectl-patch-scale
Refactor `kubectl scale` to patch scale subresource
2019-08-26 11:53:54 -07:00
Patrick Ohly
259bb3bef5 e2e: consistent failure logging
All failures are worth logging immediately, not just unexpected
errors. That helps understand tests that have long-running cleanup
operations with their own logging, because the failure will be visible
inside the test output.

The logging in framework.ExpectNoError also was rather poor, because
it only showed the error, but not the additional information about it.

Tests suites now should use log.Fail as Gomega failure handler instead
of ginkgowrapper.Fail. log.Fail will handle the logging for all
failures before proceeding to record the failure in Ginkgo.

Because logging is always done also after a test failure, additional
failures during cleanup are now visible. Ginkgo itself just ignores
them.
2019-08-26 12:38:35 +02:00
Kubernetes Prow Robot
8dc4b1b585
Merge pull request #80213 from bclau/tests/skips-windows-unrelated-tests
tests: Skips Windows-unrelated tests on Windows
2019-08-23 20:56:25 -07:00
Kubernetes Prow Robot
81c0febcd0
Merge pull request #81715 from SataQiu/fix-test-e2e-framework
Fix static check for test/e2e/framework
2019-08-22 23:27:55 -07:00
knight42
92c4c2ec72 test(scale): fix tests 2019-08-23 10:19:09 +08:00
Jiatong Wang
9a2ccc2c4f Dump the stacktrace while an error occurs
Signed-off-by: Jiatong Wang <wangjiatong@vmware.com>
2019-08-21 11:28:59 -07:00
SataQiu
c60377c682 fix static check for test/e2e/framework 2019-08-21 17:28:36 +08:00
Claudiu Belu
8812720148 tests: Skips Windows-unrelated tests on Windows
Skips IPv6 tests on Windows.
Skips sysctl tests on Windows.
Skips network policy tests on Windows.
Skips RunAsUser / FSGroup / file permissions related tests, as those are
not supported on Windows.
Skips the test "should preserve source pod IP for traffic thru service cluster IP"
on Windows, as it creates a Pod with HostNetwork=true, which is unsupported.

What works and what doesn't work on Windows has been documented here:
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md#windows--linux-considerations
2019-08-20 14:19:14 -07:00
Yongli Chen
68e553ae6c use agnhost image
add back ServeHostnameImage
2019-08-15 20:40:07 -07:00
Kubernetes Prow Robot
1e962072f1
Merge pull request #79909 from vinicyusmacedo/simplify-e2e
Moving e2e boilerplate to separate functions
2019-08-07 04:46:50 -07:00
Kubernetes Prow Robot
3cb2eaa4ba
Merge pull request #80953 from Moriadry/feature/package-collides
Fix error collides with imported package name
2019-08-06 23:57:42 -07:00
Kubernetes Prow Robot
345e58b434
Merge pull request #75071 from mkimuram/issue/74552e2e
Fix volume reconstruction and add e2e tests
2019-08-06 06:05:55 -07:00
moriadry
4b8080dda8 Fix error collides with imported package name
Fix error collides with imported package name

fix

fix
2019-08-06 12:20:29 +08:00
Kubernetes Prow Robot
a56f3ed0b8
Merge pull request #80706 from WanLinghao/refactor_e2e_kubelet_stats
Refactor and clean up e2e framework utils, this patch handles test/e2e/framework/kubelet_stats.go file
2019-08-05 13:36:16 -07:00
Vinicyus Macedo
0f21b692e4 Moved e2e boilerplate to framework 2019-08-05 16:23:56 -03:00
ravisantoshgudimetla
2d8a021bb1 Don't supress the node update error while logging 2019-08-01 17:43:45 -07:00
Masaki Kimura
f1d2d9d670 Move disruptive tests to testsuites and add ones for block volume 2019-08-01 20:04:10 +00:00
WanLinghao
92b0310cc5 Refactor and clean up e2e framework utils, this patch handles test/e2e/framework/kubelet_stats.go file 2019-08-01 17:40:02 +08:00
WanLinghao
e43572f02b Move pod related functions file in test/e2e/framework/util.go to its sub direcotry 2019-07-31 13:53:41 +08:00
draveness
c38ae01f8e feat: move service_util to separated package 2019-07-19 08:32:39 +08:00
Jiatong Wang
0b37152f17 Refactor and Move node related methods to framework/node package
Signed-off-by: Jiatong Wang <wangjiatong@vmware.com>
2019-07-17 22:54:15 -07:00
draveness
d3158b2c71 feat: use framework.ExpectNotEqual in e2e test 2019-07-10 21:36:26 +08:00
Kubernetes Prow Robot
cdddcf9b48
Merge pull request #71170 from atlassian/rand-cleanup2
Cleanup math/rand package usage
2019-07-01 21:33:08 -07:00
Claudiu Belu
c752ea8134 tests: Replaces images used with agnhost (part 3)
Quite a few images are only used a few times in a few tests. Thus,
the images are being centralized into the agnhost image, reducing
the number of images that have to be pulled and used.

This PR replaces the usage of the following images with agnhost:

- audit-proxy
- crd-conversion-webhook
- entrypoint-tester
- inclusterclient
- iperf
- porter
- serve-hostname
2019-06-26 13:33:55 -07:00
Kubernetes Prow Robot
bbc17310fc
Merge pull request #78922 from oomichi/add-ExpectEqual
Add ExpectEqual() to e2e framework
2019-06-25 01:14:50 -07:00
SataQiu
492c8c6f24 e2e: remove framework.Failf 2019-06-22 21:33:16 +08:00
Jorge Alarcon Ochoa
4147d727a6 Refactored runtime.Object helper functions into subpkg
Organized functions that abstract the access of
k8s.io/apimachinery/pkg/runtime.Objects into a framework subpackge.

Signed-off-by: Jorge Alarcon Ochoa <alarcj137@gmail.com>
2019-06-20 21:42:59 -04:00
Aaron Crickenberger
2a8bee4b37 add import-alias for k8s.io/api/extensions/v1beta1 2019-06-20 11:40:21 -07:00
Aaron Crickenberger
03ad7d2d6f add import-alias for k8s.io/api/batch/v1 2019-06-20 11:40:01 -07:00
Aaron Crickenberger
0aae740ede add import-alias for k8s.io/api/apps/v1 2019-06-20 11:39:40 -07:00
Kubernetes Prow Robot
ef03129821
Merge pull request #78396 from bclau/tests/reduce-to-agnhost-part-2
tests: Replaces images used with agnhost (part 2)
2019-06-19 21:10:48 -07:00
Jiatong Wang
b1c346c295 Move node related methods to framework/node package
- Add a package "node" under e2e/framework and alias e2enode;
- Rename some functions whose name have redundant string.

Signed-off-by: Jiatong Wang <wangjiatong@vmware.com>
2019-06-17 16:59:07 -07:00
Claudiu Belu
9e81f3b50b tests: Replaces images used with agnhost (part 2)
Quite a few images are only used a few times in a few tests. Thus,
the images are being centralized into the agnhost image, reducing
the number of images that have to be pulled and used.

This PR replaces the usage of the following images with agnhost:

- net
- netexec
- nettest
- webhook
2019-06-17 06:04:18 -07:00
Kenichi Omichi
66a3817d62 Add ExpectEqual() to e2e framework
Many e2e tests expect two values are the same, such check is one of
common things in tests. Now gomega.Expect(foo).To(gomega.Equal(bar))
is doing that, this adds ExpectEqual() for replacing the above call
for readable code.
In addition, this replaces under apimachinery/generated_clientset.go
as a sample.
2019-06-14 20:57:20 +00:00
Jorge Alarcon Ochoa
4969a05327 Refactored pod-related functions from framework/util.go
This a refactoring of framework/utils.go into framework/pod.

Signed-off-by: Jorge Alarcon Ochoa <alarcj137@gmail.com>
2019-05-30 09:30:26 -04:00
SataQiu
d3a902ff5b e2e refactor: cleanup Logf form framework/util 2019-05-24 16:39:46 +08:00
Mikhail Mazurskiy
4ce1fb7d40
Cleanup math/rand package usage 2019-05-24 09:25:04 +10:00
Akihito INOH
dddc6a53d4 Fix golint failures of e2e/framework/*.go
This fixes golint failures of the following files:
- test/e2e/framework/networking_utils.go
- test/e2e/framework/service_util.go
- test/e2e/framework/util.go

All golint failures in test/e2e/framework are fixed at this commit.
Remove 'test/e2e/framework' from 'hack/.golint_failures'
2019-05-14 07:04:57 +09:00
David Eads
d503cba375 improve e2e namespace dumping on failure 2019-05-10 10:11:24 -04:00
Kubernetes Prow Robot
b27fe7f4b9
Merge pull request #74314 from oomichi/add-ExpectError
Add ExpectError() to e2e test framework
2019-05-09 15:47:57 -07:00
Kenichi Omichi
436544488b Add ExpectError() to e2e test framework
There is a lot of gomega.Expect(err).To(gomega.HaveOccurred()) callers
which expect an error happens in e2e tests.
However these test code seems confusing because the code readers
need to take care of To() or NotTo() on each test scenario.
This adds ExpectError() for more readable test code.
In addition, this applies ExpectError() to e2e provisioning.go as a
sample.
2019-05-08 17:40:12 +00:00
John Schnake
338bc3ce42 Move framework ssh code to new package
The framework/ssh.go code was heavily used throughout the framework
and could be useful elsewhere but reusing those methods requires
importing all of the framework.

Extracting these methods to their own package for reuse.

Only a few methods had to be copied into this package from the
rest of the framework to avoid an import cycle.
2019-05-08 11:00:36 -05:00
Kubernetes Prow Robot
eacae8540a
Merge pull request #76508 from bclau/tests/agnhost-custom-dns-test
tests: Adds configurable pod DNS nameservers and search list test
2019-05-07 14:30:49 -07:00
danielqsj
6fc04b696c remove redundant else block 2019-05-06 13:43:33 +08:00
Claudiu Belu
a7598c791f tests: Adds configurable pod DNS nameservers and search list test
This test creates a pod with custom DNS configurations and expects
them to be set in the containers.

The test pod is using the agnhost image, which can output the container's
DNS configurations that the test checks.
2019-05-01 20:52:20 -07:00
draveness
774c15f2be refactor: move wait for endpoints to new pkg 2019-04-27 22:05:39 +08:00
Kubernetes Prow Robot
85b7323dbc
Merge pull request #76705 from atoato88/fix-golint-e2e-framework-util-go-part3
Fix golint failures of e2e/framework/util.go - part3
2019-04-23 19:08:00 -07:00
Kubernetes Prow Robot
4098347433
Merge pull request #76488 from atoato88/fix-golint-e2e-framework-util-go-part2
Fix golint failures of e2e/framework/util.go - part2
2019-04-23 14:02:12 -07:00
Kubernetes Prow Robot
56d7912939
Merge pull request #76348 from atoato88/fix-golint-e2e-framework-util-go
Fix golint failures of e2e/framework/util.go - part1
2019-04-23 14:02:01 -07:00
Akihito INOH
31046bbf52 Fix golint failures of e2e/framework/util.go - part3
This is a part of a series for fixing golint failures for util.go.
- fixes golint failures from line 2354 to line 3685 at original util.go

This fixes golint failures of the following file:
- test/e2e/framework/util.go
2019-04-24 02:16:06 +09:00
Akihito INOH
97fe60e807 Fix golint failures of e2e/framework/util.go - part4
This is a part of a series for fixing golint failures for util.go.
- fixes golint failures from line 3686 to end of file at original util.go

This fixes golint failures of the following file:
- test/e2e/framework/util.go
2019-04-20 08:47:37 +09:00
Akihito INOH
85f21c16ac Fix golint failures of e2e/framework/util.go - part2
This is a part of a series for fixing golint failures for util.go.
- fixes golint failures from line 1395 to line 2353 at original util.go

This fixes golint failures of the following file:
- test/e2e/framework/util.go

This changes following files because of change function name
in above file.
- test/e2e/apps/rc.go
- test/e2e/apps/replica_set.go
2019-04-17 19:00:12 +09:00
Akihito INOH
9d0bc4b8df Fix golint failures of e2e/framework/util.go - part1
This is a part of a series for fixing golint failures for util.go.
- fixes `should not use dot imports` about `ginkgo` and `gomega`
- fixes golint failures from top of file to line 1394 at original util.go

This fixes golint failures of the following file:
- test/e2e/framework/util.go

This changes following files because of change function name
in above file.
- test/e2e/e2e.go
- test/e2e/network/network_tiers.go
- test/e2e/network/service.go
2019-04-17 18:07:01 +09:00
Kubernetes Prow Robot
0dc281df04
Merge pull request #76631 from andrewsykim/refactor-framework-util
remove unused functions & types in test/e2e/framework/util.go
2019-04-16 10:27:44 -07:00
Matt Matejczyk
618d6771f8 Add missing node.address != "" condition in tests
It turns out to be a frequent bug that is revealed when nodes don't have
external IP addresses. In the test we assume that in such case there
won't be any addresses of type 'NodeExternalIp', which is invalid. In
such case there will be an address of type 'NodeExternalIP', but with
the empty 'Address' field.

Ref. https://github.com/kubernetes/kubernetes/issues/76374
2019-04-16 08:13:43 +02:00
Andrew Sy Kim
71e5980ad4 remove unused functions & types in test/e2e/framework/util.go
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-04-15 19:21:39 -04:00
Kubernetes Prow Robot
df6ca6ab9f
Merge pull request #76156 from chardch/recreate-master-retry
Recreate nodes e2e test
2019-04-12 23:26:02 -07:00
Jiaying Zhang
8175579a0c add recreate node e2e test
Move recreate_node test to gce provider tests.
2019-04-12 16:00:19 -07:00
draveness
dee97a4e5c refactor: cleanup e2e replicaset utils 2019-04-12 01:48:10 +08:00
Andrew Sy Kim
4ac9feb7f9 test/e2e: replace legacy scheme with client-go scheme
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-04-02 10:08:55 -04:00
Andrew Sy Kim
1470df7a05 remove usages of internal clientset in e2e framework
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-03-28 21:13:40 -04:00
Patrick Ohly
e8a7cee43e test: remove k8s.io/apiextensions-apiserver from framework
There are two reason why this is useful:

1. less code to vendor into external users of the framework

The following dependencies become obsolete due to this change (from `dep`):

(8/23) Removed unused project github.com/grpc-ecosystem/go-grpc-prometheus
(9/23) Removed unused project github.com/coreos/etcd
(10/23) Removed unused project github.com/globalsign/mgo
(11/23) Removed unused project github.com/go-openapi/strfmt
(12/23) Removed unused project github.com/asaskevich/govalidator
(13/23) Removed unused project github.com/mitchellh/mapstructure
(14/23) Removed unused project github.com/NYTimes/gziphandler
(15/23) Removed unused project gopkg.in/natefinch/lumberjack.v2
(16/23) Removed unused project github.com/go-openapi/errors
(17/23) Removed unused project github.com/go-openapi/analysis
(18/23) Removed unused project github.com/go-openapi/runtime
(19/23) Removed unused project sigs.k8s.io/structured-merge-diff
(20/23) Removed unused project github.com/go-openapi/validate
(21/23) Removed unused project github.com/coreos/go-systemd
(22/23) Removed unused project github.com/go-openapi/loads
(23/23) Removed unused project github.com/munnerz/goautoneg

2. works around https://github.com/kubernetes/kubernetes/issues/75338
   which currently breaks vendoring

Some recent changes to crd_util.go must now be pulling in the broken
k8s.io/apiextensions-apiserver packages, because it was still working
in revision 2e90d92db9 (as demonstrated by
586ae281ac).
2019-03-13 19:05:13 +01:00
Haowei Cai
591f00e9b3 test client-side validation behavior for CRD
support version-skew testing
2019-03-05 12:22:46 -08:00
Kubernetes Prow Robot
b67126e350
Merge pull request #74113 from oomichi/use-ExpectNoError-on-e2e-framework
Use framework.ExpectNoError() instead Expect()
2019-02-19 13:42:06 -08:00
Kubernetes Prow Robot
f35b7a365e
Merge pull request #73046 from mikkeloscar/fix-e2e-websocket-https
Fix websocket e2e tests for https endpoints
2019-02-18 22:45:33 -08:00
Mikkel Oscar Lyderik Larsen
9f34d8bc79
Remove 'tlsConfig != nil' check
Signed-off-by: Mikkel Oscar Lyderik Larsen <mikkel.larsen@zalando.de>
2019-02-18 09:45:37 +01:00
Mikkel Oscar Lyderik Larsen
93abdb1205
Fix websocket e2e tests for https endpoints
When running e2e conformance tests against a public https protected
APIserver the websocket tests would fail because it fell back to using
`ws://` instead of `wss://` for the websocket connection.

This happened because the code detect if HTTPS is used only looks for
HTTPS related configuration in the kubeconfig, like a custom CA or
certificates.

The fix is to always use HTTPS when the apiserver URL has the scheme `https://`.

Signed-off-by: Mikkel Oscar Lyderik Larsen <mikkel.larsen@zalando.de>
2019-02-18 09:45:37 +01:00
Kenichi Omichi
2635b6d95c Use framework.ExpectNoError() instead Expect()
The e2e test framework has ExpectNoError() for readable test code.
This replaces Expect(err).NotTo(HaveOccurred()) with it.
2019-02-15 16:52:57 +00:00
Kubernetes Prow Robot
8f7ccf8d4c
Merge pull request #69036 from wackxu/snapshottest
add e2e test for snapshot
2019-02-08 13:14:04 -08:00
Claudiu Belu
00e2582c67 Adds Windows-related Networking tests
Creating pods with HostNetwork is not currently supported on
Windows Kubelet, and thus, ones without HostNetwork are created instead.
2019-02-06 15:58:18 -08:00
Davanum Srinivas
b975573385
move pkg/kubelet/apis/well_known_labels.go to staging/src/k8s.io/api/core/v1/
Co-Authored-By: Weibin Lin <linweibin1@huawei.com>

Change-Id: I163b2f2833e6b8767f72e2c815dcacd0f4e504ea
2019-02-05 13:39:07 -05:00
Kubernetes Prow Robot
e91e032de2
Merge pull request #73522 from tnozicka/e2e-add-exec-debug
Enhance debuggability of e2e tests using exec command
2019-02-05 03:18:31 -08:00
Matt Matejczyk
35543f8989 Allow dumping full systemd journal in log-dump.sh.
The feature is gated behind a newly introduced 'dump-systemd-journal' flag.
We want to dump the full systemd journal in our scalability performance tests.
2019-02-03 21:28:37 +01:00
Kubernetes Prow Robot
9f673c8129
Merge pull request #72728 from phoenixking25/e2e/annotate_errors
annotate errors in e2e tests
2019-01-30 11:53:48 -08:00
xushiwei
3410d435ed add snapshot e2e 2019-01-30 19:04:45 +08:00
Tomas Nozicka
cfcac1737b Enhance debuggability of e2e tests using exec command 2019-01-30 11:46:30 +01:00
Eric Paris
384da53441 test/e2e/framework: fix external/internal typo err in GetNodeInternalIP 2019-01-26 17:12:50 -05:00
anuj
d05b399261 annotate errors in e2e tests
fixed error message

fixed uppercases

fixed typo
2019-01-23 13:10:04 +05:30
Clayton Coleman
c6ae7ae3b2
Move ssh related utilities into their own file
Code movement only.
2019-01-10 17:10:04 -05:00
Kubernetes Prow Robot
168b4563e0
Merge pull request #68792 from johnSchnake/68747-fallbackToInternalIP
e2e: Fallback to internal IPs when using SSH in tests
2019-01-07 14:11:41 -08:00
John Schnake
23a7538c4d e2e: Fallback to internal IPs when using SSH in tests
Some tests which utilized SSH to run commands on nodes would
first look for external IPs but fall back to internal IPs
since those could be reachable by the testing program.

This change adds that same fallback logic to another method
used to find the appropriate SSH address for each node.

Fixes #68747
2018-12-28 20:35:35 -06:00