Commit Graph

10808 Commits

Author SHA1 Message Date
Jordan Liggitt
e203c4e42b Handle partial group and resource responses consistently 2018-04-06 22:42:34 -04:00
Kubernetes Submit Queue
58c0748b4d Merge pull request #58807 from CaoShuFeng/audit_annotation_rbac
Automatic merge from submit-queue (batch tested with PRs 61183, 58807). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add RBAC information to audit logs

Depends on: https://github.com/kubernetes/kubernetes/pull/58806
**Release note**:
```release-note
RBAC information is included in audit logs via audit.Event annotations:
authorization.k8s.io/decision = {allow, forbid}
authorization.k8s.io/reason = human-readable reason for the decision
```
2018-04-06 19:31:04 -07:00
Kubernetes Submit Queue
8d28c5102b Merge pull request #61048 from sttts/sttts-cancel-context
Automatic merge from submit-queue (batch tested with PRs 61400, 61048). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

apiserver: cancel context on timeout in WithTimeoutForNonLongRunningRequests

Requests that block time out after 60sec, but keep the handler body running. This can lead to exhaustion of clients or other leaks. This PR adds a cancel func to the context of the request and calls it on timeout.

Note: we still do our own timeout handling as we don't trust the context to really cancel every blocking call we do.

This might explain why we see so many handler backtraces like https://gist.github.com/sttts/0ce972dc8a7911e4ca9eea7bf1ded5fa when an etcd node goes down with a hard poweroff. But it does not explain why we see oc to block for 15 minutes.
2018-04-06 14:47:08 -07:00
Kubernetes Submit Queue
7daaa826d2 Merge pull request #61400 from natronq/master
Automatic merge from submit-queue (batch tested with PRs 61400, 61048). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

code-gen: allow specifying custom resync periods for certain informer types

**What this PR does / why we need it**:
This PR extends the informer code-generator to allow the consumer to specify a custom resync period for certain informer types and uses the default resync period if none is defined.

**Special notes for your reviewer**:
Example:
```go
cs := clientset.NewForConfigOrDie(config)
resyncConfig := externalversions.ResyncConfiguration{
  &samplev1alpha1.Sample{}: 30 * time.Second,
}
informer := externalversions.NewSharedInformerFactory(cs, 2*time.Minute, externalversions.WithCustomResyncConfig(resyncConfig))
```
**Release note**:

```release-note
NONE
```
2018-04-06 14:47:05 -07:00
Jordan Liggitt
e3e1729cc5 Make priority rest mapper handle partial discovery results 2018-04-06 11:24:58 -04:00
AdamDang
50139d3a26 Correct the returned message
non-nill->non-nil
2018-04-06 21:01:21 +08:00
Dr. Stefan Schimanski
f3ba7f9558 apiserver: cancel context on timeout in WithTimeoutForNonLongRunningRequests 2018-04-06 11:21:17 +02:00
Dr. Stefan Schimanski
0fc2c48444 kubectl: add JSON fallback codec to cope with more strict stock versioning codec 2018-04-06 11:08:09 +02:00
Dr. Stefan Schimanski
ca9d1f728b apimachinery duct tape: handle empty unstructured GV in versioning codec gracefully 2018-04-06 11:08:09 +02:00
Dr. Stefan Schimanski
556f8ccbdd apimachinery duct tape: in versioning codec avoid conversion roundtrip for same GVK 2018-04-06 11:08:09 +02:00
Dr. Stefan Schimanski
916622105d apimachinery: normal conversion code path for Unstructured in ConvertToVersion 2018-04-06 11:08:09 +02:00
hzxuzhonghu
4eb48436eb Update generated files 2018-04-06 10:17:04 +02:00
Dr. Stefan Schimanski
10969e1b8d admission/webhook: fix panic from empty response in mutating webhooks 2018-04-06 10:16:41 +02:00
Dr. Stefan Schimanski
72f8a369d0 admission/webhook: refactor to webhook = generic-webhook + source + dispatcher
- unify test cases
- remove broken VersionedAttributes override abstraction

  This overriding had no effect. The versioned.Attributes were never
  used as admission.Attributes.Better make the versioned objects
  explicit than hiding them under a wrong abstraction.
