Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
truenas-rk3588
k3s
Commits
32942f14
Commit
32942f14
authored
7 years ago
by
Anirudh
Browse files
Options
Download
Email Patches
Plain Diff
Fix for the network partition tests (and cluster autoscaling too
potentially)
parent
db2977fb
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
test/e2e/framework/networking_utils.go
+7
-3
test/e2e/framework/networking_utils.go
test/e2e/framework/util.go
+17
-0
test/e2e/framework/util.go
with
24 additions
and
3 deletions
+24
-3
test/e2e/framework/networking_utils.go
View file @
32942f14
...
...
@@ -935,7 +935,9 @@ func TestHitNodesFromOutsideWithCount(externalIP string, httpPort int32, timeout
// This function executes commands on a node so it will work only for some
// environments.
func
TestUnderTemporaryNetworkFailure
(
c
clientset
.
Interface
,
ns
string
,
node
*
v1
.
Node
,
testFunc
func
())
{
host
:=
GetNodeExternalIP
(
node
)
externalIP
:=
GetNodeExternalIP
(
node
)
internalIP
:=
GetNodeInternalIP
(
node
)
master
:=
GetMasterAddress
(
c
)
By
(
fmt
.
Sprintf
(
"block network traffic from node %s to the master"
,
node
.
Name
))
defer
func
()
{
...
...
@@ -944,14 +946,16 @@ func TestUnderTemporaryNetworkFailure(c clientset.Interface, ns string, node *v1
// had been inserted. (yes, we could look at the error code and ssh error
// separately, but I prefer to stay on the safe side).
By
(
fmt
.
Sprintf
(
"Unblock network traffic from node %s to the master"
,
node
.
Name
))
UnblockNetwork
(
host
,
master
)
UnblockNetwork
(
externalIP
,
master
)
UnblockNetwork
(
internalIP
,
master
)
}()
Logf
(
"Waiting %v to ensure node %s is ready before beginning test..."
,
resizeNodeReadyTimeout
,
node
.
Name
)
if
!
WaitForNodeToBe
(
c
,
node
.
Name
,
v1
.
NodeReady
,
true
,
resizeNodeReadyTimeout
)
{
Failf
(
"Node %s did not become ready within %v"
,
node
.
Name
,
resizeNodeReadyTimeout
)
}
BlockNetwork
(
host
,
master
)
BlockNetwork
(
externalIP
,
master
)
BlockNetwork
(
internalIP
,
master
)
Logf
(
"Waiting %v for node %s to be not ready after simulated network failure"
,
resizeNodeNotReadyTimeout
,
node
.
Name
)
if
!
WaitForNodeToBe
(
c
,
node
.
Name
,
v1
.
NodeReady
,
false
,
resizeNodeNotReadyTimeout
)
{
...
...
This diff is collapsed.
Click to expand it.
test/e2e/framework/util.go
View file @
32942f14
...
...
@@ -4925,6 +4925,23 @@ func GetNodeExternalIP(node *v1.Node) string {
return
host
}
// GetNodeInternalIP returns node internal IP concatenated with port 22 for ssh
// e.g. 1.2.3.4:22
func
GetNodeInternalIP
(
node
*
v1
.
Node
)
string
{
Logf
(
"Getting internal IP address for %s"
,
node
.
Name
)
host
:=
""
for
_
,
a
:=
range
node
.
Status
.
Addresses
{
if
a
.
Type
==
v1
.
NodeInternalIP
{
host
=
net
.
JoinHostPort
(
a
.
Address
,
sshPort
)
break
}
}
if
host
==
""
{
Failf
(
"Couldn't get the internal IP of host %s with addresses %v"
,
node
.
Name
,
node
.
Status
.
Addresses
)
}
return
host
}
// SimpleGET executes a get on the given url, returns error if non-200 returned.
func
SimpleGET
(
c
*
http
.
Client
,
url
,
host
string
)
(
string
,
error
)
{
req
,
err
:=
http
.
NewRequest
(
"GET"
,
url
,
nil
)
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment