Commit Graph

4805 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
c4f355a2ad Merge pull request #66971 from tnozicka/informer-watcher
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>.

#50102 Task 2: Add UntilWithSync

**What this PR does / why we need it**:
This is a split off from https://github.com/kubernetes/kubernetes/pull/50102 to go in smaller pieces.

Introduces UntilWithSync based on informer.

**Needs https://github.com/kubernetes/kubernetes/pull/66906 first**
/hold

**Release note**:
```release-note
NONE
```

/priority important-soon
/kind bug
(bug after the main PR which is this split from)
2018-08-23 07:26:25 -07:00
Nikhita Raghunath
f981e9a397 apiextensions: remove area/custom-resources label from OWNERS
Sometimes changes in apiextensions-apiserver are not really related
to custom resources but just general api-machinery.

Adding the label to such PRs makes triaging using the label hard.
2018-08-23 16:37:29 +05:30
Marian Lobur
3f730d4c25 Remove deprecated legacy audit logging code. 2018-08-23 12:08:54 +02:00
Tim Allclair
87164e0b32 Generated code 2018-08-22 17:00:53 -07:00
jennybuckley
c61eac7daa Update generated 2018-08-22 16:54:41 -07:00
jennybuckley
2d0ec48f9b Support dry run in admission webhooks 2018-08-22 16:26:47 -07:00
Mike Danese
9ea39419eb godeps: bump gopkg.in/square/go-jose.v2
pickup https://github.com/square/go-jose/pull/179
2018-08-22 18:41:00 -04:00
Kubernetes Submit Queue
4e76bb487e Merge pull request #58679 from CaoShuFeng/admission_webhook
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 annotations for admission webhook

Depends on: https://github.com/kubernetes/kubernetes/pull/58143
**Release note**:
```release-note
Support annotations for remote admission webhooks.
```
2018-08-22 15:31:34 -07:00
Tim Allclair
7f64bb649b WIP: RC pods 2018-08-22 14:26:51 -07:00
Kubernetes Submit Queue
e98bf0fb52 Merge pull request #63757 from nak3/disruptedPods-optional
Automatic merge from submit-queue (batch tested with PRs 63757, 67698, 67712, 67494, 67700). 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 DisruptedPods in PodDisruptionBudgetStatus optional field

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

Please refer to https://github.com/kubernetes/kubernetes/issues/63756

**Which issue(s) this PR fixes**

Fixes https://github.com/kubernetes/kubernetes/issues/63756

**Release note**:

```release-note
NONE
```
2018-08-22 14:17:14 -07:00
Kenjiro Nakayama
811bdbdcbb auto generated code 2018-08-22 21:59:44 +09:00
Kenjiro Nakayama
c0eedf775e Make DisruptedPods in PodDisruptionBudgetStatus optional field 2018-08-22 21:59:37 +09:00
Kubernetes Submit Queue
b5ae4498bc Merge pull request #67655 from sttts/sttts-apiextensions-apiserver-codegen-script
Automatic merge from submit-queue (batch tested with PRs 67655, 67639). 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>.

apiextensions: unify hack/{update,verify}-codegen.sh
2018-08-22 04:25:00 -07:00
Kubernetes Submit Queue
5930ea30c1 Merge pull request #67654 from hanxiaoshuai/addut0817
Automatic merge from submit-queue (batch tested with PRs 67378, 67675, 67654). 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 some unit tests in staging/src/k8s.io/apiserver/pkg/server/options

**What this PR does / why we need it**:
add some unit tests in staging/src/k8s.io/apiserver/pkg/server/options
**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-08-22 02:45:15 -07:00
Dr. Stefan Schimanski
ff1aa06ec3 apiextensions: unify hack/{update,verify}-codegen.sh 2018-08-22 09:53:17 +02:00
Dr. Stefan Schimanski
6142e2f8f7 delegated authz: add AlwaysAllowPaths mechanism to exclude e.g. /healthz 2018-08-22 08:49:56 +02:00
roc
ac741a8412 update sample-controller README
remind that CustomResourceSubresources is beta in v1.11 and enabled by default
2018-08-22 13:42:47 +08:00
hangaoshuai
005642a80c update-bazel generated 2018-08-22 10:19:42 +08:00
hangaoshuai
cdef8029d4 add unit test func TestServerRunOptionsValidate 2018-08-22 10:19:13 +08:00
hangaoshuai
0da04d61ab add unit test func TestToAuthenticationRequestHeaderConfig 2018-08-22 10:18:30 +08:00
hangaoshuai
73ee10495b add unit test func TestAPIEnablementOptionsValidate 2018-08-22 10:17:58 +08:00
hangaoshuai
67a1d53bd7 add unit test func TestEtcdOptionsValidate and TestParseWatchCacheSizes 2018-08-22 10:17:26 +08:00
Kubernetes Submit Queue
ce8a6285df Merge pull request #67635 from nikhita/customresource-subresource-patch-04
Automatic merge from submit-queue (batch tested with PRs 67298, 67518, 67635, 67673). 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 unstructured metadata accessors to respect omitempty semantics

