Commit Graph

16731 Commits

Author SHA1 Message Date
Aldo Culquicondor
0e66e56e70 Use b.Fatal instead of klog.Fatal in scheduler perf tests
The test tool doesn't work properly with klog.Fatal

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-23 14:53:15 -04:00
Kenichi Omichi
d191660c25 Use e2epod.WaitForPodTerminatedInNamespace directly
WaitForPod*() are just wrapper functions for e2epod package, and they
made an invalid dependency to sub e2e framework from the core framework.
So this replaces WaitForPodTerminated() with the e2epod function.
2020-03-22 17:43:33 +00:00
tanjunchen
bed22fbb44 WaitForPodReady is simply wrapper functions for e2epod package,
and they made an invalid dependency to sub e2e framework from the core framework.

So we can use e2epod.WaitTimeoutForPodReadyInNamespace to remove invalid dependency.

The main purpose of this pr is to handle the framework core package dependency subpackage pod.
2020-03-22 23:08:52 +08:00
Kubernetes Prow Robot
d23310a40e
Merge pull request #89324 from tanjunchen/remove-invalid-dependency-waitForPod-002
use e2epod.WaitForPodRunningInNamespaceSlow directly
2020-03-22 00:36:44 -07:00
Kubernetes Prow Robot
c3d483bf76
Merge pull request #89323 from tanjunchen/remove-invalid-dependency-waitForPod-001
use e2epod.WaitForPodNotFoundInNamespace directly
2020-03-21 21:58:43 -07:00
drfish
9d7dc80b48 Rename waitForPodCondition in lifecycle_test.go to improve code readability 2020-03-22 11:53:51 +08:00
Kubernetes Prow Robot
fb9810c341
Merge pull request #89210 from gavinfish/inte-node-e2e
Remove dependency for node integration tests from e2e fw
2020-03-21 20:44:44 -07:00
tanjunchen
aa52bfe4d6 use e2epod.WaitForPodRunningInNamespaceSlow directly 2020-03-21 15:51:49 +08:00
tanjunchen
d18e6569e0 use e2epod.WaitForPodNotFoundInNamespace directly 2020-03-21 15:11:40 +08:00
Kubernetes Prow Robot
53e86a814d
Merge pull request #89204 from tanjunchen/cleanup20200318-002
test/framework: psp.go skipper.go remove direct import /k8s.io/kubernetes/pkg
2020-03-20 23:08:44 -07:00
SataQiu
799cdbf7b0 e2e/framework: remove direct imports to /pkg/controller/nodelifecycle 2020-03-21 11:08:57 +08:00
Kubernetes Prow Robot
d3b2199b2f
Merge pull request #89321 from oomichi/WaitForPodNoLongerRunning
Use e2epod.WaitForPodNoLongerRunningInNamespace directly
2020-03-20 20:00:53 -07:00
Kubernetes Prow Robot
bf4bc4d883
Merge pull request #89283 from SataQiu/staging-e2e-framework-20200320
e2e/framework: remove direct imports to /pkg/client/conditions
2020-03-20 20:00:44 -07:00
Kubernetes Prow Robot
a26f50a52e
Merge pull request #86679 from oomichi/remove-invalid-dependency-27
Use e2epod.WaitForPodNameRunningInNamespace directly
2020-03-20 15:58:44 -07:00
Kenichi Omichi
12ff8f2861 Use e2epod.WaitForPodNoLongerRunningInNamespace directly
WaitForPod*() are just wrapper functions for e2epod package, and they
made an invalid dependency to sub e2e framework from the core framework.
So this replaces WaitForPodNoLongerRunning() with the e2epod function.
2020-03-20 21:05:01 +00:00
Kubernetes Prow Robot
332cab4f3b
Merge pull request #89223 from gavinfish/inte-framework-e2e
Remove dependency for integration framework tests from e2e fw
2020-03-20 14:02:23 -07:00
Kubernetes Prow Robot
8a7c682c06
Merge pull request #88949 from gavinfish/remove-node
Remove framework.go's dependency on e2e node sub fw
2020-03-20 14:02:09 -07:00
Kubernetes Prow Robot
ede025af1b
Merge pull request #89232 from apelisse/test-apply-status
Use discovery to test apply all status
2020-03-20 03:52:36 -07:00
SataQiu
86fe8f6472 e2e/framework: remove direct imports to /pkg/client/conditions
Signed-off-by: SataQiu <1527062125@qq.com>
2020-03-20 15:13:12 +08:00
Kubernetes Prow Robot
990a3802f6
Merge pull request #89180 from oomichi/LogOutput
Move podlogs into e2e/storage/testsuites
2020-03-19 20:31:22 -07:00
Kubernetes Prow Robot
0fe5157009
Merge pull request #88923 from Jefftree/conformance-name
Fix Testname missing in conformance.yaml
2020-03-19 20:30:50 -07:00
tanjunchen
a3d802cb68 test/framework: psp.go skipper.go remove direct import /k8s.io/kubernetes/pkg 2020-03-20 10:13:44 +08:00
drfish
f5450543e0 Remove framework.go's dependency on e2e node sub fw 2020-03-20 10:01:51 +08:00
Kubernetes Prow Robot
a480f07b99
Merge pull request #88798 from k-toyoda-pi/update_e2e_for_pdb
Improve waitForPDBCollectionToBeDeleted in e2e test
2020-03-19 17:44:36 -07:00
Antoine Pelisse
94cb60e0e8 Use discovery to test apply all status 2020-03-19 09:58:46 -07:00
Andrew Sy Kim
f26b8372f8 e2e/framework: implement ssh exec internally
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-03-19 11:43:04 -04:00
Kubernetes Prow Robot
e5c67f75a9
Merge pull request #89199 from SataQiu/staging-test-framework-20200318
e2e/framework: remove direct imports to pkg/api/v1/pod
2020-03-19 08:27:37 -07:00
Kubernetes Prow Robot
0f336e09e7
Merge pull request #89236 from liggitt/fix-gc-test
Restore orphaning check in gc test
2020-03-19 06:07:14 -07:00
Kubernetes Prow Robot
6d67bb3c02
Merge pull request #89228 from andrewsykim/e2e-framework-v1-helper
e2e/framework: remove import to pkg/apis/core/v1/helper
2020-03-19 06:06:56 -07:00
Kubernetes Prow Robot
1115ac231a
Merge pull request #89227 from adelina-t/serial_windows_test
Label Windows test as Serial.
2020-03-19 06:06:46 -07:00
Kubernetes Prow Robot
f01e0b2f70
Merge pull request #89192 from andrewsykim/e2e-framework-ports
e2e/framework: remove imports to pkg/master/ports
2020-03-19 06:06:37 -07:00
Kubernetes Prow Robot
b8a729b899
Merge pull request #89191 from misterikkit/vsphere-panic
Fix nil panic in vsphere tests
2020-03-19 06:06:29 -07:00
Kubernetes Prow Robot
2db51c85b9
Merge pull request #89187 from andrewsykim/e2e-framework-jobs
e2e/framework: remove imports to pkg/controller/job
2020-03-19 06:06:20 -07:00
Kubernetes Prow Robot
71839b58e3
Merge pull request #89186 from andrewsykim/e2e-framework-deployment-util
e2e/framework: remove direct imports to pkg/controller/deployment/util
2020-03-19 06:06:10 -07:00
Kubernetes Prow Robot
9bee0747a9
Merge pull request #89183 from andrewsykim/e2e-framework-storage-class
e2e/framework: remove direct import to pkg/apis/v1/storage/util
2020-03-19 06:06:00 -07:00
Kubernetes Prow Robot
1aa64b25a5
Merge pull request #89139 from chendave/flags
Respect flags of testing package
2020-03-18 22:24:48 -07:00
Kubernetes Prow Robot
de931d569e
Merge pull request #89105 from andyzhangx/upgrade-40.2
Upgrade to azure-sdk v40.2.0
2020-03-18 22:24:29 -07:00
Kubernetes Prow Robot
f899ad704a
Merge pull request #89069 from enj/enj/i/drop_password_file
Remove support for basic authentication
2020-03-18 22:24:20 -07:00
Kubernetes Prow Robot
10d6efa04a
Merge pull request #89032 from tanjunchen/move-GetPodSecretUpdateTimeout
move GetPodSecretUpdateTimeout from framework/utils to test/e2e/framework/pod/
2020-03-18 22:24:01 -07:00
Kubernetes Prow Robot
df989a45f0
Merge pull request #89011 from oomichi/move-GetClusterZones
Move GetClusterZones() to e2enode
2020-03-18 22:23:43 -07:00
Kubernetes Prow Robot
e6e6f7d4dc
Merge pull request #89010 from oomichi/remove-E2ETestNodePreparer
Remove unused E2ETestNodePreparer and functions
2020-03-18 22:23:33 -07:00
Kubernetes Prow Robot
b52f703d2c
Merge pull request #88941 from dims/add-version-command-line-parameter
Add version flag to e2e.test
2020-03-18 22:23:11 -07:00
drfish
437765db22 Remove dependency for integration framework tests from e2e fw 2020-03-19 10:18:59 +08:00
Jordan Liggitt
69eb837e3b Restore orphaning check in gc test 2020-03-18 18:04:19 -04:00
Jefftree
40d80195f2 Only check testname for missing 2020-03-18 14:54:06 -07:00
Jefftree
90cd496e72 Include testname 2020-03-18 14:54:06 -07:00
Kenichi Omichi
017eaf170a Move podlogs into e2e/storage/podlogs
The e2e framework package podlogs is used in e2e/storage/testsuites
only. In addition we considered we should have a single e2e framework
package for pod without the podlogs. So this moves the podlogs into
e2e/storage/podlogs for the e2e storage tests.
2020-03-18 17:44:12 +00:00
Andrew Sy Kim
145c1c123c e2e/framework: remove import to pkg/apis/core/v1/helper
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-03-18 13:18:39 -04:00
Adelina Tuvenie
d7995f3260 Label Windows test as Serial.
Windows test "[sig-windows] [Feature:Windows] Cpu Resources Container
limits should not be exceeded after waiting 2 minutes" should be run
serially to prevent flakyness.
2020-03-18 17:50:36 +01:00
drfish
af1e1f4435 Remove dependency for node integration tests from e2e fw 2020-03-18 20:27:15 +08:00
drfish
6cad278a8c Remove dependency for benchmark integration tests from e2e fw 2020-03-18 15:57:37 +08:00
toyoda
7499d80fd8 Use ExpectNotEqual in test/e2e/network/ 2020-03-18 16:30:56 +09:00
jingyih
f9e0e4c6b4 Update default etcd server to 3.4.4 2020-03-18 00:27:46 -07:00
SataQiu
6a41f331da e2e/framework: remove direct imports to pkg/api/v1/pod 2020-03-18 11:10:06 +08:00
Kubernetes Prow Robot
b88ea8d2bb
Merge pull request #88930 from oomichi/Failf
Replace ExpectNoError(fmt.Errorf(..)) with funcs
2020-03-17 19:28:20 -07:00
Kubernetes Prow Robot
ed4c2dbf92
Merge pull request #88893 from kinvolk/invidian/kube-apiserver-so-reuseport
kube-apiserver: use SO_REUSEPORT when creating listener
2020-03-17 19:28:11 -07:00
Kubernetes Prow Robot
d88571833e
Merge pull request #88830 from msau42/update-pd
Update version of pd csi driver
2020-03-17 19:27:27 -07:00
Kubernetes Prow Robot
e5f1048945
Merge pull request #88805 from aleksandra-malinowska/gce-multizone-tests
ignore gcloud warning in test framework
2020-03-17 19:26:41 -07:00
Kubernetes Prow Robot
fbdda693b4
Merge pull request #88796 from tanjunchen/remove-TODO-20200304
test/e2e/framework:remove TODO
2020-03-17 19:26:27 -07:00
Kubernetes Prow Robot
7cadf86d75
Merge pull request #88770 from Jefftree/bdd-capture-behaviors
Capture conformance Behaviors in walk.go
2020-03-17 16:22:04 -07:00
Kubernetes Prow Robot
359f39c215
Merge pull request #88531 from claudiubelu/tests/configurable-private-image-pull
tests: Adds configurable docker conf for test
2020-03-17 16:21:19 -07:00
Kubernetes Prow Robot
9b8e247839
Merge pull request #88218 from SomtochiAma/pod-creation-methods
Refactors MakeSecPods function
2020-03-17 16:20:20 -07:00
Kubernetes Prow Robot
44c103c40d
Merge pull request #87644 from gavinfish/remove_sub_resource
Move resource methods from e2e core util to e2e resource fw
2020-03-17 16:19:39 -07:00
Andrew Sy Kim
c1e2f147ce e2e/frameworK: refactor GetPodsForDeployment to not depend on
pkg/controller/deployment/utils

Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-03-17 18:38:52 -04:00
Andrew Sy Kim
f0f6c6fc81 e2e/framework: remove imports to pkg/master/ports
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-03-17 17:42:43 -04:00
Jonathan Basseri
7f17ef28a8 Fix nil panic in vsphere tests
During test cleanup, we iterate over nodes.Items, but if test fails
during setup, nodes may be nil.
2020-03-17 14:00:10 -07:00
Tim Allclair
acf38c5f8a Move PSP tests behind a feature tag 2020-03-17 13:58:34 -07:00
Andrew Sy Kim
6c7bb454d5 e2e/framework: remove imports to pkg/controller/job
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-03-17 16:55:56 -04:00
Andrew Sy Kim
d4d3f3dda8 e2e/framework: copied constants for default storage class annotations should be unexported
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-03-17 16:40:23 -04:00
Andrew Sy Kim
60cb0d3cc1 e2e/framework: remove direct import to pkg/apis/v1/storage/util
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-03-17 16:07:42 -04:00
Kenichi Omichi
2c8955fd4a Use e2epod.WaitForPodNameRunningInNamespace directly
WaitForPod*() are just wrapper functions for e2epod package, and they
made an invalid dependency to sub e2e framework from the core framework.
So this replaces WaitForPodRunning() with the e2epod function.
2020-03-17 00:13:14 +00:00
Dave Chen
eedfb593a9 Respect flags of testing package
`go test -c -o "perf.test"`
`./perf.test --help` doesn't understand "help" flag without
calling `flag.Parse` explicitly.
2020-03-16 10:24:15 +08:00
Claudiu Belu
7389385a20 test images: Adds various fixes and cleanups to the image building process
Adds splitOsArch function to image-util.sh, which makes the script DRY-er.

