Commit Graph

16337 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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