Commit Graph

10808 Commits

Author SHA1 Message Date
Lili Cosic
5c70f0a99c apiextensions/examples: remove unnecessary function
BuildConfigFromFlags function already calls the InClusterConfig()
function. The `--master` flag was added to clarify the log warning
message from within the `BuildConfigFromFlags` function.
2017-10-06 19:07:51 +02:00
Dr. Stefan Schimanski
ed586da147 apimachinery: remove Scheme.DeepCopy 2017-10-06 14:59:17 +02:00
Dr. Stefan Schimanski
19285b7357 apimachinery: remove Scheme.Copy 2017-10-06 14:24:05 +02:00
Kubernetes Submit Queue
5cc95fbf27 Merge pull request #53417 from crassirostris/audit-defaults
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>.

Adjust defaults of audit webhook backends

This PR:

- increases the default buffer size to contain at lease on the order of magnitude audit events than it's possible to have simultaneous requests (500 AFAIR)
- increase the default batch size. From our load tests .95 size of the log entry is under 2.5KB, therefore 400 entry will sum up to ~1MB request, which sounds reasonable
- increase the initial backoff size. AFAIU, if the initial value is zero, all retries will be used in under 15 seconds (with 0.2 jitter and 1.5 factor), while the backend or a proxy can be unavailable for some reason for 30 seconds and more.
- add throttling to the batching audit webhook

A PR to make these parameters configurable will follow-up

@hzxuzhonghu implemented throttling part of this PR

```release-note
Adjust batching audit webhook default parameters: increase queue size, batch size, and initial backoff.
Add throttling to the batching audit webhook. Default rate limit is 10 QPS.
```

/cc @sttts @tallclair @CaoShuFeng @ericchiang @piosz
2017-10-06 05:03:32 -07:00
Dr. Stefan Schimanski
60a0eb260c Update generated files 2017-10-06 12:36:51 +02:00
Dr. Stefan Schimanski
a65232008d client-gen: stratify main.go
Remove double flag parsing and prepare for being instantiated inside a multi-generator process.
2017-10-06 10:48:05 +02:00
Dr. Stefan Schimanski
c1062de2ff code-generator: unify generator main.go files 2017-10-06 10:48:05 +02:00
Janet Kuo
ad9f9c277f Remove deprecated const from apps/v1beta2 and apps/v1 2017-10-05 15:01:52 -07:00
Janet Kuo
fd48a4a895 Autogen 2017-10-05 15:01:52 -07:00
Mik Vyatskov
6bce120a11 Add throttling to the batching audit webhook
Signed-off-by: Mik Vyatskov <vmik@google.com>
2017-10-05 23:19:45 +02:00
Mik Vyatskov
5f4ff9f283 Adjust defaults of audit webhook backends
Signed-off-by: Mik Vyatskov <vmik@google.com>
2017-10-05 23:18:55 +02:00
Jacob Simpson
415c4d2c3a Move certificate manager to client. 2017-10-05 12:54:38 -07:00
Janet Kuo
9813a5278f Add API version apps/v1
Add a new API version apps/v1.
apps/v1 has a copy of apps/v1beta2.DaemonSet API.
2017-10-05 10:43:11 -07:00
Kubernetes Submit Queue
b0eb7d884d Merge pull request #53443 from liggitt/psp-allow-escalation
Automatic merge from submit-queue (batch tested with PRs 53454, 53446, 52935, 53443, 52917). 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 pointer for PSP allow escalation

Fixes #53437 

The `AllowPrivilegeEscalation` field was added to PodSpec and PodSecurityPolicySpec in 1.8.0.

In order to remain compatible with pre-1.8.0 behavior, PodSecurityPolicy objects created against a previous release must not restrict this field, which means the field must default to true in PodSecurityPolicySpec. However, the field was added as a `bool`, not a `*bool`, which means that no defaulting is possible.

We have two options:
1. Require all pre-existing PodSecurityPolicy objects that intend to allow privileged permissions to update to set this new field to true
2. Change the field to a `*bool` and default it to true.

This PR does the latter. With this change, we have the following behavior:

