Commit Graph

1615 Commits

Author SHA1 Message Date
Maciej Borsz
1d9b1a69b1 In NodeKiller.Run, wait before first attempt to kill. 2018-11-30 11:01:55 +01:00
k8s-ci-robot
16c0f3ce4a Merge pull request #71493 from smarterclayton/limit_max
e2e: Allow max-node-to-gather to be changed when running against larger clusters
2018-11-30 01:20:17 -08:00
k8s-ci-robot
05fe21fa52 Merge pull request #71210 from pohly/podlogs-activated-pods
e2e/framework: capture logs only from pods that actually started
2018-11-29 15:26:31 -08:00
k8s-ci-robot
409a5ecae2 Merge pull request #71036 from bclau/test-windows-permissions
tests: Checks for Windows permissions as well
2018-11-29 11:16:49 -08:00
k8s-ci-robot
ba5f1cbfba Merge pull request #71320 from mborsz/nodekiller
Introduce NodeKiller -- a utility to simulate node failures in e2e tests
2018-11-29 05:18:52 -08:00
Maciej Borsz
9e493e169d Implement NodeKiller -- a util to simulate node failures. 2018-11-29 12:56:50 +01:00
Clayton Coleman
653ed22fc9 e2e: Allow max-node-to-gather to be changed when running against larger clusters
While debugging issues I found myself having to change the constant in the code
for a cluster > 20 nodes, and then on a very small cluster I found myself passing
0 to avoid the mostly useless output (it's useful in specific scenarios but generates
a *lot* of output that doesn't help debugging the rest of the time).
2018-11-27 23:26:54 -05:00
Masaki Kimura
f81abad51c Fix eventOccurred to check message from all the events 2018-11-26 17:21:20 +00:00
Claudiu Belu
0df9c0adf6 tests: Checks for Windows permissions as well
Some mounttest related tests are checking the file permissions set on the
container files, but the default file permissions on Windows is 775 instead of
644, causing some tests to fail.

Keep in mind that file permissions work differently on Windows, and setting file
permissions via Kubernetes is not currently supported on Windows.
2018-11-21 23:02:48 -08:00
Patrick Ohly
a4fc58cc98 e2e/framework: capture logs only from pods that actually started
Attempting to retrieve logs for a container that hasn't started yet
may have been the reason for the "the server does not allow this
method on the requested resource" error that showed up on the GCE CI
test cluster (issue #70888).

If we wait with retrieving logs until the pod is running or has
terminated, then we might be able to avoid that error. It's the right
thing to do either way and not complicated to implement.
2018-11-19 14:55:10 +01:00
k8s-ci-robot
5b76030760 Merge pull request #71039 from mkimuram/issue/70760hostpath
Fix CreateSecPodWithNodeName to properly set node to be deployed
2018-11-14 23:19:57 -08:00
Masaki Kimura
6a94656d0e Fix CreateSecPodWithNodeName to properly set node to be deployed 2018-11-14 16:10:14 +00:00
k8s-ci-robot
7050a84753 Merge pull request #70789 from seunghunee/roundtrip-bugfix
Fix e2e conformance test error
2018-11-13 13:45:22 -08:00
k8s-ci-robot
0ca67bde54 Merge pull request #70362 from ddebroy/ddebroy-multi-pvc
Add multi PVC versions of e2e tests for WaitForFirstConsumer
2018-11-12 03:14:39 -08:00
Davanum Srinivas
954996e231 Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Mehdy Bohlool
ea54a0c504 E2E Test 2018-11-09 12:50:22 -08:00
Deep Debroy
923df464fb Add multi PVC versions of tests for delayed binding
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2018-11-09 12:17:31 -08:00
k8s-ci-robot
06e737367d Merge pull request #69589 from oomichi/issue/69588
Add the existence check of /proc/net/nf_conntrack
2018-11-09 10:20:01 -08:00
seunghunee
c0cacd2525 Fix conformance test error with log level 8
Fix: #70788
e2e conformance test completely passed with log level 5,
but failed only with log level 8.
2018-11-09 00:30:52 +00:00
tanshanshan
cb95edafe8 kube-scheduler: enable secure ports 10259 2018-11-08 16:43:59 +01:00
k8s-ci-robot
98cd708619 Merge pull request #70648 from maht/master
Fix end-to-end test logic to get image name
2018-11-07 14:26:14 -08:00
k8s-ci-robot
a99e004818 Merge pull request #70681 from justinsb/block_master_all_ips
e2e: block all master addresses
2018-11-07 11:36:50 -08:00
k8s-ci-robot
465d578d93 Merge pull request #70695 from mborsz/DeleteResourceAndWaitForGC
Few improvements to DeleteResourceAndWaitForGC
2018-11-07 02:47:37 -08:00
Justin SB
c136a99bf2 e2e: Better error reporting in firewall test
Clearly report the particular ip/port that failed.
2018-11-06 18:00:49 -05:00
k8s-ci-robot
95014b2666 Merge pull request #70689 from mborsz/waitForPodsInactive
Modify waitForPodsInactive to return meaningful error message.
2018-11-06 14:02:15 -08:00
Kenichi Omichi
f3e59a5c15 Add the existence check of /proc/net/nf_conntrack
The existence of /proc/net/nf_conntrack depends on the Linux kernel
config CONFIG_NF_CONNTRACK_PROCFS, and Ubuntu 16.04's one is disabled.
So the e2e test "should set TCP CLOSE_WAIT timeout" fails on that.
This adds the existence check of /proc/net/nf_conntrack for skipping
the test if not existing.
In addition, this makes IssueSSHCommandWithResult return Stderr in
the error message if err is nil to check "No such file or directory"
as nonexistence of /proc/net/nf_conntrack.
2018-11-06 21:32:19 +00:00
Maciej Borsz
fa31f65db1 A few improvements for DeleteResourceAndWaitForGC:
* Better error messages
* Increase a timeout for removing pod to 20 minutes to handle
kubelet restarts gracefully.
2018-11-06 14:15:02 +01:00
Patrick Ohly
8c1d08c750 e2e: create and patch items of type Secret, code cleanup
Creating secrets is useful for CSI drivers like ceph-csi which have to
be configured via secrets.

While at it, the UniqueName method gets replaced with
MetaNamespaceKeyFunc which does the same thing (at least as long as
non-namespaced items don't have a redundant namespace set) and the
factory types aren't exported anymore (not necessary).
2018-11-06 10:48:22 +01:00
Maciej Borsz
760f7dd24a Modify waitForPodsInactive to return meaningful error message. 2018-11-06 09:48:14 +01:00
Justin SB
0400871df9 e2e: block all master addresses
This way we can be sure that the kubelet can't communicate with the
master, even if falls-back to the internal/external IP (which seems to
be the case with DNS)

Issue #56787
2018-11-05 22:35:19 -05:00
Miguel Herranz
d0aa30205d Fix end-to-end test logic to get image name
The command executed in ValidateController function uses the
image name of the running container. This is a problem in multiarch
images, since the image name is the name of the image specific to
the architecture, but the image passed as parameter is the multiarch
one (as the test are architecture agnostic), making the test to fail.

This patch fixes it by making the logic use a command that get the
multiarch name given in the container spec.

Signed-off-by: Miguel Herranz <miguel@midokura.com>
2018-11-05 11:05:02 +01:00
k8s-ci-robot
6b2a01709c Merge pull request #69796 from Huang-Wei/e2e-TaintBasedEvictions
add e2e tests for TaintBasedEvictions
2018-11-02 20:11:28 -07:00
k8s-ci-robot
5581f52c0f Merge pull request #69111 from rajansandeep/clustername
Adapt e2e tests for cluster-domain other than cluster.local
2018-11-01 23:45:22 -07:00
k8s-ci-robot
7e102de723 Merge pull request #70475 from pohly/csi-driver-deployment-logging
e2e: less verbose item creation
2018-11-01 13:44:27 -07:00
k8s-ci-robot
4351cea80c Merge pull request #70046 from cheftako/lintCleanGce
Fixed lint errors for pkg/cloudprovider/providers/gce.
2018-11-01 13:44:06 -07:00
Sandeep Rajan
4c8a65ac01 configure cluster domain via flags 2018-11-01 12:27:54 -04:00
Patrick Ohly
84db64fbcc e2e: less verbose item creation
The detailed dumps of original and patched item content was useful
while developing the feature, but is less relevant now and too
verbose. It might be relevant again, so it's left in the code as
comments.

What gets logged now is just a single-line "creating" resp. "deleting"
message with the type of the item and its unique name.

This also enhances up some other aspects of the original logging:
- the namespace is included for item types that are namespaced
- the "deleting" message no longer gets replicated in each factory
  method

Fixes: #70448
2018-10-31 10:23:12 +01:00
Wei Huang
ca10e616bf add e2e tests for TaintBasedEvictions 2018-10-30 10:40:05 -07:00
Patrick Ohly
1449353067 e2e: live streaming of pod events and stdout for CSI volume tests
Debugging the CSI driver tests depends a lot on the output of the CSI
sidecar containers and the CSI driver, but that information was not
captured automatically and thus unavailable after a test run. This is
particularly bad when running in a remote CI system, but also manually
watching the cluster during a test was cumbersome.

Now pod events and log messages get copied to the test's output at the
time that they happen (when running without report directory) or get
written to individual log files (when running with report directory in
the CI).
2018-10-30 09:18:48 +01:00
k8s-ci-robot
2ecc71da47 Merge pull request #69868 from pohly/e2e-manifests
e2e manifests
2018-10-29 17:11:08 -07:00
walter
735ad9ed63 Fixed lint errors for pkg/cloudprovider/providers/gce.
Fixed minor issues.
Cleaned up from merge errors.
2018-10-29 11:52:24 -07:00
k8s-ci-robot
fb6716e83c Merge pull request #67495 from islinwb/policy_psp
use PodSecurityPolicySpec of policy/v1beta1 instead of extensions/v1beta1
2018-10-29 08:31:15 -07:00
Patrick Ohly
248df4ac58 e2e: update bazel BUILD files
Generated via hack/update-bazel.sh.
2018-10-27 00:39:44 +02:00
Patrick Ohly
38efff564c e2e: deploy from manifest files + enhance CSI volume output
Ensuring that CSI drivers get deployed for testing exactly as intended
was problematic because the original .yaml files had to be converted
into code. e2e/manifest helped a bit, but not enough:
- could not load all entities
- didn't handle loading .yaml files with multiple entities
- actually creating and deleting entities still had to be done in tests

The new framework utility code handles all of that, including the
tricky cleanup operation that tests got wrong (AfterEach does not get
called after test failures!).

In addition, it is ensuring that each test gets its own instance of the
entities.

The PSP role binding for hostpath is now necessary because we switch
from creating a pod directly to creation via the StatefulSet
controller, which runs with less privileges.

Without this, the hostpath test runs into these errors in the
kubernetes-e2e-gce job:

Oct 19 16:30:09.225: INFO: At 2018-10-19 16:25:07 +0000 UTC - event for csi-hostpath-attacher: {statefulset-controller } FailedCreate: create Pod csi-hostpath-attacher-0 in StatefulSet csi-hostpath-attacher failed error: pods "csi-hostpath-attacher-0" is forbidden: unable to validate against any pod security policy: []
Oct 19 16:30:09.225: INFO: At 2018-10-19 16:25:07 +0000 UTC - event for csi-hostpath-provisioner: {statefulset-controller } FailedCreate: create Pod csi-hostpath-provisioner-0 in StatefulSet csi-hostpath-provisioner failed error: pods "csi-hostpath-provisioner-0" is forbidden: unable to validate against any pod security policy: []
Oct 19 16:30:09.225: INFO: At 2018-10-19 16:25:07 +0000 UTC - event for csi-hostpathplugin: {daemonset-controller } FailedCreate: Error creating: pods "csi-hostpathplugin-" is forbidden: unable to validate against any pod security policy: []

The extra role binding is silently ignored on clusters which don't
have this particular role.
2018-10-26 22:07:34 +02:00
Justin SB
ff8a0e08cb Disambiguate "unsupported provider" messages
When we get an unsupported provider message, it often isn't clear what
method actually failed - add more information to the error message.

Issue #70280
2018-10-26 07:13:20 -04:00
Patrick Ohly
1effe0ca0f e2e framework: UniqueName
This is needed for tests which have to create entities that aren't
namespaced, like ServiceAccounts.
2018-10-26 10:32:46 +02:00
Patrick Ohly
bf08f5c63c e2e: allow unknown providers with a warning
The E2E refactoring tightened the sanity checking of the --provider
parameter such that it only allowed known providers. That seemed to
make sense because it catches typos, but it turned out that various
callers depended on the "accept arbitrary provider value" behavior,
therefore it gets restored.
2018-10-24 21:57:02 +02:00
k8s-ci-robot
daf17e2aee Merge pull request #69571 from bclau/tests-linux-commands-fix
tests: Makes tests' commands platform agnostic
2018-10-23 09:33:30 -07:00
k8s-ci-robot
2472d67357 Merge pull request #68218 from jcsirot/fix-SkipIfMultizone-message
Fix the skip message since it was the exact opposite of the tested co…
2018-10-22 22:46:32 -07:00
Benjamin Elder
3787a4b5be register skeleton provider 2018-10-19 17:05:06 -07:00