Commit Graph

16731 Commits

Author SHA1 Message Date
Claudiu Belu
335dc6e2ee Windows tests: Makes gMSA test more nanoserver friendly
Nanoserver does not have powershell. This commit will replace the powershell
command with its cmd equivalent.
2020-04-13 08:05:16 -07:00
Kubernetes Prow Robot
b17ddac4df
Merge pull request #78944 from avorima/golint_fix_job
Fix golint errors in pkg/controller/job
2020-04-12 21:57:47 -07:00
Kubernetes Prow Robot
6239abe698
Merge pull request #89225 from andrewsykim/apparmor-api
move apparmor annotation constants to k8s.io/api/core/v1
2020-04-12 19:11:50 -07:00
Abdullah Gharaibeh
bed9b2f23b Cleanup obsolete NodeInfo methods 2020-04-12 18:13:46 -04:00
Kubernetes Prow Robot
ee6b88ddf9
Merge pull request #90000 from SataQiu/staging-scheduler-20200409
scheduler: remove direct import to pkg/master/ports
2020-04-11 10:46:01 -07:00
Kubernetes Prow Robot
4bba193bea
Merge pull request #89666 from julianvmodesto/kubectl-scale-dry-run
Support kubectl scale --dry-run=server|client
2020-04-11 10:45:47 -07:00
SataQiu
41d3e44a2f scheduler: remove direct import to pkg/master/ports
Signed-off-by: SataQiu <1527062125@qq.com>
2020-04-11 13:56:53 +08:00
Kubernetes Prow Robot
f13051c28c
Merge pull request #90060 from oomichi/WaitForAvailableEndpoint
Make WaitForAvailableEndpoint() local
2020-04-10 22:05:47 -07:00
Kubernetes Prow Robot
92356963fd
Merge pull request #90035 from alejandrox1/mv-manifests-to-framework
Moved e2e/manifests to e2e test framework
2020-04-10 14:40:01 -07:00
Kubernetes Prow Robot
1c01efe10f
Merge pull request #89945 from k-toyoda-pi/add_error_check_e2e_disruption
Add error check for marshaling json in e2e/apps/disruption
2020-04-10 12:26:01 -07:00
Kubernetes Prow Robot
81d2707797
Merge pull request #89889 from tanjunchen/move-func-20200406
move function RemoveTaintOffNode in test/e2e/framework/util.go  to subpackage node
2020-04-10 12:25:48 -07:00
Kenichi Omichi
76833e2c37 Make WaitForAvailableEndpoint() local
WaitForAvailableEndpoint() is only used in e2eservice.
So this makes the function() local clearly.
2020-04-10 18:08:13 +00:00
Antoni Zawodny
4030da9e34 Remove the 'DisabledForLargeClusters' tag from ILB correctness test 2020-04-10 13:55:15 +02:00
Kubernetes Prow Robot
157b2aa820
Merge pull request #89918 from tanjunchen/improve-code
test/e2e/scheduling : improve code
2020-04-10 02:17:46 -07:00
alejandrox1
bf984efcc7 Moved e2e/manifests to e2e test framework
The functionality included in the e2e/manifests is useful for writing
e2e tests and will be a good addition to the test framework as a
sub-package.