When building a Windows test image, if REMOTE_DOCKER_URL is not set, skip the rest of the
building process for that image, which will save some time (no need to build binaries).

If a REMOTE_DOCKER_URL was not set for a particular OS version, exclude that image from the
manifest list. This fixes an issue where, if REMOTE_DOCKER_URL was not set for Windows Server 1909,
the Windows were completely excluded from the manifest list, including for Windows Server 1809
and 1903 which could have been built and pushed.

Sets "test-webserver" as the default CMD for kitten and nautilus. Since they are now based on
agnhost, they should be set to run test-webserver to maintain previous behaviour.
2020-03-14 15:18:10 -07:00
Antonio Ojea
2a095f434b e2e wait until controller manager pod ready 2020-03-14 12:17:25 +01:00
Mateusz Gozdek
dfe1f968ac
kube-apiserver: use SO_REUSEPORT when creating listener on Unix systems
So multiple instances of kube-apiserver can bind on the same address and
port, to provide seamless upgrades.

Signed-off-by: Mateusz Gozdek <mateusz@kinvolk.io>
2020-03-13 23:55:57 +01:00
andyzhangx
da20cc202f chore: upgrade to azure-sdk v40.2.0
chore: use autorest v0.9.6

fix go module issue

fix go module error
2020-03-13 11:51:25 +00:00
Antonio Ojea
334d46eed5
fix logging on e2e metrics grabber test 2020-03-13 09:48:39 +01:00
Kevin Taylor
468b3b40d8 Promote VolumeSubpathExpansion e2e tests to Conformance 2020-03-12 20:05:28 +00:00
Kubernetes Prow Robot
5bf4a4ca2f
Merge pull request #89078 from liggitt/kubectl-table-test
Remove kubectl column output test
2020-03-12 02:08:38 -07:00
Somtochi Onyekwere
ee41c6b1a4 Refactors MakeSecPods function 2020-03-12 07:14:08 +01:00
Jordan Liggitt
a35ca04dd6 Remove kubectl column output test 2020-03-11 22:59:51 -04:00
Monis Khan
df292749c9
Remove support for basic authentication
This change removes support for basic authn in v1.19 via the
--basic-auth-file flag.  This functionality was deprecated in v1.16
in response to ATR-K8S-002: Non-constant time password comparison.

Similar functionality is available via the --token-auth-file flag
for development purposes.

Signed-off-by: Monis Khan <mok@vmware.com>
2020-03-11 20:55:47 -04:00
Antonio Ojea
4361f8f052 wait until /metrics are ready on e2e test
Some e2e tests depend on the controller-manager to expose metrics
on the path /metrics.

It may happen that when the test runs, the pod is not available or the
URL not ready, causing it to fail.