A 1.8.1+ client/server now has three ways to serialize:
* `nil` values are dropped from serialization (because `omitempty`), which is interpreted correctly by other 1.8.1+ clients/servers, and is interpreted as false by 1.8.0
* `false` values are serialized and interpreted correctly by all clients/servers
* `true` values are serialized and interpreted correctly by all clients/servers

A 1.8.0 client/server has two ways to serialize:
* `false` values are dropped from serialization (because `omitempty`), which is interpreted as `false` by other 1.8.0 clients/servers, but as `nil` (and therefore defaulting to true) by 1.8.1+ clients/servers
* `true` values are serialized and interpreted correctly by all clients/servers

The primary concern is the 1.8.0 server dropping the `false` value from serialization, but I consider the compatibility break with pre-1.8 behavior to be more severe, especially if we can resolve the regression in an immediate point release.

```release-note
PodSecurityPolicy: Fixes a compatibility issue that caused policies that previously allowed privileged pods to start forbidding them, due to an incorrect default value for `allowPrivilegeEscalation`. PodSecurityPolicy objects defined using a 1.8.0 client or server that intended to set `allowPrivilegeEscalation` to `false` must be reapplied after upgrading to 1.8.1.
```
2017-10-05 05:06:30 -07:00
Kubernetes Submit Queue
e9a0b157d5 Merge pull request #53345 from ncdc/crd-add-fieldSelector-support
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>.

Support field selectors for CRDs

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>



**What this PR does / why we need it**: allow field selectors to be used with custom resources

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

**Special notes for your reviewer**:

**Release note**:

```release-note
Custom resources served through CustomResourceDefinition now support field selectors for `metadata.name` and `metadata.namespace`.
```
2017-10-04 11:47:43 -07:00
Jordan Liggitt
bed6d0f5ea Use pointer for PSP allow escalation 2017-10-04 13:55:06 -04:00
Dr. Stefan Schimanski
96b596133a Update generated files 2017-10-04 16:53:13 +02:00
Dr. Stefan Schimanski
abfb658d76 sample-apiserver: port to k8s.io/code-generator/generate-internal-groups.sh 2017-10-04 16:53:13 +02:00
Dr. Stefan Schimanski
cba2c0967f code-generator: turn hack/update-codegen.sh into re-usable generate-{internal,}-groups.sh scripts 2017-10-04 16:53:12 +02:00
Dr. Stefan Schimanski
8a98063eab code-generator: rename _test to _examples 2017-10-04 16:53:12 +02:00
Kubernetes Submit Queue
8e30314c95 Merge pull request #53394 from p0lyn0mial/cleanup_kubeapi_admission_initializer
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>.

removes Authorizer and ExternalClientSet from kubeapiserver's admissi…

**What this PR does / why we need it**:
removes Authorizer and ExternalClientSet from kubeapiserver's admission initializer.


**Release note**:

```
NONE
```
2017-10-04 07:50:35 -07:00
Andy Goldstein
74b4db2489 Update bazel
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-04 09:32:05 -04:00
Kubernetes Submit Queue
c746bd3c8a Merge pull request #53355 from mikedanese/satnam
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>.

stop assigning satnam reviews

we should automate this.
2017-10-03 23:05:52 -07:00
Kubernetes Submit Queue
029ed12b33 Merge pull request #49205 from dixudx/fix_api_type_typos
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 some typos in api/types

**What this PR does / why we need it**:
Fix some typos in api/types

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

**Special notes for your reviewer**:

**Release note**:

```release-note
None
```
2017-10-03 20:17:43 -07:00
Ryan Roden-Corrent
53939c4433 Improve explanation of ReplicaSet.
"ReplicaSet represents the configuration of a ReplicaSet" does not tell
you much. I took the explanation from
https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/#when-to-use-a-replicaset
2017-10-03 16:22:12 -04:00
Kubernetes Submit Queue
413cf643f9 Merge pull request #52512 from apelisse/truncate-body
Automatic merge from submit-queue (batch tested with PRs 53135, 52512, 48339). 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>.

client-go: Truncate printed body based on Verbosity level