- remove wrapping of scheme.Convert
- internalize conversion package
2018-04-06 10:16:41 +02:00
Kubernetes Submit Queue
7bde13f191 Merge pull request #60021 from nikhita/sample-controller-subresources
Automatic merge from submit-queue (batch tested with PRs 60102, 59970, 60021, 62011, 62080). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

sample-controller: add status subresource support

Builds on top of https://github.com/kubernetes/kubernetes/pull/55168.

**DO NOT MERGE** until https://github.com/kubernetes/kubernetes/pull/55168 is merged. Adding a hold.
/hold

Update: It is now merged! 🎉 

This PR:

- Adds an example to show how to use the `/status` subresource with custom resources.
- Generates `UpdateStatus` for the `Foo` resource.
- Updates the comment in the controller to mention that `UpdateStatus` can now be used. Note: this is not enabled by default because subresources require the feature gate to be enabled and are not on by default.
- Updates the README to add feature gate information and examples for `CustomResourceSubresources`.
- Updates the README to remove feature gate information for CRD validation since the current example uses `apps/v1` deployments (and thus requires v1.9 anyway).

**Release note**:

```release-note
NONE
```

/assign sttts munnerz
2018-04-05 18:47:05 -07:00
Kubernetes Submit Queue
6dfcaabe84 Merge pull request #59970 from anubhakushwaha/Update_deployment_example
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Updated the "create-update-delete-deployment" example to use apps/v1 and removed rollback example

**What this PR does / why we need it**:

*Waiting for migration to apps/v1*
> The current example at [create-update-delete-deployment/main.go](https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/client-go/examples/create-update-delete-deployment/main.go) was using `RollbackTo` of `v1beta1.DeploymentSpec` which is deprecated.

The current implementation upgrades `create-update-delete-deployment` main.go to use **apps/v1** instead of **extensions/v1beta1** and removed rollback example for now. 

**Which issue(s) this PR fixes**
Helps kubernetes/client-go#346

**Special notes for your reviewer**:
Since it's my first PR dealing with codebase and not a typo fix :xD please let me know my mistakes.
I would love to resolve them.

@nikhita @sttts @jekohk Please review. The other PR #59663  got closed accidentally while changing branch.
2018-04-05 18:45:27 -07:00
Kubernetes Submit Queue
2dee2105d6 Merge pull request #62063 from atlassian/no-mutation-unstructuredcontent
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Make UnstructuredContent return contents without mutating the source

**What this PR does / why we need it**:
This PR solves the issues described in #56316

Before this change:

- A call to `UnstructuredContent()` potentially modified `Object`
- The values returned by `UnstructuredContent()` could be manipulated to modify the value in `Object`. Going through the history it looks like this behavior was added before the addition of `SetUnstructuredContent()`. IMO it makes more sense now to use `SetUnstructuredContent()` or make changes to the exposed `Object` property
- `UnstructuredList` did not implement the behavior described in the godoc. The godoc stated that the value returned should be mutable, but if u.Object == nil the map returned had no effect on Object

With this PR I'm proposing `UnstructuredContent()` returns the data without providing the contract of a mutable map. It also ensures all implementations of the `Unstructured` interface abide by the doc

**Which issue(s) this PR fixes**:
Fixes #56316

**Special notes for your reviewer**:
This PR continues work started in #57713.

**Release note**:
```release-note
NONE
```
/kind bug
/sig api-machinery
/cc sttts deads2k
2018-04-05 17:03:57 -07:00
natronq
a923acd042 Run hack/update-codegen.sh 2018-04-05 23:35:14 +02:00
natronq
4f4798a445 code-gen: allow specifying custom resync periods for certain informer types and switch to functional option pattern for SharedInformerFactory 2018-04-05 23:35:14 +02:00
Kubernetes Submit Queue
6a8ebdca90 Merge pull request #61905 from mengqiy/mergePatchesInSMP
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add a func to merge multiple Strategic Merge Patches into one patch