Fixes #67541
Fixes #48211 
Fixes #49075
Follow up of #67562

`ObjectMeta` has fields with `omitempty` json tags. This means that when the fields have zero values, they should not be persisted in the object.

Before this PR, some of the metadata accessors for unstructured objects did not respect these semantics i.e they would persist a field even if it had a zero value.

This PR updates the accessors so that the field is removed from the unstructured object map if it contains a zero value.

/sig api-machinery
/kind bug
/area custom-resources
/cc sttts liggitt yue9944882 roycaihw 
/assign sttts liggitt 

**Release note**:

```release-note
NONE
```
2018-08-21 18:33:07 -07:00
Kubernetes Submit Queue
70bc7f6877 Merge pull request #67298 from sylr/logging-calltrace
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>.

Log real file's name and line

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

Have correct location of emission in the logs

**Release note**:

pkg/kubectl/util/logs & staging/src/k8s.io/apiserver/pkg/util/logs
use `glog.info(...)` but this function is not made to be wrapped because
the underlying mechanism use a fixed call trace length to determine
where the log has been emited.

This results is having `logs.go:49` in the logs which is in the body
of the wrapper function and thus useless.

Instead use `glog.infoDepth(1, ...)` which tells the underlying mechanism
to go back 1 more level in the call trace to determine where the log
has been emitted.
2018-08-21 17:38:46 -07:00
Kubernetes Submit Queue
f077d6736b Merge pull request #67658 from soltysh/staging_cli_runtime
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>.

Create cli-runtime staging repository

**What this PR does / why we need it**:
This PR creates a designated repository for CLI helpers, which are used for:
- kubectl itself
- kubectl plugins
- commands that want to mimic kubectl behavior

/assign @deads2k @juanvallejo 
@seans3 @pwittrock fyi

**Release note**:
```release-note
Create cli-runtime staging repository
```
2018-08-21 16:20:55 -07:00
Kubernetes Submit Queue
c94ececccc Merge pull request #67672 from dims/add-labels-to-owners-files
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 Labels to various OWNERS files

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

Will reduce the burden of manually adding labels. Information pulled
from:
https://github.com/kubernetes/community/blob/master/sigs.yaml

Change-Id: I17e661e37719f0bccf63e41347b628269cef7c8b

**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-08-21 14:37:21 -07:00
Kubernetes Submit Queue
a51dc5eef9 Merge pull request #66988 from tomkerkhove/docs-autoscaling-azure-adapter
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>.

Introduce Azure custom metrics adapter in IMPLEMENTATIONS

**What this PR does / why we need it**:
Makes Kubernetes users aware that there is now a Microsoft Azure metrics adapter to use inside the cluster. This can be used to autoscale on with the abitrary metrics API.

All kudos goes to @jsturtevant for this.

