This is a second attempt at this commit and it fixes the cause for its
flakiness in the first attempt.
The ability to SSH into individual nodes, described by api.Node, and running
commands on them appears to be useful for other e2e tests too. So, move
issueSSHCommand utility function to e2e util file.
Also, modify waitForNodeToBe e2e util function to take any node condition. The
current implementation only takes api.NodeReady condition into consideration.
This change makes the function take any node condition.
The ability to SSH into individual nodes, described by api.Node, and running
commands on them appears to be useful for other e2e tests too. So, move
issueSSHCommand utility function to e2e util file.
Also, modify waitForNodeToBe e2e util function to take any node condition. The
current implementation only takes api.NodeReady condition into consideration.
This change makes the function take any node condition.
First, "ifconfig eth0 down/up" on Ubuntu and Debian breaks
connection to the instance, thus tests after this one all fail.
Second, replacing appending iptable rules with inserting them on
the top of iptables, otherwise the tests may fail if iptables
are not empty.
Fixed flakiness of firewall cases of e2e reboot test: blocking packages on firewall was also blocking localhost and was causing kubelet to be restarted by monit.
Added e2e test cases which trigger different types of node failures and verify they are correctly re-assimilated. Valid for gce and gke. Related to #7051.