Previously, the test were waiting until the pod was running, but we
need to wait until the /metrics URL is ready.
2020-03-11 14:32:03 +01:00
tanjunchen
97db7f4b99 move GetPodSecretUpdateTimeout from framework/utils to framework/pod 2020-03-11 15:48:15 +08:00
Kenichi Omichi
c586d8837a Move GetClusterZones() to e2enode 2020-03-10 18:16:54 +00:00
Kubernetes Prow Robot
c4a7d3cf16
Merge pull request #88903 from claudiubelu/test-images/sample-apiserver-fix
test images: ARG instructions should be first
2020-03-10 11:15:35 -07:00
Kenichi Omichi
19566b9c9f Remove unused E2ETestNodePreparer and functions
Since 59533f0cd1 E2ETestNodePreparer
and the related functions have been unused.
This removes them for cleanup.
2020-03-10 17:32:26 +00:00
Kubernetes Prow Robot
a35f54e3e8
Merge pull request #88982 from aojea/flakyvolumes
e2e: wait for controller manager pod to be ready
2020-03-10 03:29:36 -07:00
Kubernetes Prow Robot
5877945048
Merge pull request #88739 from julianvmodesto/diff-server-side-field-manager
Set field manager for kubectl diff --server-side
2020-03-09 18:57:35 -07:00
Kubernetes Prow Robot
b1c1187cca e2e: wait for controller manager pod to be ready
The MetricsGrabber may use the controller-manager pod
to gather metrics, however, it doesn't wait until
it is ready to serve, failing the test if this is the
case.

We wait until the controller-manager pod is running
before trying to get metrics from it.
2020-03-09 22:04:16 +01:00
Kubernetes Prow Robot
0bb125e731
Merge pull request #87487 from skilxn-go/master
Move TaintBasedEvictions feature gates to GA
2020-03-09 09:03:45 -07:00
skilxn-go
6b8fc8dc5e Move TaintBasedEvictions feature gates to GA 2020-03-09 10:49:00 +08:00
Clayton Coleman
d80981b657
test: Detect flakes caused by container teardown races on CRI
CRI returns a different reason than the dockershim, and we must also
catch the symptoms of https://github.com/kubernetes/kubernetes/issues/88766
in that environment.
2020-03-08 16:21:57 -04:00
drfish
f4da086cbe Move resource methods from e2e fw to e2e resource fw 2020-03-08 15:27:49 +08:00
Davanum Srinivas
8f3dfea11f
Add version flag to e2e.test 2020-03-07 18:33:02 -05:00
Kubernetes Prow Robot
672aa55ee4
Merge pull request #87777 from dbenoit17/master
fix range copy issue
2020-03-07 08:25:34 -08:00
Kubernetes Prow Robot
b30c9a3aba
Merge pull request #88929 from liggitt/expansions
client-go: plumb context to expansions methods
2020-03-06 20:35:34 -08:00
Kubernetes Prow Robot
988982a1f7
Merge pull request #88048 from mtaufen/provider-info-e2etest
Add e2e test for validating JWTs as OIDC tokens
2020-03-06 17:59:34 -08:00
Kenichi Omichi
75ca65806d Replace ExpectNoError(fmt.Errorf(..)) with funcs
There were framework.ExpectNoError(fmt.Errorf(..)) calls which just
raise an exception without actual value checks, they just raised the
specified error messages. These usages of framework.ExpectNoError()
seemed a little tricky, so this replaces them with corresponding check
functions for the readability.
2020-03-06 22:00:10 +00:00
Jordan Liggitt
d8abacba40 client-go: update expansions callers 2020-03-06 16:50:41 -05:00
Kubernetes Prow Robot
f52cbea102
Merge pull request #88910 from liggitt/metadata-context
Metadata client: plumb context
2020-03-06 13:18:04 -08:00
Jefftree
db714336a9 Update conformance.yaml to remove comments not part of Description 2020-03-06 11:37:35 -08:00
Jefftree
6da6380d1b Capture behaviors in walk.go 2020-03-06 11:09:25 -08:00
Jordan Liggitt
04a72d5ef9 client-go metadata: update callers 2020-03-06 11:07:54 -05:00
Jordan Liggitt
b7c2faf26c client-go dynamic client: add context to callers 2020-03-06 10:56:23 -05:00
Jordan Liggitt
b19dc3a474 client-go dynamic client: update DeleteOptions callers 2020-03-06 10:21:23 -05:00
Hemant Kumar
73611a473f Fix expected version for csidriver
Add a comment about GA feature
2020-03-06 08:21:26 -05:00
Christian Huffman
c6fd25d100 Updated CSIDriver references 2020-03-06 08:21:26 -05:00
Charles Eckman
aee9fde751 Add e2e test for validating JWTs as OIDC tokens
Adds an E2E test to deploy an agnhost container that runs the test.

Co-authored-by: Michael Taufen <mtaufen@google.com>
2020-03-05 13:58:52 -08:00
Kubernetes Prow Robot
0ad60b35c1
Merge pull request #88801 from jsafrane/snapshot-test-timeout
Fix GCE PD snapshot flakiness
2020-03-05 09:08:51 -08:00
Kubernetes Prow Robot
2f145e9422
Merge pull request #88249 from claudiubelu/tests/reduce-to-agnhost-dnsutils
tests: Replaces dnsutils image used with agnhost (part 4)
2020-03-05 09:08:37 -08:00
Kubernetes Prow Robot
1f2e1967d1
Merge pull request #88566 from Deepthidharwar/topology-mgr-numa-tests
Enable running cpu-mgr-multiNUMA e2e tests with Topology manager
2020-03-05 05:38:37 -08:00
Kubernetes Prow Robot
67c6767b7d
Merge pull request #88721 from Deepthidharwar/sriov-tm-bug
FIX SRIOV detection logic not to error out if device not present on the system
2020-03-05 02:58:50 -08:00
Jan Chaloupka
b09676921c [doc] scheduler_perf: describe suite configuration in more detail
The configuration file was design as a yaml file on purpose.
To easily extend the test cases without a need to modify
the testing binary. Also, it's possible to extend the configuration
itself to enrich individual test cases.
2020-03-05 11:42:05 +01:00
Kubernetes Prow Robot
364c66ed9c
Merge pull request #88828 from msau42/fix-skip-log
Fix log formatting for skipper.
2020-03-05 00:54:37 -08:00
Kubernetes Prow Robot
1afb554222
Merge pull request #88818 from claudiubelu/test-images/skips-windows
test images: Temporarely exclude Windows test images
2020-03-04 20:13:45 -08:00
Kubernetes Prow Robot
7a513b575a
Merge pull request #88440 from smarterclayton/container_success_fix
Ensure Kubelet always reports terminating pod container status
2020-03-04 20:13:04 -08:00
Kubernetes Prow Robot
7d6d790b43
Merge pull request #88414 from tanjunchen/resole-TODO
test/e2e/:resolve pending TODO: write a wrapper for ExpectNoErrorWithOffset()
2020-03-04 20:12:50 -08:00
Michelle Au
86c9b8ef57 Update version of pd csi driver
Change-Id: I1e6858cb641eb1b30b06ac95abe6a83c5312632e
2020-03-04 18:51:47 -08:00
Michelle Au
3ee30343cc Fix log formatting for skipper. "INFO" is already logged by Logf, and it
wasn't in the format syntax.

Change-Id: I760007c9c524bb465f428eb70e7fb30993475086
2020-03-04 17:43:24 -08:00
Kubernetes Prow Robot
d7e7136bbc
Merge pull request #88563 from mateuszlitwin/mlitwin-fix-permit-integration-test
fix TestCoSchedulinngWithPermitPlugin and test PermitPlugin
2020-03-04 17:26:37 -08:00
Julian V. Modesto
bacc2c4960 Set field manager for kubectl diff --server-side.
Bonus: check diff only dry-runs without persisting.

Co-authored-by: Takahiro HATORI <tahatori@zlab.co.jp>
2020-03-04 20:20:07 -05:00
Federico Paolinelli
c42b1ca783 Add SCTP e2e connectivity tests.
Pod2pod connectivity, and pod 2 service.

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
2020-03-04 23:34:22 +01:00
Dan Winship
55d3408211 agnhost: add SCTP support to netexec 2020-03-04 23:34:15 +01:00
Caleb Woodbine
bf4f46b9fa Adjust endpoint watch timeout to 180 2020-03-05 10:24:25 +13:00
Caleb Woodbine
957ab9afaf Adjust RC watch timeout to 180, update progress log statement 2020-03-05 09:55:38 +13:00
Clayton Coleman
6d98b0a0f4
Test that an always-fail container can't report the pod Succeeded
The kubelet can race when a pod is deleted and report that a container succeeded
when it instead failed, and thus the pod is reported as succeeded. Create an e2e
test that demonstrates this failure.
2020-03-04 13:34:20 -05:00
Mateusz Litwin
b93e3d18e9 fix scheduler.TestCoSchedulinngWithPermitPlugin and test scheduler.PermitPlugin
After moving Permit() to the scheduling cycle test PermitPlugin should
no longer wait inside Permit() for another pod to enter Permit() and become waiting pod.
In the past this was a way to make test work regardless of order in
which pods enter Permit(), but now only one Permit() can be executed at
any given moment and waiting for another pod to enter Permit() inside
Permit() leads to timeouts.