**What this PR does / why we need it**: If log verbosity is above 8, it will print the full request and response body. These might be very big (especially when downloading the openapi), and it takes multiple seconds just to print it ... Truncates the printing of that body if the level is less than 10.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: Vaguely related to #52089

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```
2017-10-03 13:08:15 -07:00
Andy Goldstein
2ff87307c2 Support field selectors for CRDs
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-03 15:22:10 -04:00
p0lyn0mial
6b1f1d1414 removes Authorizer and ExternalClientSet from kubeapiserver's admission initializer. 2017-10-03 18:08:30 +02:00
Kubernetes Submit Queue
9dd4cf7964 Merge pull request #52860 from liggitt/feature-gate-lock
Automatic merge from submit-queue (batch tested with PRs 51765, 53053, 52771, 52860, 53284). 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 feature gate enablement checks lock-free

Since we almost never write to this object after initial creation (basically, just in tests or during API server startup), this is a good candidate for the ["read mostly"](https://golang.org/pkg/sync/atomic/#example_Value_readMostly) pattern which leaves the reads lock-free
2017-10-03 09:02:39 -07:00
Kubernetes Submit Queue
5dfea9e609 Merge pull request #51765 from mitake/etcd3-compaction
Automatic merge from submit-queue (batch tested with PRs 51765, 53053, 52771, 52860, 53284). 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 an option for turning on/off compaction from apiserver in etcd3 mode

…erver

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

This commit adds an option for controlling request of compaction to
etcd3 from apiserver. There is a situation that apiserver cannot fully
own its etcd cluster (e.g. sharing it with canal). In such a case,
apiserver should have limited access in terms of etcd's auth
functionality so it don't have a privilege to issue compaction
requests. It means that the compaction requests should be issued by
other component and apiserver's compaction requests are needless.

For such use cases, this commit adds a new flag
storagebackend.Config.DoCompaction. If the flag is true (default),
apiserver issues the compaction requests like current behaviour. If it
is false, apiserver doesn't issue the requests.

**Related issue (etcd)**
https://github.com/coreos/etcd/issues/8458
/cc @xiang90 @struz

**Release note:**
```release-note
Add --etcd-compaction-interval to apiserver for controlling request of compaction to etcd3 from apiserver.
```
2017-10-03 09:02:30 -07:00
Kubernetes Submit Queue
028ee090f6 Merge pull request #49393 from hongchaodeng/etcd_update
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>.

etcd: update version to 3.1.10

ref: https://github.com/kubernetes/kubernetes/issues/49386

Need image pushed:
```
gcr.io/google_containers/etcd:3.1.10
```
2017-10-02 23:29:51 -07:00
Mike Danese
9de1d1f577 stop assigning satnam reviews 2017-10-02 18:12:15 -07:00
Kubernetes Submit Queue
e7518d8aa3 Merge pull request #50555 from atlassian/fix-error-handling-from-index-funcs
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>.

threadSafeMap: panic if index function call fails

**Which issue this PR fixes**
Fixes #43605

**Release note**:
```release-note
NONE
```
/kind bug
/sig api-machinery
2017-10-02 14:17:12 -07:00
Hongchao Deng
39e5a56691 etcd: update version to 3.1.10 2017-10-02 12:27:46 -07:00
p0lyn0mial
475493ced6 moved admission interfaces WantsClientCert, WantsAuthorizer and WantsExternalKubeClientSet to apiserver 2017-10-01 15:03:08 +02:00
Kubernetes Submit Queue
bb035a2854 Merge pull request #49705 from atlassian/rbuf
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>.

Ring buffer for shared informer notifications

**What this PR does / why we need it**:
Improves memory allocation for shared informer listeners. Instead of always appending to the slice use as a ring buffer, avoiding reslice operations as long as there is room in the slice. See https://github.com/kubernetes/kubernetes/pull/47045#issuecomment-317621259 for details. This is a follow up PR for #47045.

Results from BenchmarkListener:
```
Current code (from the #47045):
1000000	      1540 ns/op	     109 B/op	       1 allocs/op
```
```
New code:
1000000	      1162 ns/op	      16 B/op	       1 allocs/op
```

**Special notes for your reviewer**:
Only review the last commit, this branch is based on #47045 PR. I'll rebase onto master once it is merged.

**Release note**:

```release-note
NONE
```
/kind enhancement
/sig api-machinery
/cc @deads2k @ncdc
2017-09-29 22:10:55 -07:00
Mikhail Mazurskiy
65369a68a1 Panic on failure to calculate index key 2017-09-30 14:52:15 +10:00
Kubernetes Submit Queue
030e23306f Merge pull request #53187 from CaoShuFeng/sample-apiserver-example
Automatic merge from submit-queue (batch tested with PRs 53263, 52967, 53262, 52654, 53187). 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 sample-apiserver artifacts

The example yaml file for sample-apiserver has some errors. Fix them.

**Release note**:
```
NONE
```
2017-09-29 13:37:34 -07:00
hzxuzhonghu
81d87466c8 rename test file name 2017-09-29 14:51:55 +08:00
hzxuzhonghu
b8100ceec3 remove unused filed 2017-09-29 14:44:13 +08:00
Kubernetes Submit Queue
f16ed167f7 Merge pull request #53019 from smarterclayton/register
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>.

Endpoints can add a get or connect options type in their group

optionsExternalVersion is being used for shared types (meta.k8s.io). The
installer should first look in the current API group for GET and CONNECT
options objects before checking in `v1`.

OpenShift hit this while registering a new connect handler endpoint in an api group for an api that is aggregated. OpenShift should not be registering its API types into the core API group.
2017-09-28 19:08:22 -07:00
Kubernetes Submit Queue
ba4f5ced3c Merge pull request #53108 from brendandburns/created
Automatic merge from submit-queue (batch tested with PRs 50280, 52529, 53093, 53108, 53168). 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 201/Status to the list of returned objects.

**What this PR does / why we need it**:
Adds 201/202 to the list of codes/objects returned by `POST` and 201 to the list of codes returned by `PUT` requests in Swagger/OpenAPI

**Special notes for your reviewer**:
This helps fix 
https://github.com/kubernetes-client/csharp/issues/29

**Release note**:
```release-note
Adds 201/202 to the list of codes/objects returned by `POST` and 201 to the list of codes returned by `PUT` requests in Swagger/OpenAPI
```
2017-09-28 14:59:27 -07:00
Kubernetes Submit Queue
f369c1af59 Merge pull request #53177 from alrs/fix-client-go-record-swallowed-errors
Automatic merge from submit-queue (batch tested with PRs 49249, 53203, 53209, 53208, 53177). 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>.

vendor/k8s.io/client-go/tools/record: Fix two swallowed errors in tests

**What this PR does / why we need it**: Fixes two dropped errors in client-go.

```release-note NONE
```
2017-09-28 14:02:23 -07:00
Brendan Burns
449082f55d Add 201/202 to the list of returned codes. 2017-09-28 12:25:39 -07:00
Kubernetes Submit Queue
208ae55f6d Merge pull request #51289 from p0lyn0mial/admission_options_default_plugins
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>.

exposes a method on AdmissionOptions

**What this PR does / why we need it**:
exposes a method on AdmissionOptions that will set default admission plugin names when none were provided from the command line.

**Release note**:

```
NONE
```
2017-09-28 06:13:12 -07:00
Cao Shufeng
42b443c51a fix sample-apiserver artifacts 2017-09-28 16:47:22 +08:00
Lars Lehtonen
b64a0a8f5a vendor/k8s.io/client-go/tools/record: Fix two swallowed errors in tests 2017-09-27 19:43:11 -07:00
Lars Lehtonen
1bdc657425 k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/strategicpatch: Fix swallowed errors in normalizeSliceOrder() 2017-09-27 19:16:49 -07:00
Lars Lehtonen
03db535f90 k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/util/strategicpatch: Fix swallowed errors in diffLists() 2017-09-27 19:16:10 -07:00
Kubernetes Submit Queue
e33dd983ed Merge pull request #52948 from smarterclayton/new_negotiate
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 negotiate method media type for use in explicit contexts

There are more cases now where we want to negotiate from contexts where we have a media type but no request.
2017-09-27 10:51:44 -07:00