Commit Graph

16731 Commits

Author SHA1 Message Date
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
Francesco Romani
64904d0ab8 e2e: topomgr: extend tests to all the policies
Per https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/0035-20190130-topology-manager.md#multi-numa-systems-tests
we validate only the results for single-numa node policy,
because the is no a simple and reliable way to validate
the allocation performed by the other policies.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-20 18:22:34 +01:00
Kubernetes Prow Robot
51e8cafd70
Merge pull request #88353 from roycaihw/deflake/run-crd-test
run_crd_tests: wait for pruned CR to be invisible from API
2020-02-20 03:07:14 -08:00
Francesco Romani
a249b93687 e2e: topomgr: address reviewer comments
Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-20 10:31:09 +01:00
Kubernetes Prow Robot
937008e3ac
Merge pull request #81226 from claudiubelu/tests/reduce-to-agnhost-part-4
tests: Replaces images used with agnhost (part 4)
2020-02-20 01:13:03 -08:00
Haowei Cai
aecce98a54 wait for pruned CR to be invisible from API 2020-02-19 17:41:13 -08:00
Kubernetes Prow Robot
96dfa3f605
Merge pull request #88341 from tnqn/flaky-networkpolicy-e2e
NetworkPolicy e2e test should wait for Pod ready
2020-02-19 16:12:11 -08:00
Kubernetes Prow Robot
992aa00a46
Merge pull request #85819 from nan-yu/pdb_e2etest
Add more tests for the pod disruption budget endpoints
2020-02-19 16:11:04 -08:00
Julian V. Modesto
a9ec444d74 Add --dry-run to more kubectl commands.
- delete
- taint
- replace
2020-02-19 17:53:21 -05:00
Kubernetes Prow Robot
d4c5637680
Merge pull request #88200 from liu-cong/benchmark
Make MetricCollector configurable for scheduler benchmark tests
2020-02-19 09:38:26 -08:00
Quan Tian
92759ea642 NetworkPolicy e2e test should wait for Pod ready
The test "should enforce egress policy allowing traffic to a server in a
different namespace based on PodSelector and NamespaceSelector
[Feature:NetworkPolicy]" is flaky because it doesn't wait for the server
Pod to be ready before testing traffic via its service, then even the
NetworkPolicy allows it, the SYN packets will be rejected by iptables
because the service has no endpoints at that moment.

This PR fixes it by making it wait for Pods to be ready like other
tests.
2020-02-20 00:32:12 +08:00
Francesco Romani
833519f80b e2e: topomgr: properly clean up after completion
Due to an oversight, the e2e topology manager tests
were leaking a configmap and a serviceaccount.
This patch ensures a proper cleanup

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-19 17:15:42 +01:00
Francesco Romani
7c12251c7a e2e: topomgr: add multi-container tests
Add tests to check alignment of pods which contains more than one
container.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-19 17:15:42 +01:00
Francesco Romani
8e9d76f1b9 e2e: topomgr: validate all containers in pod
Up until now, the test validated the alignment of resources
only in the first container in a pod. That was just an overlook.
With this patch, we validate all the containers in a given pod.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-19 17:15:42 +01:00
Francesco Romani
ddc18eae67 e2e: topomgr: autodetect NUMA position of VF devs
Add autodetection code to figure out on which NUMA node are
the devices attached to.
This autodetection work under the assumption all the VFs in
the system must be used for the tests.
Should not this be the case, or in general to handle non-trivial
configurations, we keep the annotations mechanism added to the
SRIOV device plugin config map.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-19 17:15:42 +01:00
Francesco Romani
0c2827cb50 e2e: topomgr: remove single-numa node hack
On single-NUMA node systems the numa_node of sriov devices was
sometimes reported as "-1" instead of, say, 0. This makes some
tests that should succeed[0] fail unexpectedly.

The reporting works as expected on real multi-NUMA node systems.

This small workaround was added to handle this corner case,
but it makes overall the code less readable and a bit too lenient,
hence we remove it.