In this change waitAndRejectPermit and waitAndAllowPermit flags make first
pod to enter Permit() a waiting pod and second pod to enter Permit()
either rejecting or allowing pod.

Mentioned in #88469
2020-03-04 08:45:36 -08:00
Kubernetes Prow Robot
b5b675491b
Merge pull request #86173 from soltysh/cli_defaults
stop defaulting kubeconfig to http://localhost:8080
2020-03-04 07:23:47 -08:00
Aleksandra Malinowska
c326149b4a ignore gcloud warning in test framework 2020-03-04 14:45:05 +01:00
Kubernetes Prow Robot
f692f5cfcd
Merge pull request #88049 from mtaufen/provider-info-agnhost
Update agnhost to test OIDC validation of JWT tokens
2020-03-04 03:43:47 -08:00
Jan Safranek
98b9c7b5e8 Fix GCE PD snapshot flakiness
It takes more than 5 minutes to restore a GCE PD snapshot + run a pod with
it. Therefore TestVolumeClientSlow is introduced.
2020-03-04 12:39:13 +01:00
Kubernetes Prow Robot
497a998ba6
Merge pull request #88654 from ddebroy/gmsa-disable1
Promote GMSA support for Windows to GA
2020-03-04 02:32:01 -08:00
Kubernetes Prow Robot
c2593d3fa7
Merge pull request #88669 from mkimuram/snapfromfile
Add FromFile and FromExistingClassName support for SnapshotClass in external storage e2e test
2020-03-04 01:10:00 -08:00
Kubernetes Prow Robot
71cfd2a3db
Merge pull request #88460 from soltysh/filename_exec
Wire --filename flag to exec
2020-03-04 01:09:47 -08:00
toyoda
bf58facaef Update waitForPDBCollectionToBeDeleted in e2e test 2020-03-04 17:31:50 +09:00
tanjunchen
453a05c03e test/e2e/framework:remove TODO 2020-03-04 13:00:37 +08:00
Deep Debroy
16d221e407 Promote GMSA to GA
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2020-03-04 02:56:21 +00:00
Caleb Woodbine
ca3542273c Update Replica count check, undo capitalization for framework.Expect* statements 2020-03-04 15:44:46 +13:00
Caleb Woodbine
3fa4acb9b7 Ensure current Replica check is from ReplicationController watch 2020-03-04 14:55:11 +13:00
Caleb Woodbine
be382a812c Update test to create endpoint, patch addresses and ports for endpoint, ensure watch for DELETED 2020-03-04 14:24:02 +13:00
Caleb Woodbine
c715fec47d Update ReplicationController event watch check 2020-03-04 13:08:59 +13:00
Kubernetes Prow Robot
25d241eda2
Merge pull request #85642 from claudiubelu/tests/guestbook-workers-update-image
test images: Updates agnhost guestbook subcommand
2020-03-03 15:33:47 -08:00
Charles Eckman
5ceecd3ba3 Update agnhost to test OIDC validation of JWT tokens
Extends agnhost with the capability to validate a mounted token against
the API server's OIDC endpoints.

Co-authored-by: Michael Taufen <mtaufen@google.com>
2020-03-03 15:27:47 -08:00
Caleb Woodbine
054a886bf9 Remove sleep and final fetch of ReplicationController 2020-03-04 11:14:03 +13:00
Caleb Woodbine
de5859f7ce Add Endpoints resource lifecycle test 2020-03-04 11:09:48 +13:00
Masaki Kimura
401b85e547 Add FromFile and FromExistingClassName support for SnapshotClass in external storage e2e test 2020-03-03 20:28:32 +00:00
Caleb Woodbine
3b1e2249b0 Add ginkgo.By statements, TimeoutSeconds to the ReplicationController watch 2020-03-04 09:19:06 +13:00
Maciej Szulik
9dac1699bf
Wire --filename flag to exec 2020-03-03 12:16:52 +01:00
Kubernetes Prow Robot
9ee75e48c9
Merge pull request #88681 from Huang-Wei/fix-pts-e2e-flak
Fix an e2e flake for preemption with hard PodTopologySpread
2020-03-03 00:17:37 -08:00
Kubernetes Prow Robot
1c4f1edfba
Merge pull request #88746 from andrewsykim/test-framework-pkg-apis
test/e2e/framework: remove dependencies to internal APIs
2020-03-02 22:13:46 -08:00
Wei Huang
9902021ccd
Fix a PodTopologySpread e2e flake 2020-03-02 16:25:11 -08:00
Kubernetes Prow Robot
4838ac95ca
Merge pull request #88624 from claudiubelu/tests/windows-create-pod-fix
tests: Create pod for Windows test
2020-03-02 16:16:46 -08:00
Kubernetes Prow Robot
6c55e4b4f1
Merge pull request #88496 from chewong/fix-memory-limit-test-case
test: don't use hardcoded pod count for memory limit test
2020-03-02 16:16:27 -08:00
Kubernetes Prow Robot
a019609d5d
Merge pull request #87508 from jennybuckley/large-obj
Don't save managedFields if object is too large
2020-03-02 16:16:05 -08:00
Kubernetes Prow Robot
4b1ee392c1
Merge pull request #79083 from jackkleeman/client-cert-file-reload
Add ability to reload client certificates from disk
2020-03-02 16:15:53 -08:00
Kubernetes Prow Robot
a5048219ee
Merge pull request #76838 from claudiubelu/test-images/windows-support
test images: Adds Windows Container images support (part 1)
2020-03-02 16:15:38 -08:00
Kubernetes Prow Robot
26d497ac57
Merge pull request #88703 from tanjunchen/simplify-code
test/e2e/framework/service/:simplify function CreateTCPService and remove repeat const
2020-03-02 14:50:52 -08:00
andrewsykim
674e539fca test/e2e/framework: remove dependencies to internal APIs
Signed-off-by: andrewsykim <kim.andrewsy@gmail.com>
2020-03-02 16:09:15 -05:00
Kubernetes Prow Robot
24bf9e0327
Merge pull request #88727 from jsafrane/block-snapshot
Fix block snapshot tests
2020-03-02 11:43:36 -08:00
Kubernetes Prow Robot
e87cd59e1b
Merge pull request #88685 from fengzixu/move-util-functions
Refactor: move generic functions of integration test to util directory
2020-03-02 11:43:23 -08:00
David Eads
b19ad9e7a7
stop defaulting kubeconfig to http://localhost:8080 2020-03-02 18:32:16 +01:00
Jack Kleeman
929b1559a0 Add ReloadCertFromDisk flag to rest.Config and to kubeconfig which allows the provided client certificate files to be reloaded from disk (currently on every use)
Close outbound connections when using a cert callback and certificates rotate. This means that we won't get into a situation where we have open TLS connections using expires certs, which would get unauthorized errors at the apiserver

Attempt to retrieve a new certificate if open connections near expiry, to prevent the case where the cert expires but we haven't yet opened a new TLS connection and so GetClientCertificate hasn't been called.

Move certificate rotation logic to a separate function

Rely on generic transport approach to handle closing TLS client connections in exec plugin; no need to use a custom dialer as this is now the default behaviour of the transport when faced with a cert callback. As a result of handling this case, it is now safe to apply the transport approach even in cases where there is a custom Dialer (this will not affect kubelet connrotation behaviour, because that uses a custom transport, not just a dialer).

Check expiry of the full TLS certificate chain that will be presented, not only the leaf. Only do this check when the certificate actually rotates. Start the certificate as a zero value, not nil, so that we don't see a rotation when there is in fact no client certificate

Drain the timer when we first initialize it, to prevent immediate rotation. Additionally, calling Stop() on the timer isn't necessary.

Don't close connections on the first 'rotation'

Remove RotateCertFromDisk and RotateClientCertFromDisk flags.

Instead simply default to rotating certificates from disk whenever files are exclusively provided.

Add integration test for client certificate rotation

Simplify logic; rotate every 5 mins

Instead of trying to be clever and checking for rotation just before an
expiry, let's match the logic of the new apiserver cert rotation logic
as much as possible. We write a controller that checks for rotation
every 5 mins. We also check on every new connection.

Respond to review

Fix kubelet certificate rotation logic

The kubelet rotation logic seems to be broken because it expects its
cert files to end up as cert data whereas in fact they end up as a
callback. We should just call the tlsConfig GetCertificate callback
as this obtains a current cert even in cases where a static cert is
provided, and check that for validity.

Later on we can refactor all of the kubelet logic so that all it does is
write files to disk, and the cert rotation work does the rest.