This PR is adding a function similar to 9fa11df836/merge.go (L95-L100)
It merges multiple SMPs and yield another SMP.

This PR has no risk to existing SMP code.

```release-note
NONE
```
/cc @apelisse
/assign @pwittrock
2018-04-05 13:30:03 -07:00
Dr. Stefan Schimanski
9f906618f0 apiserver: enforce shared RequestContextMapper in delegation chain 2018-04-05 14:41:56 +02:00
Mikhail Mazurskiy
1fcd199cf7 Put nil back into switch 2018-04-05 20:40:20 +10:00
Kubernetes Submit Queue
485d215582 Merge pull request #62103 from hanxiaoshuai/cleanup0404
Automatic merge from submit-queue (batch tested with PRs 61705, 61609, 62103, 62113, 62115). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove unused function getEncodedPod in etcd_helper_test.go

**What this PR does / why we need it**:
remove unused function getEncodedPod in etcd_helper_test.go
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-04 10:27:15 -07:00
Mengqi Yu
48b6786632 support merging multiple SMP into one patch 2018-04-04 10:22:48 -07:00
Kubernetes Submit Queue
f5f3d0d3d9 Merge pull request #61349 from sttts/sttts-aggregator-authz
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

apiserver: add warning about not trusting authz of aggregator

The aggregator does authorization for proxied resources. But aggregated apiservers should not depend on it, but do delegated authorization in addition.

```release-note
Add warnings that authors of aggregated API servers must not rely on authorization being done by the kube-apiserver.
```
2018-04-04 05:57:08 -07:00
Mikhail Mazurskiy
53e8fd04ec Support typed nils; test empty Unstructured is not mutated 2018-04-04 22:27:21 +10:00
Mikhail Mazurskiy
d5fdac399c Remove check for items 2018-04-04 20:54:53 +10:00
Mikhail Mazurskiy
e82e8b4e89 Make UnstructuredContent return contents without mutating the source 2018-04-04 20:40:53 +10:00
hangaoshuai
b07071f84b remove unused function getEncodedPod in etcd_helper_test.go 2018-04-04 18:24:48 +08:00
Kubernetes Submit Queue
22440e1576 Merge pull request #62037 from cblecker/godep-bump
Automatic merge from submit-queue (batch tested with PRs 61959, 62037). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Bump godep version to v80

**What this PR does / why we need it**:
Update the minimum godep, to v80 (supposed to be the final version).

**Release note**:
```release-note
NONE
```
2018-04-04 02:45:08 -07:00
hzxuzhonghu
549fb0cad3 fix typo 2018-04-04 16:03:17 +08:00
hzxuzhonghu
e5449d32f9 run update bazel 2018-04-04 11:40:09 +08:00
hzxuzhonghu
3f73ccfcde add test case for request context mapper 2018-04-04 11:40:07 +08:00
hzxuzhonghu
564d53f71b optimize requestcontext: use RWMutex and atomic.Value 2018-04-04 11:40:01 +08:00
Kubernetes Submit Queue
5c59de28b5 Merge pull request #62085 from seans3/atomic-fix
Automatic merge from submit-queue (batch tested with PRs 62049, 62085). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fixes incorrect atomic usage

Fixes incorrect assignment for atomic increment.
NOTE: This will be a vet error in go version 1.10.
ERROR: "direct assignment to atomic value".
No other erroneous atomic assignments found.

```release-note
NONE
```
2018-04-03 20:25:04 -07:00
Sean Sullivan
4e877f5585 Fixes incorrect atomic usage 2018-04-03 17:20:46 -07:00
Jordan Liggitt
d8b69a0a65 Narrow interface consumed by scale client 2018-04-03 14:34:04 -04:00
rithu john
1f25319077 oidc authentication: email_verified claim is not required for JWT validation 2018-04-03 11:22:17 -07:00
Kubernetes Submit Queue
a5133305a9 Merge pull request #61800 from rithujohn191/remove-gopass
Automatic merge from submit-queue (batch tested with PRs 61818, 61800). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Replace gopass.GetPasswdMasked() by terminal.ReadPassword()