Signed-off-by: alejandrox1 <alarcj137@gmail.com>
2020-04-09 20:48:52 -04:00
Kubernetes Prow Robot
0c9245a29f
Merge pull request #89974 from ahg-g/ahg-info
scheduler's NodeInfo tracks PodInfos instead of Pods
2020-04-09 09:19:58 -07:00
Kubernetes Prow Robot
897c10e7b2
Merge pull request #89551 from zlabjp/restore-kubectl-prune-multiple-namespaces
Restore the ability to `kubectl apply --prune` without -n flag
2020-04-09 07:49:43 -07:00
Giuseppe Scrivano
43c56eb403
e2e_node: adapt tests to cgroup v2
and fix node_container_manager_test to run with the systemd cgroup
manager.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-09 16:18:05 +02:00
Kubernetes Prow Robot
1634d9c120
Merge pull request #89982 from neolit123/1.19-fix-kubeadm-integration-tests
cleanup the kubeadm integration tests and related scripts
2020-04-09 04:55:44 -07:00
Tatsuhiro Tsujikawa
7af3b01f24 Restore the ability to kubectl apply --prune without -n flag
Before https://github.com/kubernetes/kubernetes/pull/83084, `kubectl
apply --prune` can prune resources in all namespaces specified in
config files.  After that PR got merged, only a single namespace is
considered for pruning.  It is OK if namespace is explicitly specified
by --namespace option, but what the PR does is use the default
namespace (or from kubeconfig) if not overridden by command line flag.
That breaks the existing usage of `kubectl apply --prune` without
--namespace option.  If --namespace is not used, there is no error,
and no one notices this issue unless they actually check that pruning
happens.  This issue also prevents resources in multiple namespaces in
config file from being pruned.

kubectl 1.16 does not have this bug.  Let's see the difference between
kubectl 1.16 and kubectl 1.17.  Suppose the following config file:

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
  creationTimestamp: null
  name: foo
  namespace: a
  labels:
    pl: foo
data:
  foo: bar
---
apiVersion: v1
kind: ConfigMap
metadata:
  creationTimestamp: null
  name: bar
  namespace: a
  labels:
    pl: foo
data:
  foo: bar
```

Apply it with `kubectl apply -f file`.  Then comment out ConfigMap foo
in this file.  kubectl 1.16 prunes ConfigMap foo with the following
command:

$ kubectl-1.16 apply -f file -l pl=foo --prune
configmap/bar configured
configmap/foo pruned

But kubectl 1.17 does not prune ConfigMap foo with the same command:

$ kubectl-1.17 apply -f file -l pl=foo --prune
configmap/bar configured

With this patch, kubectl once again can prune the resource as before.
2020-04-09 02:54:10 +00:00
Kubernetes Prow Robot
4bdb72ed11
Merge pull request #89113 from claudiubelu/test-images/fixes-and-cleanups
test images: Adds various fixes and cleanups to the image building process
2020-04-08 18:19:44 -07:00
Abdullah Gharaibeh
b8ddd00312 scheduler's NodeInfo tracks PodInfos instead of Pods 2020-04-08 17:53:20 -04:00
Lubomir I. Ivanov
9bbd321fec remove /cluster/kubeadm.sh and /test/cmd/kubeadm.sh
/cluster/kubeadm.sh is used to find the kubeadm binary.
This file is legacy and is removed.

Remove /test/cmd/kubeadm.sh. This file contains a function that is used
to build kubeadm and invoke "make test". Move the function contents
to hack/make-rules/test-cmd.cmd.

Stop sourcing /test/cmd/kubeadm.sh in /test/cmd/legacy-script.sh.