Only read certificates once a second at most

Respond to review

1) Don't blat the cert file names
2) Make it more obvious where we have a neverstop
3) Naming
4) Verbosity

Avoid cache busting

Use filenames as cache keys when rotation is enabled, and add the
rotation later in the creation of the transport.

Caller should start the rotating dialer

Add continuous request rotation test

Rebase: use context in List/Watch

Swap goroutine around

Retry GETs on net.IsProbableEOF

Refactor certRotatingDialer

For simplicity, don't affect cert callbacks

To reduce change surface, lets not try to handle the case of a changing
GetCert callback in this PR. Reverting this commit should be sufficient
to handle that case in a later PR.

This PR will focus only on rotating certificate and key files.
Therefore, we don't need to modify the exec auth plugin.

Fix copyright year
2020-03-02 17:20:16 +00:00
Deepthi Dharwar
1ede096465 Enable topology-manager-e2e tests to run on MultiNUMA nodes.
Signed-off-by: Deepthi Dharwar <ddharwar@redhat.com>
2020-03-02 22:36:43 +05:30
Deepthi Dharwar
4abbce4549 Refactor CPUMananger-e2e-tests so that it be reused by topology-manager-e2e-testsuite.
Signed-off-by: Deepthi Dharwar <ddharwar@redhat.com>
2020-03-02 22:36:31 +05:30
Jan Safranek
f96c75bca2 Bump csi-driver-host-path version to get fixed block snapshots 2020-03-02 15:22:32 +01:00
Deepthi Dharwar
a4b59a5d7c Currently SRIOV detection logic is reporting error if it fails to detect SRIOV device
on the system. This patch aims to fix the same.

Signed-off-by: Deepthi Dharwar <ddharwar@redhat.com>
2020-03-02 19:31:37 +05:30
Jan Safranek
104db4f01b Fix block snapshot tests
Use InjectContent / TestVolumeClient to test a snapshot volume, since these
functions support raw block volumes.
2020-03-02 14:18:40 +01:00
Caleb Woodbine
5239ae44b6 Update delay time before deletion recheck 2020-03-02 15:42:23 +13:00
Rob Scott
132d2afca0
Adding IngressClass to networking/v1beta1
Co-authored-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-03-01 18:17:09 -08:00
Caleb Woodbine
51d3f64b81 Fix conformance testdata 2020-03-02 14:23:29 +13:00
Caleb Woodbine
c33e3bdc28 Fix conformance testdata 2020-03-02 14:17:24 +13:00
Caleb Woodbine
67fb7c5989 Fix release number 2020-03-02 14:09:20 +13:00
Caleb Woodbine
40dadaaa9c Promote Pod Preemption Verification 2020-03-02 14:08:30 +13:00
Caleb Woodbine
947584d3b4 Fix metadata description 2020-03-02 13:57:17 +13:00
Caleb Woodbine
22f8a698ff Fix: metadata 2020-03-02 13:57:17 +13:00
Caleb Woodbine
633a72ce28 Promote: PodTemplate Lifecycle test 2020-03-02 13:57:17 +13:00
Caleb Woodbine
e5e3037868 Use max Replica count instead of hardcoded value 2020-03-02 13:46:41 +13:00
tanjunchen
b5cdb6e6cb test/e2e/:remove // TODO: write a wrapper for ExpectNoErrorWithOffset() 2020-03-01 23:00:11 +08:00
tanjunchen
b63be6a46d test/e2e/framework/service/:simplify function CreateTCPService 2020-03-01 22:33:42 +08:00
Jordan Liggitt
f205e3dd59 Use only v1 CRD resources in e2e tests 2020-02-29 17:34:26 -05:00
Kubernetes Prow Robot
03b7f272c8
Merge pull request #88246 from munnerz/csr-signername-controllers
Update CSR controllers & kubelet to respect signerName field
2020-02-28 23:38:39 -08:00
fengzixu
b67a033de2 Refactor: move generic functions of integration test to util directory 2020-02-29 14:56:39 +09:00
Kubernetes Prow Robot
268d0a1d3a
Merge pull request #85870 from Jefftree/authn-netproxy
Use Network Proxy with Authentication & Authorizer Webhooks
2020-02-28 18:44:39 -08:00
Kubernetes Prow Robot
0d2844f564
Merge pull request #88666 from ingvagabund/scheduler-perf-do-not-override-throughput-labes
scheduler_perf: do not override throughput labels
2020-02-28 12:55:03 -08:00
Kubernetes Prow Robot
0046b4cefb
Merge pull request #88242 from jsafrane/cloning-test
Add block cloning test
2020-02-28 12:54:53 -08:00
Jan Chaloupka
5b3b4de972 scheduler_perf: do not override throughput labels
Throughput labels are currently initialized with a "Name" label.
So we need to append to the map instead of creating a new one.
2020-02-28 16:10:50 +01:00
Elijah Oyekunle
2e187415fd extend CRD map and set validation 2020-02-28 16:00:59 +01:00
Kubernetes Prow Robot
4e4757772f
Merge pull request #88538 from PatrickLang/patch-1
Updating OWNERS for Windows+Azure tests
2020-02-28 02:28:38 -08:00
Jan Safranek
347d841948 Bump CSI hostpath driver
To get block cloning support
2020-02-28 10:45:43 +01:00
Claudiu Belu
06062b15e9 test images: ARG instructions should be first
A few other Dockerfiles had the ARG duplicated as well.
2020-02-28 01:31:05 -08:00
Kubernetes Prow Robot
e25ff53a6f
Merge pull request #88540 from damemi/move-extender-api-to-staging
Move scheduler extender API V1 to staging k8s.io/kube-scheduler
2020-02-27 20:20:52 -08:00
Kubernetes Prow Robot
d6a5fa3bec
Merge pull request #88520 from bertinatto/fix-csi-mock-test-for-conformance
Don't rely on contents of optional Condition fields in CSI mock test
2020-02-27 20:20:38 -08:00
Claudiu Belu
ce30d2d5c8 test images: Skip building manifest list if no image was pushed
For Windows-only images, if there is no image built / pushed, you cannot create
a manifest list.
2020-02-27 19:05:47 -08:00
Kubernetes Prow Robot
5708511499
Merge pull request #88708 from mikedanese/deleteopts
Migrate clientset metav1.DeleteOpts to pass-by-value
2020-03-05 23:09:23 -08:00
Kubernetes Prow Robot
f5df777d50
Merge pull request #88872 from smarterclayton/fix_flake
test: Properly detect container runtime flake in e2e test
2020-03-05 21:40:23 -08:00
Kubernetes Prow Robot
974a8a014f
Merge pull request #88847 from claudiubelu/image-promoter/build-and-push
Image Promoter fixes
2020-03-05 20:04:56 -08:00
Kubernetes Prow Robot
50dd75f9c5
Merge pull request #88773 from vpickard/e2e-topology-manager-sriovdpReady
e2e-topology-manager: Wait for SR-IOV device plugin
2020-03-05 20:04:38 -08:00
Kubernetes Prow Robot
e23e7204f2
Merge pull request #88558 from egernst/e2e_node-PodOverhead
e2e node pod overhead
2020-03-05 20:04:11 -08:00
Kubernetes Prow Robot
34c4407d34
Merge pull request #88152 from fengzixu/master
cleanup: move the test of TaintBasedEvictions features to sig-node
2020-03-05 20:03:43 -08:00
Mike Danese
76f8594378 more artisanal fixes
Most of these could have been refactored automatically but it wouldn't
have been uglier. The unsophisticated tooling left lots of unnecessary
struct -> pointer -> struct transitions.
2020-03-05 14:59:47 -08:00
Mike Danese
aaf855c1e6 deref all calls to metav1.NewDeleteOptions that are passed to clients.
This is gross but because NewDeleteOptions is used by various parts of
storage that still pass around pointers, the return type can't be
changed without significant refactoring within the apiserver. I think
this would be good to cleanup, but I want to minimize apiserver side
changes as much as possible in the client signature refactor.
2020-03-05 14:59:46 -08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
Clayton Coleman
8c35e32a40
test: Properly detect container runtime flake in e2e test
The condition was not part of the message and so would not
match:

OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/var/lib/kubelet/pods/128aea1f-bde3-43d5-8b5f-dd86b9a5ef33/volumes/kubernetes.io~secret/default-token-v55hm\\\" to rootfs \\\"/var/lib/docker/overlay2/813487ba91d534ded546ae34f2a05e7d94c26bd015d356f9b2641522d8f0d6da/merged\\\" at \\\"/var/run/secrets/kubernetes.io/serviceaccount\\\" caused \\\"stat /var/lib/kubelet/pods/128aea1f-bde3-43d5-8b5f-dd86b9a5ef33/volumes/kubernetes.io~secret/default-token-v55hm: no such file or directory\\\"\"": unknown