+++

[0] on a single NUMA node system some resources are obviously
always aligned if the pod can be admitted. It boils down to the
node capacity at pod admittal time.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-19 17:15:41 +01:00
Francesco Romani
bb6beb99e5 e2e: topomgr: early check to detect VFs, not PFs
The e2e_node topology_manager check have a early, quick check
to rule out systems without sriov device, thus skipping the tests.

The first version of the ckeck detected PFs, (Physical Functions),
under the assumption that VFs (Virtual Functions) were already been
created. This works because, obviously, you can't have VFs without PFs.

However, it's a little safer and easier to understand if we check
firectly for VFs, bailing out from systems which don't provide them.

Nothing changes for properly configured test systems.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-19 17:15:41 +01:00
Kubernetes Prow Robot
507a2decf9
Merge pull request #88228 from pohly/node-podlog
podlogs: include node name in prefix
2020-02-19 03:28:25 -08:00
Patrick Ohly
0ec85320cf podlogs: include node name in prefix
This is useful for logs from daemonset pods because for those it is
often relevant which node they ran on because they interact with
resources or other pods on the host.

To keep the log prefix short, it gets limited to a maximum length of
10 characters.
2020-02-19 10:10:23 +01:00
Kubernetes Prow Robot
5cf65077ad
Merge pull request #88016 from jsafrane/wait-for-pod-deletion
Delete pod in volume tests
2020-02-18 22:40:38 -08:00
Kubernetes Prow Robot
3a828af963
Merge pull request #88247 from kolyshkin/e2e-node-selinux-fix
test/e2e/node: fix selinux test failure
2020-02-18 20:58:51 -08:00
Kubernetes Prow Robot
cc36dda7e7
Merge pull request #88288 from sbezverk/endpointslice_v1beta1
Switch EndpointSlice e2e test to use discovery v1beta1 api
2020-02-18 19:10:35 -08:00
Claudiu Belu
f7942290af tests: Replaces images 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:

- resource-consumer-controller
- test-webserver
2020-02-18 16:29:49 -08:00
Kubernetes Prow Robot
5ab1f3464c
Merge pull request #88126 from johnbelamaric/behaviors-readme
Add a README describing behaviors
2020-02-18 14:04:41 -08:00
Kubernetes Prow Robot
1b2a81e6ad
Merge pull request #87578 from Jefftree/bdd-tooling
Add tooling around validation for Behavior Driven Conformance
2020-02-18 14:04:25 -08:00
Cong Liu
7f56c753b3 Make MetricCollector configurable for scheduler benchmark tests 2020-02-18 14:02:57 -08:00
Serguei Bezverkhi
5b7ae34ead Switch EndpointSlice to use discovery v1beta1 api
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2020-02-18 16:52:21 -05:00
Nan Yu
b757ca16e2 Add more E2E tests for the ../poddisruptionbudgets endpoint 2020-02-18 11:19:30 -08:00
John Belamaric
ca399e6315 Add a README describing behaviors 2020-02-18 09:23:46 -08:00
Kir Kolyshkin
70a2857998 test/e2e/node: fix selinux test failure
Commit 69a473be3 broke the test case (that was checking
that a file from a volume can't be read) by adding a
(wrong) assumption that error should be nil.

Fix the assumption (we do expect the error here).
Note that we were checking file contents before; now when
we check the error from read, checking the contents is
redundant.

The other issue with the test is SELinux should be in enforcing
mode for this to work, so let's check that first to avoid
false positives.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2020-02-17 09:46:59 -08:00
tanjunchen
119f4df9c5 test/e2e/framework:remove unused code and move const 2020-02-17 23:31:50 +08:00
tanjunchen
9c8d4bedcc test/e2e/framework:remove TODO and make func private 2020-02-17 22:17:54 +08:00
Kubernetes Prow Robot
48def7e7c3
Merge pull request #88105 from Huang-Wei/pts-e2e
Graduate PodTopologySpread to Beta
2020-02-16 18:59:28 -08:00
Kubernetes Prow Robot
3d09d25292
Merge pull request #87992 from marosset/windows-kubelet-stats-test-serial
Run Windows kubelet stats e2e tests serially to reduce test flakes
2020-02-16 10:39:27 -08:00
Francesco Romani
53cda47913 update bazel configuration
Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-16 10:07:12 +01:00
Kubernetes Prow Robot
3b22fcc7bd
Merge pull request #88189 from skilxn-go/RemovePreScoreNodeListArguments
[Scheduler Framework]Remove `FilteredNodesStatuses` argument from `PreScore`'s interface
2020-02-15 13:29:28 -08:00
Kubernetes Prow Robot
1c60045db0
Merge pull request #88173 from BenTheElder/gives-a-whole-new-pause
upgrade pause everywhere
2020-02-15 02:11:27 -08:00
skilxn-go
8fd0d8028f Remove FilteredNodesStatuses argument from PreScore interface 2020-02-15 13:53:04 +08:00
Julian V. Modesto
d97169f59a Clean up --dry-run values.
- Clean up --dry-run values in tests, docs, and scripts
- Fix --dry-run for auth reconcile and add a test
2020-02-15 00:43:30 -05:00
Wei Huang
c93dffdfc4
E2E tests for PodTopologySpread 2020-02-14 16:48:35 -08:00
Benjamin Elder
3fb7183215 bump pause to 3.2 in test/ 2020-02-14 14:03:19 -08:00
Kubernetes Prow Robot
d462f80d1b
Merge pull request #88065 from tanjunchen/remove-TODO20200212
test/e2e/framework/:remove TODO and use framework.SingleCallTimeout
2020-02-14 13:11:42 -08:00
Kubernetes Prow Robot
4a45ae3236
Merge pull request #87645 from fromanirh/topomgr-e2e-tests
e2e-topology-manager: single-NUMA-node test
2020-02-14 08:06:19 -08:00
Kubernetes Prow Robot
4e8a7f4a4b
Merge pull request #87355 from mattjmcnaughton/mattjmcnaughton/remove-unnecessary-sudo-from-e2e
Clean up TODO around running test as sudo
2020-02-14 06:10:17 -08:00
Francesco Romani
bb770c0325 e2e: getCurrentKubeletConfig: move in subpkg
Address review comments and move the helper function
in the `framework/kubelet` package to avoid circular deps
(see https://github.com/kubernetes/kubernetes/issues/81245)

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-14 10:51:08 +01:00
Kubernetes Prow Robot
0e37bcedef
Merge pull request #88144 from gavinfish/crlf-lf
Change line terminators from CRLF to LF
2020-02-13 22:44:43 -08:00
Kubernetes Prow Robot
1e84adb6af
Merge pull request #88139 from BenTheElder/pause-manifest
switch pause to docker manifest instead of manifest-tool
2020-02-13 22:44:30 -08:00
Julian V. Modesto
932500c015 Remove deprecated rolling-update command 2020-02-13 23:52:53 -05:00
Kubernetes Prow Robot
4c08717513
Merge pull request #88143 from Huang-Wei/GetPodsInNamespace-bug
Fix a bug in e2epod function
2020-02-13 19:48:26 -08:00
Kubernetes Prow Robot
12eeb34a6d
Merge pull request #88140 from wongma7/websocket-header
Construct http Request using http.NewRequest
2020-02-13 19:48:17 -08:00
Deepthi Dharwar
3342e4a09a Extend CPUManager e2e tests to run on MultiNUMA node with/without HT 2020-02-14 07:59:13 +05:30
drfish
6e933199c9 Change line terminators from CRLF to LF 2020-02-14 09:55:45 +08:00
Kubernetes Prow Robot
e5524f5f1a
Merge pull request #88099 from cheftako/master
Fix gce-cos-master-reboot test
2020-02-13 16:55:33 -08:00
Kubernetes Prow Robot
b5af3b86ed
Merge pull request #87079 from gavinfish/drfish_typo_resetting
Fix typo from reseting to resetting
2020-02-13 16:54:32 -08:00
Kubernetes Prow Robot
176f74e370
Merge pull request #85909 from tnqn/failing-networkpolicy-test
Fix a failing test in NetworkPolicy e2e
2020-02-13 16:54:18 -08:00
Wei Huang
c83a860e9d
Fix a bug in e2epod function 2020-02-13 16:45:16 -08:00
Matthew Wong
ef8627c95e Construct http Request using http.NewRequest 2020-02-13 23:14:42 +00:00
Benjamin Elder
becc4b7d57 remove unused manifest-tool rules 2020-02-13 14:58:26 -08:00
Kubernetes Prow Robot
97dbf3a844
Merge pull request #88104 from sshukun/fix-impossible-condition
Fix impossible condition in test/e2e/framework/resource_usage_gatherer.go
2020-02-13 14:14:27 -08:00
Kubernetes Prow Robot
cf192e690b
Merge pull request #88096 from gavinfish/ginkgo-skip
Move skip method from e2e fw ginkgowrapper to e2e skipper fw
2020-02-13 14:14:16 -08:00
Kubernetes Prow Robot
35bb71d855
Merge pull request #88092 from yujuhong/rm-beta-labels
Replace Beta OS/arch labels with the GA ones
2020-02-13 14:14:02 -08:00
Kubernetes Prow Robot
98709f9821
Merge pull request #88067 from tanjunchen/remove-TODO-20200212-2
test/e2e/framework/util.go: make function LookForString private
2020-02-13 14:13:52 -08:00
Kubernetes Prow Robot
c98fc1f548
Merge pull request #88053 from liggitt/gc-timeout
Add buffer for GC resync retry to GC e2e tests
2020-02-13 14:13:40 -08:00
Kubernetes Prow Robot
b4db96464b
Merge pull request #88002 from alculquicondor/rm_affinity_weight_2
Remove HardPodAffinitySymmetricWeight from v1alpha2 Component Config
2020-02-13 14:13:25 -08:00
Kubernetes Prow Robot
a53b25ae92
Merge pull request #87923 from ingvagabund/move-direct-prometheus-metrics-under-component-base-metrics
Collect some of scheduling metrics and scheduling throughput (vol. 2)
2020-02-13 14:13:11 -08:00
Yu-Ju Hong
bcd975aa65 Replace Beta OS/arch labels with the GA ones
Beta OS/arch labels have been deprecated since 1.14.
This change replaces these labels with the GA ones.
2020-02-13 09:38:51 -08:00
tanjunchen
efec7e64ce remove TODO and use framework.SingleCallTimeout 2020-02-14 01:12:46 +08:00
Aldo Culquicondor
99bda6fac0 Remove HardPodAffinityWeight from v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-13 11:59:56 -05:00
Quan Tian
55b687054d Fix updated pod NetworkPolicy e2e test
The test "should allow ingress access from updated pod" fails regardless
of which CNI plugin is enabled. It's because the test assumes the client
Pod can recheck connectivity after updating its label, but the client
won't restart after the first failure, so the second check will always
fail. The PR creates a client Pod with OnFailure RestartPolicy to fix it.

In addition to the above test that checks rule selector takes effect on
updated client pod, the PR adds a test "should deny ingress access to
updated pod" to ensure network policy selector can take effect on updated
server pod.
2020-02-14 00:12:19 +08:00
Jan Chaloupka
7b5534021c Collect some of scheduling metrics and scheduling throughput
In addition to getting overall performance measurements from golang benchmark,
collect metrics that provides information about insides of the scheduler itself.
This is a first step towards improving what we collect about the scheduler.

Metrics in question:
- scheduler_scheduling_algorithm_predicate_evaluation_seconds
- scheduler_scheduling_algorithm_priority_evaluation_seconds
- scheduler_binding_duration_seconds
- scheduler_e2e_scheduling_duration_seconds

Scheduling throughput is computed on the fly inside perfScheduling.
2020-02-13 13:32:09 +01:00
tanjunchen
15bc88785a test/e2e/framework/util.go:make function LookForString private 2020-02-13 20:29:27 +08:00
Francesco Romani
08ba240c6b e2e: e2e_node: refactor getCurrentKubeletConfig
this patch moves the helper getCurrentKubeletConfig function,
used in both e2e and e2e_node tests and previously duplicated,
in the common framework.

There are no intended changes in behaviour.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2020-02-13 12:53:15 +01:00
Kubernetes Prow Robot
8ca96f3e07
Merge pull request #80724 from cceckman/provider-info-e2e
Provide OIDC discovery for service account token issuer
2020-02-13 01:38:35 -08:00
Maciej Borsz
c78c0e949d Remove unnecessary calls to GCE API after PD is created. 2020-02-13 09:57:25 +01:00
Jan Safranek
528adbefe4 Remove client cleanup from TestCleanup
All tests remove the test client pod, usually in TestVolumeClient.
Rename TestCleanup to TestServerCleanup.
In addition, remove few calls to Test(Server)Cleanup that do not do anything
useful (server pod is not used in these tests).
2020-02-13 09:55:53 +01:00
Shukun
7f9e228bd7 Fix impossible condition in test/e2e/framework/resource_usage_gatherer.go 2020-02-13 16:13:19 +09:00
Kubernetes Prow Robot
fb6f5d739b
Merge pull request #88070 from sshukun/remove-tautological-condition
Remove tautological condition in test/e2e/framework/pod/resource.go
2020-02-12 21:37:35 -08:00
Kubernetes Prow Robot
f0c14f291f
Merge pull request #87751 from skilxn-go/Rename
[Scheduler Framework] Rename `PostFilter` plugin to `PreScore`
2020-02-12 21:37:12 -08:00
Kubernetes Prow Robot
a11a8b8691
Merge pull request #87714 from julianvmodesto/use-kubectl-ss-dry-run-flag
Use --dry-run=server in kubectl commands
2020-02-12 21:36:57 -08:00
Kubernetes Prow Robot
1aa21639cf
Merge pull request #88064 from wongma7/webhook-header
Initialize http Request Header before RoundTrip to avoid panic
2020-02-12 19:54:35 -08:00
Kubernetes Prow Robot
4ab8c5393f
Merge pull request #88059 from msau42/refactor-e2e-node-selection
Refactor e2e node selection
2020-02-12 17:54:58 -08:00
Julian V. Modesto
13b80b48cd Use --dry-run=client,server in kubectl.
- Support --dry-run=server for subcommands apply, run, create, annotate,
expose, patch, label, autoscale, apply set-last-applied, drain, rollout undo
- Support --dry-run=server for set subcommands
  - image
  - resources
  - serviceaccount
  - selector
  - env
  - subject
- Support --dry-run=server for create subcommands.
  - clusterrole
  - clusterrolebinding
  - configmap
  - cronjob
  - job
  - deployment
  - namespace
  - poddisruptionbudget
  - priorityclass
  - quota
  - role
  - rolebinding
  - service
  - secret
  - serviceaccount
- Remove GetClientSideDryRun
2020-02-12 20:46:54 -05:00
Walter Fender
e8f67d122f Fix gce-cos-master-reboot test
Adding additional steps to network restart to ensure it restarts.
Also directing output to serial port to make the test debuggable.
2020-02-12 17:07:41 -08:00
drfish
5782d616f2 Move skip method from e2e fw ginkgowrapper to e2e skipper fw 2020-02-13 06:25:43 +08:00
skilxn-go
f5b7e3cca3 Rename PostFilter plugin to PreScore 2020-02-12 23:25:08 +08:00
Kubernetes Prow Robot
460fdc7f48
Merge pull request #87057 from oomichi/add-debugging-msg-issue86678
Add logs of port-forward-tester pod
2020-02-12 05:22:51 -08:00
Shukun
0421b40d79 Remove tautological condition in test/e2e/framework/pod/resource.go 2020-02-12 20:49:24 +09:00
Kubernetes Prow Robot
9f58fb790c
Merge pull request #88033 from dims/avoid-running-docker-specific-test-in-containerd
Avoid running docker specific test in containerd
2020-02-11 23:16:33 -08:00
Kubernetes Prow Robot
6c074f819c
Merge pull request #88003 from misterikkit/vsphere-tags
Add missing tag to vSphere storage E2E tests
2020-02-11 23:15:44 -08:00
Kubernetes Prow Robot
8f07f3a156
Merge pull request #87943 from tanjunchen/move-funcs001
test/e2e/framework:move functions to test/e2e/scheduling/
2020-02-11 23:15:34 -08:00
Kubernetes Prow Robot
c9d4257cbc
Merge pull request #87819 from mortent/SerialFlakyPDBTests
Make DisruptionController eviction tests serial to avoid flakes
2020-02-11 23:14:55 -08:00
Kubernetes Prow Robot
52fb02fdbe
Merge pull request #87718 from wojtek-t/kubelet_not_watching_immutable_secret_configmaps
WatchBasedManager stops  watching immutable objects
2020-02-11 23:14:33 -08:00
Matthew Wong
c048fb19fc Initialize http Request Header before RoundTrip to avoid panic 2020-02-12 06:55:37 +00:00
Michelle Au
d9184b75c9 Convert volume.TestConfig to use NodeSelection
Change-Id: I6adbb53b65e4a4f7e220fc0d91a26dc6bc135c36
2020-02-11 21:13:42 -08:00
Michelle Au
76a4a34dae Pass NodeSelection directly into e2e testsuites so that tests can use them more consistently
Change-Id: I99c8c1d8535a2a2319fbe8216b953c14a56f2763
2020-02-11 20:25:24 -08:00
Jordan Liggitt
242e3ebf01 Add buffer for GC resync retry to GC e2e tests 2020-02-11 22:31:09 -05:00
Michelle Au
fb9f02b5e1 Don't set NodeName directly in Pods so that it still goes through the scheduler
Change-Id: I244b6aac0289a13339f3ac228c4ad9ecf8c07b42
2020-02-11 19:17:41 -08:00
Charles Eckman
5a176ac772 Provide OIDC discovery endpoints
- Add handlers for service account issuer metadata.
- Add option to manually override JWKS URI.
- Add unit and integration tests.
- Add a separate ServiceAccountIssuerDiscovery feature gate.

Additional notes:
- If not explicitly overridden, the JWKS URI will be based on
  the API server's external address and port.

- The metadata server is configured with the validating key set rather
than the signing key set. This allows for key rotation because tokens
can still be validated by the keys exposed in the JWKs URL, even if the
signing key has been rotated (note this may still be a short window if
tokens have short lifetimes).

- The trust model of OIDC discovery requires that the relying party
fetch the issuer metadata via HTTPS; the trust of the issuer metadata
comes from the server presenting a TLS certificate with a trust chain
back to the from the relying party's root(s) of trust. For tests, we use
a local issuer (https://kubernetes.default.svc) for the certificate
so that workloads within the cluster can authenticate it when fetching
OIDC metadata. An API server cannot validly claim https://kubernetes.io,
but within the cluster, it is the authority for kubernetes.default.svc,
according to the in-cluster config.

Co-authored-by: Michael Taufen <mtaufen@google.com>
2020-02-11 16:23:31 -08:00
Davanum Srinivas
f26dbc473d
Avoid running docker specific test in containerd 2020-02-11 14:32:18 -05:00
Jan Safranek
2430c48c10 Delete pod in volume tests
All storage e2e tests should delete pods they use so we can identify issues
on volume cleanup easily.
2020-02-11 12:54:38 +01:00
Kubernetes Prow Robot
dc8208dddc
Merge pull request #87871 from msau42/fix-hostexec
Use NodeSelector instead of NodeName in hostexec Pod
2020-02-10 20:44:01 -08:00