Also remove the --kubeadm-path invocation as this can be handled
with an env. variable directly.
2020-04-09 00:47:15 +03:00
tanjunchen
e358e75681 test/e2e/scheduling:improve code 2020-04-08 18:03:15 +08:00
tanjunchen
bf170e1db1 /test/e2e/apimachinery/:fix bug 2020-04-08 17:46:01 +08:00
toyoda
effd064ef7 Add error check for marshaling json 2020-04-08 15:26:10 +09:00
tanjunchen
6532b40f21 move function RemoveTaintOffNode in test/e2e/framework/util.go to subpackage node 2020-04-08 09:59:44 +08:00
Kubernetes Prow Robot
53ffaa7175
Merge pull request #76443 from mgdevstack/promote-service-sessionaffinity
Promote e2e "verifying service's sessionAffinity for ClusterIP and NodePort services" to Conformance
2020-04-07 18:47:44 -07:00
Kubernetes Prow Robot
172553bf94
Merge pull request #89926 from wojtek-t/cleanup_default_conversions_2
Stop relying on default conversions for metav1beta1 and e2e-node tests
2020-04-07 16:46:23 -07:00
Kubernetes Prow Robot
646ba8b310
Merge pull request #89715 from spiffxp/avoid-kubelet-api-in-conformance
Avoid kubelet API in Conformance tests
2020-04-07 16:45:43 -07:00
Kubernetes Prow Robot
3072d1e22e
Merge pull request #88036 from ii/promote-podtemplate-lifecycle
Promote: PodTemplate Lifecycle test - +3 conformance endpoint coverage
2020-04-07 15:27:43 -07:00
Kubernetes Prow Robot
007f7ae7dc
Merge pull request #89912 from ahg-g/ahg-fwk
Move scheduler's NodeInfo and Listers types to framework pkg
2020-04-07 12:49:57 -07:00
Kubernetes Prow Robot
f21bd9efb9
Merge pull request #89745 from johnbelamaric/kubeconform-cleanup
Various cleanup for the kubeconform command
2020-04-07 12:49:44 -07:00
Kubernetes Prow Robot
46b2891089
Merge pull request #89771 from dims/avoid-panic-when-reporting-error-in-conformance-tests
Avoid panic when reporting error in conformance test
2020-04-07 08:31:44 -07:00
wojtekt
101221be33 Stop relying on default conversion in node e2e tests 2020-04-07 17:19:41 +02:00
Abdullah Gharaibeh
a5d8172715 move nodeinfo type to framework pkg 2020-04-07 10:25:24 -04:00
Davanum Srinivas
f7e7621395
Avoid panic when reporting error in conformance test
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-04-07 08:37:02 -04:00
Kubernetes Prow Robot
a7f43a7203
Merge pull request #89421 from mm4tt/disabled_for_large_cluster
Remove the 'DisabledForLargeClusters' tags from LB network tests.
2020-04-07 05:03:44 -07:00
Patrick Ohly
48f8e398fb mock tests: remove redundant wrapping of error
The "error waiting for expected CSI calls" is redundant because it's
immediately followed by checking that error with:

   framework.ExpectNoError(err, "while waiting for all CSI calls")
2020-04-07 13:09:31 +02:00
Patrick Ohly
2550051f3b mock tests: add timeout
The for loop that waited for the signal to delete pod had no timeout,
so if something went wrong, it would wait for the entire test suite to
time out.
2020-04-07 13:09:31 +02:00
Patrick Ohly
f117849582 mock tests: ResourceExhausted error handling in external-provisioner
The mock driver gets instructed to return a ResourceExhausted error
for the first CreateVolume invocation via the storage class
parameters.

How this should be handled depends on the situation: for normal
volumes, we just want external-scheduler to retry. For late binding,
we want to reschedule the pod. It also depends on topology support.
2020-04-07 13:09:31 +02:00
Patrick Ohly
367a23e4d9 mock tests: remove redundant retrieval of log output
The code became obsolete with the introduction of parseMockLogs
because that will retrieve the log itself. For debugging of a running
test the normal pod output logging is sufficient.
2020-04-07 13:07:09 +02:00
Patrick Ohly
d06589e4b6 mock tests: less verbose log output checking
parseMockLogs is called potentially multiple times while waiting for
output. Dumping all CSI calls each time is quite verbose and
repetitive. To verify what the driver has done already, the normal
capturing of the container log can be used instead:

csi-mockplugin-0/mock@127.0.0.1: gRPCCall: {"Method":"/csi.v1.Node/NodePublishVolume","Request"...
2020-04-07 13:07:09 +02:00
Kubernetes Prow Robot
15bb54c2d2
Merge pull request #89041 from jsafrane/stage-error-tests
Add NodeStage error tests
2020-04-07 03:25:57 -07:00
Kubernetes Prow Robot
38f0a8bc74
Merge pull request #89652 from liggitt/relist-timeout
Fix client watch reestablishment handling of client-side timeouts
2020-04-07 01:15:44 -07:00
Kubernetes Prow Robot
4c81edbb41
Merge pull request #89905 from oomichi/DescribeIng
Move DescribeIng() into e2eingress
2020-04-06 20:29:44 -07:00
Kubernetes Prow Robot
667e028f38
Merge pull request #83378 from ii/promote-pod-replicaset-verification
Promote pod PreemptionExecutionPath verification - +3 conformance endpoint coverage
2020-04-06 19:09:43 -07:00
Kubernetes Prow Robot
ac40660952
Merge pull request #89556 from smarterclayton/remove_startup_script
test: Remove final user of startup-script image
2020-04-06 17:47:34 -07:00
Kubernetes Prow Robot
87966c39f1
Merge pull request #89890 from fedepaol/useagnhost
Use agnhost version 2.13
2020-04-06 15:42:32 -07:00
Kenichi Omichi
2f5f16004d Move DescribeIng() into e2eingress
The function is only for e2e ingress test, it is not necessary to
keep the function in e2e test core framework.
2020-04-06 20:01:55 +00:00
Kubernetes Prow Robot
64d75b3bad
Merge pull request #89787 from oomichi/NodeUpgrade
Move NodeUpgrade() into GCP e2e tests
2020-04-06 11:20:03 -07:00
Mayank Gaikwad
7aa94a6549 Promote e2e verifying service's session affinity behaviours 2020-04-06 21:42:22 +05:30
Andrew Sy Kim
2e56866c97 move apparmor annotation constants to k8s.io/api/core/v1
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-04-06 10:22:04 -04:00
Federico Paolinelli
7f73d7b6d1 Use agnhost version 2.13
Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
2020-04-06 10:00:26 -04:00
Patrick Ohly
981aae35dd mock tests: do not give up immediately for pod output errors
As seen in some test
runs (https://prow.k8s.io/view/gcs/kubernetes-jenkins/pr-logs/pull/89041),
retrieving output can fail with "the server rejected our request for
an unknown reason (get pods csi-mockplugin-0)".

If this truly an intermittent error, then the existing retry logic in
the callers can deal with this.
2020-04-06 15:03:44 +02:00
Jan Safranek
e23a26a380 Update to new javascript 2020-04-06 15:03:22 +02:00
Jan Safranek
a4f080861f Test NodeStage error cases
Especially related to "uncertain" global mounts. A large refactoring of CSI
mock tests were necessary:
- to be able to script the driver to return errors as required by the test
- to parse the CSI driver logs to check kubelet called the right CSI calls
2020-04-06 15:03:22 +02:00
Mateusz Matejczyk
0817af735c Remove the 'DisabledForLargeClusters' tags from ELB network tests.
We did some internal testing at Google and, with the recent improvements, we believe that it's safe to re-enable these LB tests for large clusters.

Ref. https://github.com/kubernetes/kubernetes/issues/56138
2020-04-06 14:36:56 +02:00
Kubernetes Prow Robot
c1f1b1bceb
Merge pull request #89848 from seans3/kubectl-apply-fix
Even with build error, kubectl apply should apply all valid resources
2020-04-05 18:57:46 -07:00
Antonio Ojea
0748a75dfb
e2e TCP CLOSE test wait until pod is ready
the e2e TCP CLOSE_WAIT has to create a server pod and then, from
a client, it creates a connection but doesn't notify the server
when closing it, so it stays on the CLOSE_WAIT status until it
times out.

Current test use a simple timeout for waiting the that server pod
is ready, it's better to use WaitForPodsReady for waiting that
the pod is available to avoid problems on busy environments like
the CI.

It also deletes the pods once the tests finish to avoid leaking
pods.
2020-04-05 15:00:14 +02:00
Sean R. Sullivan
748ad74245 Even with build error, kubectl apply should apply all valid resources 2020-04-04 15:48:31 -07:00
Kubernetes Prow Robot
47f5d2923f
Merge pull request #89460 from wawa0210/change-os-label-windows
[Trival] beta.kubernetes.io/os deprecated since v1.14, are targeted for removal in v1.18
2020-04-04 08:36:00 -07:00
Prashant Sharma
3ff54eb10c
Fixes a flaky test, by adding kubectl wait for delete deployment in apply.sh (#89725)
* Add kubectl wait for delete deployment.

* Even better to wait for all pods deleted.

* get_object_assert -> wait_object_assert
2020-04-04 00:07:47 -07:00
Kubernetes Prow Robot
fb9c304766
Merge pull request #89830 from fedepaol/bumpagnhost
Bump agnhost version to 2.13, and bump up depending images.
2020-04-03 17:05:47 -07:00
Kubernetes Prow Robot
d911254deb
Merge pull request #89704 from liggitt/gnostic
github.com/googleapis/gnostic v0.4.1
2020-04-03 14:19:46 -07:00
Federico Paolinelli
e31f72e3a4 Bump agnhost version to 2.13, and bump up depending images.
Kitten / nautilus depend on agnhost.

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
2020-04-03 13:00:23 -04:00
Patrick Ohly
b9c5c55c09 podlogs: avoid dumping a terminated container more than once
The original logic was that dumping can stop (for example, due to
loosing the connection to the apiserver) and then will start again as
long as the container exists. That it duplicates output on restarts
is better than skipping output that might not have been dumped yet.

But that logic then also dumped the output of containers that have
terminated multiple times:
- logging is started, dumps all output and stops because the
  container has terminated
- next check finds the container again, sees no active logger,
  repeats

This wasn't a problem for short-lived logging in a custom
namespace (the way how it is done for CSI drivers in Kubernetes E2E),
but other testsuites (like the one from PMEM-CSI) keep logging running
for the entire test suite duration: there duplicate output became a
problem when adding driver redeployment as part of the suite's run.

To avoid duplicated output for terminated containers, which containers
have been handled is now stored permanently. For terminated containers,
restarting of dumping is prevented. This comes with the risk that if
the previous dumping ended before capturing all output, some output
will get lost.

Marking the start and stop of the log was also useful when streaming
to a single writer and thus gets enabled.
2020-04-03 14:45:00 +02:00
Patrick Ohly
dbac2a369a podlogs: adapt to modified error message
Commit 8a495cb5e4 changed the spelling of the error message that we
want to ignore. In case of version skew we suppress both the old and
new spelling.
2020-04-03 14:43:52 +02:00
Kubernetes Prow Robot
15c3e492b3
Merge pull request #89795 from julianvmodesto/fix-diff
Ensure diff doesn't persist patches
2020-04-03 04:27:58 -07:00
Kubernetes Prow Robot
7bd48eb3f6
Merge pull request #89784 from oomichi/sshPort
Add common SSHPort on e2essh
2020-04-02 21:40:40 -07:00
Kubernetes Prow Robot
821ebaf0c6
Merge pull request #87448 from YuikoTakada/fix_81657_t_integ_dep
Fix static check failures in test/integration/deployment
2020-04-02 21:39:45 -07:00
Julian V. Modesto
f448c01651 Add kubectl diff + server-side dry-run to e2e 2020-04-02 20:54:53 -04:00
Julian V. Modesto
9c0320f1bf Ensure diff doesn't persist patches 2020-04-02 19:23:32 -04:00
Kenichi Omichi
c0d09c943d Move NodeUpgrade() into GCP e2e tests
These functions are for GCP e2e tests only, so this moves these
functions into the tests.
2020-04-02 22:13:50 +00:00
Kubernetes Prow Robot
aff467bbb4
Merge pull request #89777 from wojtek-t/fix_networking_tests_timeouts
Fix networking tests timeouts for large clusters
2020-04-02 12:43:20 -07:00
Kubernetes Prow Robot
e8a24cb7f4
Merge pull request #89703 from ahg-g/ahg-podinfo
Rename scheduler/nodeinfo pkg to scheduler/types
2020-04-02 12:43:11 -07:00
Kubernetes Prow Robot
4a897137b6
Merge pull request #89678 from tanjunchen/manifest
test/e2e/manifest:remove unused function
2020-04-02 10:50:38 -07:00
Kubernetes Prow Robot
6bad8cb126
Merge pull request #89676 from tanjunchen/move-func-20200331
test/e2e/framework move func logClusterImageSources to test/e2e/e2e.go
2020-04-02 10:50:25 -07:00
Kenichi Omichi
48fdb95a82 Add common SSHPort on e2essh
There were several sshPort values in e2e test packages because
we've migrated code from e2e framework by copying and pastting.
This adds common SSHPort on e2essh package to reduce such duplicated
code.
2020-04-02 17:41:49 +00:00
wojtekt
a20646ef8a Hide constants to force using functions instead 2020-04-02 17:19:41 +02:00
wojtekt
268b51d023 Cleanup and fix networking test timeouts for large clusters 2020-04-02 17:19:41 +02:00
wojtekt
4c5a963463 Cleanup timeouts for networking tests 2020-04-02 16:30:40 +02:00
Kubernetes Prow Robot
2fd8debe9b
Merge pull request #87926 from fedepaol/agnostsctp
Preliminary SCTP connectivity tests
2020-04-02 02:12:24 -07:00
Kubernetes Prow Robot
1130e8910f
Merge pull request #89198 from tanjunchen/cleanup20200318
e2e/framework: security/ and /service remove direct import /k8s.io/kubernetes/pkg/
2020-04-01 22:15:05 -07:00
Kubernetes Prow Robot
8d773421ee
Merge pull request #80973 from xiaoanyunfei/bugfix/orphan-volume
fix orphaned pod flexvolume  can not be cleaned up
2020-04-01 20:50:23 -07:00
Kubernetes Prow Robot
205e2739bd
Merge pull request #87080 from aojea/tcpclose_lasttry
fix flakes on e2e test TCP CLOSE_WAIT timeout
2020-04-01 15:28:24 -07:00
John Belamaric
de5d8d612b Various cleanup for the kubeconform command 2020-04-01 14:39:52 -07:00
Kubernetes Prow Robot
ed00f42848
Merge pull request #89563 from oomichi/RestartControllerManager
Separate RestartControllerManager() as e2ekubesystem
2020-04-01 13:42:23 -07:00
Kubernetes Prow Robot
6e9bec8ee2
Merge pull request #89504 from tanjunchen/remove-dependency-001
test/e2e/framework: remove direct imports to k8s.io/kubernetes/pkg
2020-04-01 11:02:23 -07:00
Aaron Crickenberger
1a5f6906e0 e2e: don't use kubelet api to verify pod deletion
Conformance tests must not rely on the kubelet API in order to
pass. In this case, I think it's unnecessary to verify that a
kubelet observes the deletion within gracePeriod seconds. The
remaining checks in this test verify that pod deletion happens,
and that the pod is removed.
2020-04-01 08:28:27 -07:00
Aaron Crickenberger
cc7c862ce1 e2e: use apiserver view of pods on node instead of kubelet
Conformance tests must not rely on the kubelet API in order to
pass. SchedulerPredicates tests attempt to use the kubelet API
in their BeforeEach, some of which are tagged as Conformance.

Is there a compelling reason to use the kubelet's view of pods
for a given node instead of the apiserver's view of the pods?
2020-04-01 08:28:14 -07:00
Davanum Srinivas
d1c948acdc
Add support for listing conformance tests
we print yaml, so you can use yaml tools like `yq`:
```
e2e.test --list-conformance-tests | yq r - --collect *.testname
```

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-04-01 10:48:53 -04:00
Davanum Srinivas
b6a07b92fc
add conformance testdata/ and make it available from bindata
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-04-01 10:48:01 -04:00
Kubernetes Prow Robot
e39aa99c73
Merge pull request #89708 from spiffxp/update-conformance-instructions
Update conformance docs to reference correct bazel location of testdata
2020-04-01 00:21:27 -07:00
Kubernetes Prow Robot
53eb7cd733
Merge pull request #86858 from ii/create-event-test-to-ensure-creating-modifying-patching-deleting-and-listing
Create Event lifecycle test - +5 endpoint coverage
2020-03-31 21:31:27 -07:00
Jordan Liggitt
93c7b24562 github.com/googleapis/gnostic v0.4.1 2020-03-31 23:07:50 -04:00
tanjunchen
45b7736390 remove unused code 2020-04-01 10:50:59 +08:00
Abdullah Gharaibeh
ed3fe054df move scheduler nodeinfo to pkg/scheduler/types 2020-03-31 21:02:09 -04:00
Caleb Woodbine
ce97b49965 Update conformance metadata 2020-04-01 12:54:09 +13:00
Antonio Ojea
a89c2bdaf1
fix flakes on e2e test TCP CLOSE_WAIT timeout
it turns out that the e2e test was not using the timeout used to
hold the CLOSE_WAIT status, hence the test was flake depending
on how fast it checked the conntrack table.

This PR replaces the dependency on ssh using a pod to check the conntrack
entries on the host in a loop, to make the test more robust
and reduce the flakiness due to race conditions and/or ssh issues.

It also fixes a bug trying to grep the conntrack entry, where
the error was swallowed if a conntrack entry wasn't found.
2020-04-01 01:16:39 +02:00