Updated the check and regex.
2020-03-05 14:20:59 -05:00
vpickard
61565b3f6c e2e-topology-manager: Wait for SR-IOV device plugin
Make sure the SR-IOV device plugin is ready, and that
there are enough SR-IOV devices allocatable before
spinning up test pods.

Signed-off-by: vpickard <vpickard@redhat.com>
2020-03-04 10:07:35 -05:00
fengzixu
076132e38a cleanup: move the test of TaintBasedEvictions features to sig-node
1. move the integration test of TaintBasedEvictions to test/integration/node
2. move the e2e test of TaintBasedEvictions e2e test/e2e/node
3. modify the conformance file to adapt the TaintBasedEviction test
2020-03-04 10:28:00 +09:00
Eric Ernst
aa12e1f8c4 e2e_node add test for PodOverhead feature
This test will verify that the Pod cgroup created takes Overhead into
account.

Signed-off-by: Eric Ernst <eric@amperecomputing.com>
2020-02-28 23:00:39 +00:00
Jefftree
1b38199ea8 pass Dialer instead of egressselector to webhooks 2020-02-27 17:47:23 -08:00
Jefftree
d318e52ffe authentication webhook via network proxy 2020-02-27 17:47:23 -08:00
Kubernetes Prow Robot
0bd694033a
Merge pull request #88556 from Huang-Wei/sched-e2e-flake-part2
Fix a scheduler e2e bug on Preemption
2020-02-27 16:12:39 -08:00
jennybuckley
ccd9e4e2de Don't save managedFields if object is too large 2020-02-27 12:41:44 -08:00
Kubernetes Prow Robot
641616362d
Merge pull request #88133 from julianvmodesto/dry-run-tests
Cleanup --dry-run values in tests, docs, and scripts
2020-02-27 11:33:42 -08:00
Mike Dame
18ffaf5608 Move scheduler extender API V1 to staging k8s.io/kube-scheduler 2020-02-27 12:10:59 -05:00
James Munnelly
d5dae04898 certificates: update controllers to understand signerName field
Signed-off-by: James Munnelly <james.munnelly@jetstack.io>
2020-02-27 15:54:31 +00:00
James Munnelly
d7e10f9869 Add Certificate signerName admission plugins 2020-02-27 15:50:14 +00:00
Claudiu Belu
acf84351e4 test images: Rebases nautilus and kitten images
The current agnhost version is 2.12, 2.11 was not previously built as the
VERSION bumps merged one after the other, and the Image Promoter did not get to
build the 2.11 image.
2020-02-27 06:04:01 -08:00
Claudiu Belu
117cbda487 Image Promoter: Allows images to be pushed immediately after being built
In the current version, due to how make works, when building all the conformance
images (make all-push WHAT=all-conformance), ALL the images are being built first
before being pushed.