**What this PR does / why we need it**:
Replace `gopass.GetPasswdMasked()` used for reading passwords from the terminal with [`terminal.ReadPassword()`](https://godoc.org/golang.org/x/crypto/ssh/terminal#ReadPassword). This removes the `gopass` import.

**Special notes for your reviewer**:
Ran the following commands to update `godep` files:
```
./hack/godep-restore.sh -v
./hack/godep-save.sh
./hack/update-staging-godeps.sh
./hack/update-bazel.sh
```

/sig auth
/kind enhancement
/assign @ericchiang

```release-note
NONE
```
2018-04-03 03:28:03 -07:00
Kubernetes Submit Queue
043204b1e5 Merge pull request #61498 from mindprince/delete-in-tree-gpu
Automatic merge from submit-queue (batch tested with PRs 61498, 62030). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Delete in-tree support for NVIDIA GPUs.

This removes the alpha Accelerators feature gate which was deprecated in 1.10 (#57384).
The alternative feature DevicePlugins went beta in 1.10 (#60170).

Fixes #54012

```release-note
Support for "alpha.kubernetes.io/nvidia-gpu" resource which was deprecated in 1.10 is removed. Please use the resource exposed by DevicePlugins instead ("nvidia.com/gpu").
```
2018-04-03 02:02:04 -07:00
hangaoshuai
2674838826 add TestGeneration in customresource/etcd_test.go 2018-04-03 15:01:11 +08:00
Rohit Agarwal
87dda3375b Delete in-tree support for NVIDIA GPUs.
This removes the alpha Accelerators feature gate which was deprecated in 1.10.
The alternative feature DevicePlugins went beta in 1.10.
2018-04-02 20:17:01 -07:00
Christoph Blecker
857aac9ae4 Update gofmt for go1.10 2018-04-02 17:44:04 -07:00
rithu john
742bb5ea39 *: godep generated code 2018-04-02 15:15:11 -07:00
Christoph Blecker
0828b19996 Update godep in vendor 2018-04-02 12:57:41 -07:00
Kubernetes Submit Queue
d371be33f7 Merge pull request #61380 from tossmilestone/patch-1
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix broken link

**What this PR does / why we need it**:
Fix broken link for `versioning.md`

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
None

**Special notes for your reviewer**:

**Release note**:

```release-note
None
```
2018-04-02 06:18:35 -07:00
Kubernetes Submit Queue
66100690bc Merge pull request #61949 from liggitt/tolerate-openapi
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Tolerate 406 mime-type errors attempting to load new openapi schema

Fixes #61805
Fixes #61943 

```release-note
kubectl: improves compatibility with older servers when creating/updating API objects
```
2018-04-02 03:44:29 -07:00
Mikhail Mazurskiy
1f393cdef9 Stop() for Ticker to enable leak-free code 2018-03-31 19:41:43 +11:00
Kubernetes Submit Queue
7ce753aa73 Merge pull request #61894 from atlassian/misc-cleanups
Automatic merge from submit-queue (batch tested with PRs 61894, 61369). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Use range in loops; misc fixes

**What this PR does / why we need it**:
It is cleaner to use `range` in for loops to iterate over channel until it is closed.

**Release note**:
```release-note
NONE
```
/kind cleanup
2018-03-30 21:16:01 -07:00
Kubernetes Submit Queue
ac8a02f5ed Merge pull request #61816 from wackxu/rman
Automatic merge from submit-queue (batch tested with PRs 54997, 61869, 61816, 61909, 60525). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove alpha annotation for volume node affinity

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes # https://github.com/kubernetes/kubernetes/issues/61785

**Special notes for your reviewer**:
/assign @msau42 

**Release note**:

```release-note
ACTION REQUIRED: Alpha annotation for PersistentVolume node affinity has been removed.  Update your PersistentVolumes to use the beta PersistentVolume.nodeAffinity field before upgrading to this release
```
2018-03-30 20:13:09 -07:00