**Which issue(s) this PR fixes**:
Relates to [jsturtevant/azure-k8-metrics-adapter #13](https://github.com/jsturtevant/azure-k8-metrics-adapter/issues/13)

**Special notes for your reviewer**: None.

**Release note**:

```release-note
NONE
```
2018-08-21 14:36:57 -07:00
Davanum Srinivas
9b43d97cd4 Add Labels to various OWNERS files
Will reduce the burden of manually adding labels. Information pulled
from:
https://github.com/kubernetes/community/blob/master/sigs.yaml

Change-Id: I17e661e37719f0bccf63e41347b628269cef7c8b
2018-08-21 13:59:08 -04:00
Kubernetes Submit Queue
30e4f528ed Merge pull request #65788 from tallclair/errors
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>.

Cleanup apiserver errors

- delete unused methods (is this safe, or might they be used in another project outside kubernetes/kubernetes?)
- use the standard library `http.Error` function (functional change adds a newline)

```release-note
NONE
```

/sig api-machinery
/kind cleanup
2018-08-21 09:18:47 -07:00
Maciej Szulik
5b55e1f8ed Create cli-runtime staging repository 2018-08-21 17:08:30 +02:00
Kubernetes Submit Queue
169bfbc7f5 Merge pull request #66102 from nikhita/add-optional-comment-tags
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>.

apiextensions: add optional comment tags

Adds `// +optional` comment tags to fields which are optional/omitempty for CRD types.

These tags are used for openapi generation:

0cf8f7e6ed/pkg/generators/openapi.go (L361-L362)

0cf8f7e6ed/pkg/generators/openapi.go (L81-L89)

**Release note**:

```release-note
NONE
```
2018-08-21 07:59:00 -07:00
Dr. Stefan Schimanski
16dea15a1e code-generator: add CLIENTSET_NAME_{VERSIONED,INTERNAL} for custom packages 2018-08-21 13:30:49 +02:00
Nikhita Raghunath
d691748aa6 Prevent resource version to custom resource on no-op writes
For ObjectMeta pruning, we round trip through marshalling and
unmarshalling. If the ObjectMeta contained any strings with "" (or other
fields with empty values) _and_ the respective fields are omitempty,
those fields will be lost in the round trip process.

This makes ObjectMeta after the no-op write different from the one
before the write.

Resource version is incremented every time data is written to etcd.
Writes to etcd short-circuit if the bytes being written are identical
to the bytes already present. So this ends up incrementing the
resourceVersion even on no-op writes.

The zero values are set in BeforeCreate and BeforeUpdate. This commit
updates BeforeUpdate such that zero values are only set when the
object does not have a zero value for the respective field.
2018-08-21 16:04:31 +05:30
Nikhita Raghunath
dabd56f7df Fix tests to support ObjectMeta omitempty semantics 2018-08-21 13:17:25 +05:30
Nikhita Raghunath
f69544e87d Fix unstructured metadata accessors to respect omitempty semantics
ObjectMeta has fields with omitempty json tags. This means that when
the fields have zero values, they should not be persisted in the object.

Before this commit, some of the metadata accessors for unstructured
objects did not respect these semantics i.e they would persist a field
even if it had a zero value.

This commit updates the accessors so that the field is removed from the
unstructured object map if it contains a zero value.
2018-08-21 13:17:18 +05:30
Kubernetes Submit Queue
b8c1e34df1 Merge pull request #67617 from liggitt/authz-details
Automatic merge from submit-queue (batch tested with PRs 67493, 67617, 67582, 67337). 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>.

limit forbidden error to details of what was forbidden

cleans up output from https://github.com/kubernetes/kubernetes/pull/65906#discussion_r210048853

/assign @smarterclayton

```release-note
NONE
```
2018-08-20 20:39:10 -07:00
Kubernetes Submit Queue
7c4cbbb0a0 Merge pull request #67493 from soltysh/nil_int_percent
Automatic merge from submit-queue (batch tested with PRs 67493, 67617, 67582, 67337). 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 nil input in GetValueFromIntOrPercent

**What this PR does / why we need it**:
`GetValueFromIntOrPercent` accepts pointer argument but does not validate it. This PR fixes that problem preventing from panics.

/assign @deads2k @sttts 

**Release note**:
```release-note
NONE
```
2018-08-20 20:39:07 -07:00
Kubernetes Submit Queue
8f4ab6fe76 Merge pull request #67596 from nikhita/add-apimachinery-label-owners
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 sig/api-machinery label to apimachinery OWNERS files

Inspired by https://github.com/kubernetes/kubernetes/pull/67548. List of OWNERS files taken from https://github.com/kubernetes/community/blob/master/sig-api-machinery/README.md#subprojects.

**Release note**:

```release-note
NONE
```
2018-08-20 14:02:17 -07:00
Jordan Liggitt
ecbd013795 limit forbidden error to details of what was forbidden 2018-08-20 16:40:29 -04:00
Kubernetes Submit Queue
4c5e615652 Merge pull request #67386 from CaoShuFeng/audit_annotation_object
Automatic merge from submit-queue (batch tested with PRs 55600, 67386). 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>.

update Annotations description about audit.Event

ref: https://github.com/kubernetes/kubernetes/pull/58679#discussion_r209375632

**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 #

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

**Release note**:

```release-note
NONE
```
2018-08-20 08:46:04 -07:00
Nikhita Raghunath
6e47ba1fde Add sig/api-machinery label to apimachinery OWNERS files 2018-08-20 18:46:47 +05:30
Maciej Szulik
3d7c589f05 Return error on input in GetValueFromIntOrPercent 2018-08-20 15:15:53 +02:00
stewart-yu
01195efbe3 skip print section flags if no flags 2018-08-20 20:03:36 +08:00
Cao Shufeng
0ebfc3e078 support annotations for admission webhook 2018-08-20 09:16:07 +08:00
Cao Shufeng
edc3e40dce run make update 2018-08-20 09:15:55 +08:00
Cao Shufeng
b4a71bbd8a add annotations to admission webhook 2018-08-18 17:40:57 +08:00
Kubernetes Submit Queue
ae9beb4663 Merge pull request #66023 from ibrasho/change-TRUNCATED-to-DATA+OMITTED
Automatic merge from submit-queue (batch tested with PRs 60790, 66023, 67549). 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>.

change TRUNCATED to DATA+OMITTED in kubectl config view

**What this PR does / why we need it**:
Based on the discussion in #61573, this PR switches the replacement text for CA certificate data and client certificates and secrets printed using `kubectl config view`. Currently, `REDACTED` is used, which might give a false impression that the data is a secret (which is not true for the public certificates).

This PR changes `REDACTED` to `DATA+OMITTED`. The printed string is the base64 encoded string on the byte stream. Some trickery is involved to print a readable string (refer to [this comment](https://github.com/kubernetes/kubernetes/pull/66023/files#diff-aec000ca3f293c94dcd99b4a9d1c5c3cL86) for more info).

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

**Special notes for your reviewer**:


**Release note**:
```release-note
Switched certificate data replacement from "REDACTED" to "DATA+OMITTED"
```
2018-08-17 20:36:57 -07:00
Kubernetes Submit Queue
7fa1b77a1f Merge pull request #60790 from hanxiaoshuai/addut03051
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 unit test for function AsScaledInt64

**What this PR does / why we need it**:
add unit test for function AsScaledInt64
**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-08-17 20:22:16 -07:00
Kubernetes Submit Queue
363e34124d Merge pull request #67041 from tristanburgess/50342_error_handling_refinement_for_serialization_encode
Automatic merge from submit-queue (batch tested with PRs 67041, 66948). 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>.

50342: Establish '406 Not Acceptable' response for protobuf serializa…

…tion 'errNotMarshalable'

     - Added metav1.Status() that enforces '406 Not Acceptable' response if
    protobuf serialization is not fully supported for the API resource type.
     - JSON and YAML serialization are supposed to be more completely baked
    in, so serialization involving those, and general errors with seralizing
    protobuf, will return '500 Internal Server Error'.
	- If serialization failure occurs and original HTTP status code is
    error, use the original status code, else use the serialization failure
    status code.
     - Write encoded API responses to intermediate buffer
     - Use apimachinery/runtime::Encode() instead of
    apimachinery/runtime/protocol::Encode() in
    apiserver/endpoints/handlers/responsewriters/writers::SerializeObject()
     - This allows for intended encoder error handling to fully work, facilitated by
    apiserver/endpoints/handlers/responsewriters/status::ErrorToAPIResponse() before officially
    writing to the http.ResponseWriter
     - The specific part that wasn't working by ErrorToAPIResponse() was the
    HTTP status code set. A direct call to
    http.ResponseWriter::WriteHeader(statusCode) was made in
    SerializeObject() with the original response status code, before
    performing the encode. Once this
    method is called, it can not again update the status code at a later
    time, with say, an erro status code due to encode failure.
     - Updated relevant apiserver unit test to reflect the new behavior
    (TestWriteJSONDecodeError())
     - Add build deps from make update for protobuf serializer



**What this PR does / why we need it**:
This PR fixes a bug that was blocking extensible error handling in the case that serializing response data fails, and implements a '406 Not Acceptable' status code response if protobuf marshal definitions are not implemented for an API resource type. See commit message for further details.

**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 #50342 

**Special notes for your reviewer**:

**Release note**:

```release-note
Fixed a bug that was blocking extensible error handling when serializing API responses error out. Previously, serialization failures always resulted in the status code of the original response being returned. Now, the following behavior occurs:
   - If the serialization type is application/vnd.kubernetes.protobuf, and protobuf marshaling is not implemented for the requested API resource type, a '406 Not Acceptable is returned'.
   - If the serialization type is 'application/json':
        - If serialization fails, and the original status code was an failure (e.g. 4xx or 5xx), the original status code will be returned.
        - If serialization fails, and the original status code was not a failure (e.g. 2xx), the status code of the serialization failure will be returned. By default, this is '500 Internal Server Error', because JSON serialization is our default, and not supposed to be implemented on a type-by-type basis.

```
2018-08-17 19:14:04 -07:00
Kubernetes Submit Queue
6b41352679 Merge pull request #65779 from cblecker/mergo-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>.

update github.com/imdario/mergo to v0.3.5

**What this PR does / why we need it**:
Updates github.com/imdario/mergo library to v0.3.5. We were pinned because of a functionality change in the dependency, however, a new function was introduced with similar functionality to the old.

There is apparently some Debian packaging issues (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=878254) because of this. I'm still not clear what those are, unless they are forcing the library to update, as opposed to using our `vendor/`.

That said, this will allow for some of those vendor conflicts to resolve for anyone else who is using client-go, so that's at least worthwhile.

**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 #27543, fixes https://github.com/kubernetes/client-go/issues/431

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```
2018-08-17 14:43:48 -07:00