This PR will allow images to be built and pushed immediately afterwards, so the first
images that have been succesfully built are already pushed and promotable, even if
the the task failed on the last image, or it timed out.
2020-02-27 06:00:03 -08:00
Kubernetes Prow Robot
13beb9b3ce
Merge pull request #87648 from ialidzhikov/enh/golang@1.13.7
Update to golang@1.13.8
2020-02-27 05:17:27 -08:00
James Munnelly
a983356caa Add signerName field to CSR resource spec
Signed-off-by: James Munnelly <james.munnelly@jetstack.io>
2020-02-27 10:17:55 +00:00
Jan Safranek
1f9f2390cb Add block cloning tests
Rework the tests to use InjectContent/TestVolumeClient when at it.
2020-02-27 09:56:15 +01:00
Kubernetes Prow Robot
aaca31c35e
Merge pull request #88453 from Pulkit07/issue882820
[refactor] fold PreemptionExecutionPath into the existing top-level SIGDescribe
2020-02-27 00:15:46 -08:00
ialidzhikov
e26fff5cbc Update to golang@1.13.8
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-02-27 09:27:48 +02:00
Claudiu Belu
b6b60f7fa5 test images: Temporarely exclude Windows test images
A previous PR (#76838) introduced the ability to build and publish
Windows Test Images to kubernetes/test/images/image-util.sh.

Additionally, that PR also configured the Image Promoter to use a
few Windows Remote Docker build nodes to build the Windows Test Images,
however, there is a minor issue: the build container has a different $HOME
folder than expected (is: /builder/home, expected: /root - since it's the
root user), and the Remote Docker credentials are mounted in /root.

Because of that, image-build.sh cannot find the credentials it needs.
This will have to be properly fixed, but for now, we can just skip
the Windows image building part.
2020-02-26 22:51:26 -08:00
Claudiu Belu
c57f20b712 tests: Replaces dnsutils image used with agnhost (part 4)
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:

- dnsutils

dnsmasq is a Linux specific binary. In order for the tests to also
pass on Windows, CoreDNS should be used instead.
2020-02-26 21:51:23 -08:00
Wei Huang
ef786c9fa2
Setting a Pod's nodeAffinity instead of setting .spec.nodeName directly 2020-02-26 19:06:05 -08:00
Caleb Woodbine
2622a6cace Fix formatting and BUILD 2020-02-27 14:48:39 +13:00
Wei Huang
517a41fe84
Fix an "index out of bound" issue in scheduler preemption e2e 2020-02-26 17:05:46 -08:00
Stephen Augustus
e64169d6b5 build: Enable kube-cross push/pull from K8s Infra GCR
- Search/replace Google Infra kube-cross locations for K8s Infra
- Update kube-cross make targets
  - Don't attempt to pre-pull image (docker build --pull)
    This prevents CI failures when the image under test doesn't exist
    yet in the registry.
  - 'make all' now builds and pushes the kube-cross image
  - Allow 'TAG' to be specified via env var
  - Use 'KUBE_CROSS_VERSION' to represent the kube-cross version
  - Tag kube-cross images with both a kubernetes version
    ('git describe') and a kube-cross version
- Add a GCB (Google Cloud Build) config file (cloudbuild.yaml)

Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-02-26 16:51:01 -05:00
Kubernetes Prow Robot
1deac1e466
Merge pull request #88526 from alculquicondor/multiprofiles-test
Add unit and integration tests for running multiple scheduling profiles
2020-02-26 13:33:49 -08:00
Caleb Woodbine
6b8b08c8ab Create ReplicationController lifecycle test 2020-02-27 09:53:35 +13:00
Kubernetes Prow Robot
9821d0e47e
Merge pull request #88486 from Jefftree/schnake-pr
Adds custom reporter and logic to generate conformance docs and list of tests
2020-02-26 11:53:35 -08:00
Kubernetes Prow Robot
1f11cac310
Merge pull request #88315 from pohly/csi-patch-nodename
e2e: avoid setting NodeName for CSI driver deployments
2020-02-26 11:53:20 -08:00
Pulkit Goyal
10805e0452 [refactor] fold PreemptionExecutionPath into the existing top-level SIGDescribe 2020-02-26 23:17:56 +05:30
Kubernetes Prow Robot
d98975217a
Merge pull request #88525 from mborsz/bench3
Reorder conditions in FindMatchingVolume to avoid calling volumeutil.CheckNodeAffinity in trivial cases
2020-02-26 09:46:40 -08:00
Aldo Culquicondor
07c4982245 Add unit and integration tests for multiple profiles support
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 10:14:03 -05:00
Patrick Ohly
d71829a1fc e2e: avoid setting NodeName for CSI driver deployments
We don't want to set the name directly because then starting the pod
can fail when the node is temporarily out of resources
(https://github.com/kubernetes/kubernetes/issues/87855).

For CSI driver deployments, we have three options:
- modify the pod spec with custom code, similar
  to how the NodeSelection utility code does it
- add variants of SetNodeSelection and SetNodeAffinity which
  work with a pod spec instead of a pod
- change their parameter from pod to pod spec and then use
  them also when patching a pod spec

The last approach is used here because it seems more general. There
might be other cases in the future where there's only a pod spec that
needs to be modified.
2020-02-26 10:33:29 +01:00
Maciej Borsz
7d59ea8394 Reorder conditions in FindMatchingVolume to avoid checking NodeAffinity
in trivial cases.
2020-02-26 09:20:38 +01:00
Kubernetes Prow Robot
16a7650e2b
Merge pull request #86101 from PatrickLang/fix-cpumaximum
Fix cpu resource limit on Windows
2020-02-26 00:20:26 -08:00
Kubernetes Prow Robot
b6b494b448
Merge pull request #88552 from Huang-Wei/sched-e2e-flake-part1
Fix a scheduler e2e bug on PodTopologySpread scoring
2020-02-25 21:02:54 -08:00
Caleb Woodbine
be7332e917 Fix BUILD 2020-02-26 16:54:20 +13:00
Caleb Woodbine
54f9654799 Fix build failure; Remove unrelated code 2020-02-26 16:10:25 +13:00
Kubernetes Prow Robot
fd5f5cc285
Merge pull request #88471 from claudiubelu/tests/fix-hybrid-network
tests: Fixes Hybrid cluster network test
2020-02-25 18:32:50 -08:00
Kubernetes Prow Robot
86c8a23052
Merge pull request #88009 from davidz627/fix/pdVer
Update version of gcp-compute-persistent-disk-csi-driver used in in-tree tests
2020-02-25 18:32:26 -08:00
Caleb Woodbine
9a8e1a1462 Fix: types.go in BUILD file 2020-02-26 15:07:45 +13:00
Caleb Woodbine
4f1a8e5e38 Add: test to ensure that an event can be fetched, patched, deleted, and listed 2020-02-26 15:07:45 +13:00
Kubernetes Prow Robot
f7c37d387d
Merge pull request #88285 from alculquicondor/multiprofiles-runtime
Add support for multiple scheduling profiles
2020-02-25 16:48:26 -08:00
Wei Huang
5da37d5b5e
Fix a scheduler e2e bug on PodTopologySpread scoring 2020-02-25 15:34:11 -08:00
David Zhu
c6c0bb254a Update version of GCE PD CSI Driver deployed in tests 2020-02-25 13:25:05 -08:00
Kubernetes Prow Robot
b5e95fc73d
Merge pull request #88409 from aojea/affinity
deflake e2e session affinity tests
2020-02-25 11:59:04 -08:00
Patrick Lang
33ef66b927 Updating OWNERS for Windows+Azure tests 2020-02-25 19:56:03 +00:00
Claudiu Belu
8cb84feef3 test images: Updates agnhost guestbook
A previous PR replaced the usage of Redis in the guestbook app test
with Agnhost. The replacement went well for Linux setups and Containers,
which is why the tests are green, but there is a network particularity on
Windows setups which won't allow the test to pass.

The issue was observed with another test hitting the same issue:
https://github.com/kubernetes/kubernetes/issues/83072

Here's exactly what happens during the test:

- frontend containers are created, having the /guestbook endpoint. Its main
  purpose is to forward the call to either agnhost-master (cmd=set), or
  agnhost-slave (cmd=get).
- agnhost-master container is created, having the /set endpoint, and the
  /register endpoint, through which the agnhost-slave containers would
  register to it. Its purpose is to propagate all data received through /set
  to its clients.
- agnhost-slave containers are created, having the /set and /get endpoints.
  They would register to agnhost-master, and then receive any and all updates
  from it, which was then served through the /get endpoint.

For simplicity, all 3 types have the same agnhost subcommand (agnhost guestbook), being
able to satisfy its given purpose. For this, HTTP servers were being used, including
for the /register endpoints. agnhost-master would send its /set updates as /set HTTP
requests. However, because of the issue listed above, agnhost-master did not receive
the client's IP, but rather the container host's IP, resulting in the request being
sent to the wrong destination.

This PR updates the agnhost guestbook subcommand. Now, the agnhost subscriber nodes will
send their own IP to the /register endpoint (/endpoint?host=myip).
2020-02-25 09:45:43 -08:00
Aldo Culquicondor
c048858471 Support multiple scheduling profiles in a single scheduler
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-25 11:31:20 -05:00
Kubernetes Prow Robot
fe9073b8c1
Merge pull request #88318 from mborsz/bench
Add BenchmarkSchedulingWaitForFirstConsumerPVs benchmark
2020-02-25 07:52:49 -08:00
Maciej Borsz
bd8ed0a2a7 Add BenchmarkSchedulingWaitForFirstConsumerPVs benchmark 2020-02-25 14:41:14 +01:00
Fabio Bertinatto
34206a610a Don't rely on contents of optional Condition fields in CSI mock test
In order to promote the volume limits e2e test (from CSI Mock driver)
to Conformance, we can't rely on specific output of optional Condition
fields. Thus, this commit changes the test to only check the presence
of the right condition and verify that the optional fields are not empty.
2020-02-25 13:08:57 +01:00
Kubernetes Prow Robot
6b6336e5c0
Merge pull request #88227 from tanjunchen/remove-todo-and-move-code
remove unused and repeat code and remove TODO
2020-02-25 00:52:48 -08:00
Kubernetes Prow Robot
74c0fca37e
Merge pull request #88314 from bertinatto/remove-node-labels-csimock
Avoid adding labels to nodes in CSI mock driver
2020-02-24 19:07:15 -08:00
Ernest Wong
45d69b3a5a
test: don't use hardcoded pod count for memory limit test 2020-02-24 14:34:51 -08:00
John Schnake
2683b1065c Update the conformance list and doc generation logic
The existing walk.go and conformance.txt have a few shortcomings
which we'd like to resolve:
 - difficult to get the full test name due to test context nesting
 - complicated AST logic and understanding necessary due to the
different ways a test can be invoked and written

This changes the AST parsing logic to be much more simple and simply
looks for the comments at/around a specific line. This file/line
information (and the full test name) is gathered by a custom ginkgo
reporter which dumps the SpecSummary data to a file.

Also, the SpecSummary dump can, itself, be potentially useful for
other post-processing and debugging tasks.

Signed-off-by: John Schnake <jschnake@vmware.com>
2020-02-24 14:00:44 -08:00
Kubernetes Prow Robot
607ed67754
Merge pull request #88415 from ingvagabund/readme-for-metrics-based-scheduler-perf-tests
scheduler_perf: describe how to run BenchmarkPerfScheduling manually
2020-02-24 13:11:47 -08:00
Kubernetes Prow Robot
624da8b9a3
Merge pull request #88110 from fromanirh/refactor-get-current-kubelet-conf
e2e: e2e_node: refactor getCurrentKubeletConfig
2020-02-24 13:11:36 -08:00
Patrick Lang
886214f48c Fix recent context change after rebase 2020-02-24 19:53:25 +00:00
Patrick Lang
63ff616aa8 Adding Windows CPU limit tests 2020-02-24 19:46:39 +00:00
Jan Chaloupka
0f3e0b40f6 scheduler_perf: describe how to run BenchmarkPerfScheduling manually 2020-02-24 19:12:00 +01:00
Antonio Ojea
64c4876ccd
Add e2e session affinity timeout test
The service session affinity allows to set the maximum session
sticky timeout.
This commit adds e2e tests to check that the session is sticky
before the timeout and is not after.
2020-02-24 09:48:18 +01:00
Antonio Ojea
e268f033b6
Revert "Mark session affinity tests as [Flaky]"
This reverts commit f00ac0694b.
2020-02-24 09:48:18 +01:00
Antonio Ojea
457c05feb8
deflake e2e session affinity tests
Executing commands in pods is expensive in terms of time and the
execution time is unpredictable and random.
The session affinity tests send several http requests from a pod
to check that the session is sticky. Instead of executing one
http request at a time, we can execute several requests from the
pod at one time and process the output.
2020-02-24 09:48:18 +01:00
Claudiu Belu
fdec0ee121 tests: Create pod for Windows test
A previous commit (#88471) changed the createTestPod function, but didn't update
the service.go consumer, leading to a pod not being created.
2020-02-23 02:09:14 -08:00
Claudiu Belu
1a8183d262 tests: Adds configurable docker conf for test
The image "gcr.io/authenticated-image-pulling/windows-nanoserver:v1" is not a
manifest list, and it is only useful for Windows Server 1809, which means that the
test "should be able to pull from private registry with secret" will fail for
environments with Windows Server 1903, 1909, or any other future version we might
want to test.

This commit adds the the ability to have an alternative private image to pull by
using a configurable docker config file which contains the necessary credentials
needed to pull the image.
2020-02-22 22:21:28 -08:00
Kubernetes Prow Robot
9a8e869590
Merge pull request #88417 from aramase/conformance-nodeport
check ip family for node port connectivity test
2020-02-21 22:30:56 -08:00
Kubernetes Prow Robot
8ac7a5bdc1
Merge pull request #88374 from tanjunchen/remove-TODO-simplify-code
test/e2e/framework/node/:remove TODO and and make some functions private
2020-02-21 18:32:13 -08:00
Kubernetes Prow Robot
26f8535838
Merge pull request #88354 from jiahuif/nodee2e-stack-protector-flags
node-e2e testing: fix alias for stack protector kernel config.
2020-02-21 18:31:51 -08:00
Kubernetes Prow Robot
23045f9247
Merge pull request #88057 from julianvmodesto/remove-deprecated-rolling-update
Remove deprecated rolling-update command
2020-02-21 18:31:30 -08:00
Kubernetes Prow Robot
c69c91987b
Merge pull request #87811 from mborsz/pv
Remove unnecessary calls to GCE API after PD is created
2020-02-21 18:31:01 -08:00
Kubernetes Prow Robot
2e0760c659
Merge pull request #87611 from claudiubelu/test-images/updates-readme
test images: Adds Image Promoter details in the README
2020-02-21 18:30:48 -08:00
Kubernetes Prow Robot
3631887a28
Merge pull request #87215 from egernst/e2e-scheduler
E2e scheduler: introduce e2e test for PodOverhead
2020-02-21 15:44:47 -08:00
Abhishek Raut
f3038d5f5a Add e2e test for stacked NetworkPolicies with overlapping CIDR
Add a new e2e test to test multiple stacked NetworkPolicies with
Except clauses in IPBlock which overlaps with an allowed CIDR in
another NetworkPolicy. This test ensures that the order of the
creation of NetworkPolicies should not matter while evaluating
a Pods access to another Pod.
2020-02-21 15:32:04 -08:00
Anish Ramasekar
c811fc58ef
check ip family for node port connectivity test 2020-02-21 14:43:06 -08:00
Jiahui Feng
68b7564e7e fix alias for stack protector kernel config.
- fix YAML syntax
- alias -> aliases
- no need for CONFIG prefix
- add renamed config since 4.18
2020-02-21 11:04:48 -08:00
Eric Ernst
1d896db61c e2e-scheduling: add basic PodOverhead test
Add a test to verify that Overhead is being considered during
predication.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2020-02-21 08:42:41 -08:00
Fabio Bertinatto
cd5cf567d8 Avoid adding labels to nodes in CSI mock driver
It's unnecessary to add labels to nodes because we're already
using NodeSelection to schedule pods on specific nodes.
2020-02-21 14:33:56 +01:00
Claudiu Belu
bb0a5ab016 tests: Fixes Hybrid cluster network test
Previously, we've centralized several images into agnhost, including
test-webserver.

The Hybrid cluster network test was using the test-webserver image, and
was updated to use agnhost, but without properly making it so it behaves like
test-webserver, resulting in a failing test.
2020-02-21 04:37:45 -08:00
tanjunchen
7c3f6fa323 test/e2e/framework/node/:remove TODO and make some functions private 2020-02-21 18:45:09 +08:00
Claudiu Belu
91dc590cde test images: Adds building README
Adds a README explaining the image building process, including the
Windows Container image building process.
2020-02-21 02:11:26 -08:00
Claudiu Belu
b71fbdb364 Image Promoter: Adds Windows build nodes for Windows test images
We have added and enabled the Image Promoter on the k/k test images, which
will build the conformance images after a PR that affects kubernetes/test/images
merges.

We have added support for image-util.sh to handle external Windows Docker connections
in order to build Windows images.

This PR enables the Image Promoter to use some Windows nodes to build the necessary
Windows images.
2020-02-21 02:09:49 -08:00
Claudiu Belu
fe15a46939 test images: Use multiple Windows nodes to build images
In order to build Windows container images for multiple OS versions,
--isolation=hyperv is required. However, not all clouds / nodes supports
or have it enabled by default, which is why we're going to rely on
having multiple nodes to build the Windows images, until this issue
is addressed.
2020-02-21 02:09:49 -08:00
Claudiu Belu
3cdb7a89cb test images: Adds multiple Windows channels support
This commit adds support for building test images for multiple
Windows versions, as we have to support both LTS and SAC channels.

With this, the format for Windows images in the BASEIMAGE files is:

OS/ARCH/OS_VERSION

Also adds --isolation-hyperv to the Windows docker build command, making sure
that container images for multiple OS versions can be built using the same
Windows node.
2020-02-21 02:09:49 -08:00
Claudiu Belu
296464d968 test images: Adds Windows support (part 1)
Adds Windows support to the test/images/image-util.sh script.

A Windows node with Docker installed is required to build Windows images.
The connection URL to it must be set in the REMOTE_DOCKER_URL env variable.
Additionally, the authentication to the remote docker node is done through
certificates, which must be found in ~/.docker.

By default, the REMOTE_DOCKER_URL env variable is set to "" in the Makefile,
and because of it, the image-util.sh script will skip building and pushing
Windows images.

Added GOOS argument to the go build process in order to be able to build
Windows binaries. Additionally, the OS env variable was added to the images
Makefiles (default value is "linux") in order to maintain default behaviour.

Some images require a different Dockerfile for Windows images, since they
have different ways of installing dependencies. Because of this, if a image
needs to be built for Windows, it will first check for a Dockerfile_windows
file instead of the default one. If there isn't one, it means that the
same Dockerfile can be used for both Windows and Linux.

All Windows images will be based on the image
"mcr.microsoft.com/windows/servercore:ltsc2019". There are a couple of features
that are needed from this image, especially powershell.

Added busybox image for Windows. Most Windows images will be based on it, which
will help reduce the command line differences between Linux and Windows, but
not entirely.

Added Windows support for agnhost image.
2020-02-21 02:09:49 -08:00
Claudiu Belu
a4ceb143dd images: Changes the image naming template
Changes the image naming template from:

$REGISTRY/$image-$arch:$TAG

to

$REGISTRY/$image:$TAG-$os_name-$arch

The previous naming template would generate a plethora of images (Ai * N images,
where Ai is the number of OS/architectures for the image i and N is the number
of images), while the new naming template will reduce the number of images to N.

The new template also includes the OS name, as we plan to integrate Windows
images into the manifest lists as well.
2020-02-21 02:09:49 -08:00
Claudiu Belu
25b7a13864 images: Configurable BASEIMAGE hierarchy
When building images, their REGISTRY can be set to a custom
one, instead of the default "gcr.io/kubernetes-e2e-test-images" or
"us.gcr.io/k8s-artifacts-prod/e2e-test-images".
Some images are based on other images we're already building
(e.g.: kitten, nautilus), but their base images
are set in the default registry name, which can be undesirable.

This commit addresses this issue.
2020-02-21 02:09:49 -08:00
Claudiu Belu
efcdb929de images: Adds linux/ prefix to BASEIMAGE entries
Windows images will require other base images, and thus, we will need
to explicitly specify the OS type a base image is for in order to
avoid confusion or errors.
2020-02-21 02:09:49 -08:00
Claudiu Belu
22a5fbcfa9 test images: Bumps image versions
The way the images are built is going to be changed, and in order to avoid
overwritting and breaking the current images, the image versions are bumped.
2020-02-21 02:09:49 -08:00
Kubernetes Prow Robot
d675e55915
Merge pull request #88299 from kolyshkin/e2e-framework-log
e2e/test/framework: optimize PrunedStack()
2020-02-20 21:20:46 -08:00
Kubernetes Prow Robot
468af72a15
Merge pull request #88301 from abhiraut/e2e-except
Add e2e test to test Except clause in NetworkPolicy
2020-02-20 16:30:41 -08:00
Kubernetes Prow Robot
1591590030
Merge pull request #88292 from julianvmodesto/add-dry-run
Add --dry-run=server|client|none to more kubectl commands
2020-02-20 16:30:25 -08:00
Kubernetes Prow Robot
57764e34d4
Merge pull request #87921 from Deepthidharwar/cpu-mgr-e2etest-NUMA-nodes
e2e test CPU-Manager: Extend CPUManager e2e tests to run on MultiNUMA node with/without HT
2020-02-20 16:29:57 -08:00
Eric Ernst
e5760015d2 e2e-framework-node: add runtimeclass to dedup code
Similar functionality is required across e2e tests for RuntimeClass.
Let's create runtimeclass as part of the framework/node package.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2020-02-20 15:58:52 -08:00
Kir Kolyshkin
78e98da1db test/e2e/framework/log: optimize PrunedStack()
Use bytes instead of strings, and slice in-place filter
(see https://github.com/golang/go/wiki/SliceTricks#filter-in-place)
to avoid copying strings around.

In my benchmark it shows almost 2x improvement:

BenchmarkString-8    	 1477207	     10198 ns/op
BenchmarkBuffer-8    	 1561291	      7622 ns/op
BenchmarkInPlace-8   	 2295714	      5202 ns/op

String is the original implementation, Buffer is an intermediary
one that uses strings.Builder, and InPlace is the one from this commit.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2020-02-20 12:58:26 -08:00
Abhishek Raut
a980a1fa24 Add e2e test to test Except clause in NetworkPolicy
Add a new e2e test to test the Except clauses in IPBlock CIDR
based NetworkPolicies. This test adds an egress rule which
allows client to connect to a CIDR which includes the
ServerPod's IP, however carves an except subnet which excludes
this ServerPod.
2020-02-20 11:32:00 -08:00
Kubernetes Prow Robot
3ae1b0ce80
Merge pull request #88234 from fromanirh/topomgr-e2e-tests-multicnt
e2e topology manager: single-numa-node multi container tests
2020-02-20 10:35:56 -08:00