Commit Graph

1467 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
6b973991a8 Merge pull request #48036 from hongchaodeng/master
Automatic merge from submit-queue (batch tested with PRs 48036, 48022)

apiextensions-apiserver: fix build

Can't build CRD due to this bug. This PR will fix it.
2017-06-26 12:52:39 -07:00
Kubernetes Submit Queue
df7f4b3526 Merge pull request #47975 from deads2k/api-14-proto
Automatic merge from submit-queue (batch tested with PRs 46425, 47975)

make proto time precision match json

json readers/writers see second precision, but protobuf readers/writers seen nanosecond precision.  This means that a json client can read and write and accidentally mutate fields as seen by protobuf clients.

This makes the precision consistent.

@kubernetes/sig-api-machinery-misc @smarterclayton 

```release-note
Update protobuf time serialization for a one second granularity
```
2017-06-26 05:49:40 -07:00
Hongchao Deng
9ee991837c apiextensions-apiserver: fix build 2017-06-25 19:33:17 -07:00
Kubernetes Submit Queue
06453433c0 Merge pull request #48017 from liggitt/encode-nested
Automatic merge from submit-queue

Plumb preferred version to nested object encoder

Fixes https://github.com/kubernetes/kubernetes/issues/48018
2017-06-24 10:24:32 -07:00
Kubernetes Submit Queue
beb5b9dd4d Merge pull request #47869 from timothysc/affinity_cleanup
Automatic merge from submit-queue

Removes alpha feature gate for affinity annotations.  

**What this PR does / why we need it**:
In 1.5 we added a backstop to support alpha affinity annotations.  This PR removes that support in favor of the Beta fields per discussions.  

It also serves as a precursor to some of the component config work that @ncdc has done around @mikedanese design proposal.  

xref: https://github.com/kubernetes/kubernetes/pull/41617 

**Special notes for your reviewer**:

**Release note**:

```
Removes alpha feature gate for pod affinity annotations.  
```

/cc @kubernetes/sig-scheduling-pr-reviews @kubernetes/sig-cluster-lifecycle-misc
2017-06-24 06:11:42 -07:00
Kubernetes Submit Queue
b042c76d10 Merge pull request #47936 from caesarxuchao/test-api-dependency
Automatic merge from submit-queue (batch tested with PRs 47650, 47936, 47939, 47986, 48006)

External dependency of k8s.io/api

Fix https://github.com/kubernetes/kubernetes/issues/48007

It's unfortunate that k8s.io/api has external dependencies.

Most of the dependencies are introduced by "k8s.io/apimachinery/pkg/util/intstr" and ugorji.
2017-06-24 05:15:40 -07:00
Kubernetes Submit Queue
714f97d7ba Merge pull request #47740 from liggitt/websocket-protocol
Automatic merge from submit-queue

Add token authentication method for websocket browser clients

Closes #47967

Browser clients do not have the ability to set an `Authorization` header programatically on websocket requests. All they have control over is the URL and the websocket subprotocols sent (see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket)

This PR adds support for specifying a bearer token via a websocket subprotocol, with the format `base64url.bearer.authorization.k8s.io.<encoded-token>`

1. The client must specify at least one other subprotocol, since the server must echo a selected subprotocol back
2. `<encoded-token>` is `base64url-without-padding(token)`

This enables web consoles to use websocket-based APIs (like watch, exec, logs, etc) using bearer token authentication.

For example, to authenticate with the bearer token `mytoken`, the client could do:
```js
var ws = new WebSocket(
  "wss://<server>/api/v1/namespaces/myns/pods/mypod/logs?follow=true",
  [
    "base64url.bearer.authorization.k8s.io.bXl0b2tlbg",
    "base64.binary.k8s.io"
  ]
);
```

This results in the following headers:
```
Sec-WebSocket-Protocol: base64url.bearer.authorization.k8s.io.bXl0b2tlbg, base64.binary.k8s.io
```

Which this authenticator would recognize as the token `mytoken`, and if authentication succeeded, hand off to the rest of the API server with the headers
```
Sec-WebSocket-Protocol: base64.binary.k8s.io
```

Base64-encoding the token is required, since bearer tokens can contain characters a websocket protocol may not (`/` and `=`)

```release-note
Websocket requests may now authenticate to the API server by passing a bearer token in a websocket subprotocol of the form `base64url.bearer.authorization.k8s.io.<base64url-encoded-bearer-token>`
```
2017-06-24 00:34:41 -07:00
Kubernetes Submit Queue
aee3c5ae87 Merge pull request #47973 from sjenning/include-obj-fieldpath-event-key
Automatic merge from submit-queue

include object fieldpath in event key

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

#47462 exposed a bug where `getEventKey()` only keys on event fields that are common at the pod level. Events generated by different containers in the same pod will yield identical event keys.  This results in events with the same message from different containers in a pod being aggregated in error.

This wasn't a problem before as the event message contained container specific information and thus didn't produce the same event key.

@derekwaynecarr @dhilipkumars @dchen1107
2017-06-23 19:51:53 -07:00
Jordan Liggitt
49b51c2de8 Plumb preferred version to nested object encoder 2017-06-23 22:09:03 -04:00
Kubernetes Submit Queue
ed3c50a755 Merge pull request #47845 from liggitt/remove-redirect
Automatic merge from submit-queue (batch tested with PRs 47993, 47892, 47591, 47469, 47845)

Remove redirect verb parsing

The redirect verb was removed pre-1.0 in https://github.com/kubernetes/kubernetes/pull/9826 so the request parsing logic is dead code

Diff best viewed without whitespace:
https://github.com/kubernetes/kubernetes/pull/47845/files?w=1
2017-06-23 18:05:52 -07:00
Kubernetes Submit Queue
1a93dd60bb Merge pull request #47945 from sakeven/fix/add_level_for_print_flags
Automatic merge from submit-queue (batch tested with PRs 47883, 47179, 46966, 47982, 47945)

add level for print flags

Signed-off-by: sakeven <jc5930@sina.cn>



**What this PR does / why we need it**:
It's ugly to print all flags whenever.

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

fixes #47932

**Special notes for your reviewer**:

**Release note**:

```
NONE
```
2017-06-23 15:48:46 -07:00
Kubernetes Submit Queue
80af10c0e6 Merge pull request #46966 from ilackarms/compression-gating
Automatic merge from submit-queue (batch tested with PRs 47883, 47179, 46966, 47982, 47945)

Add feature gating to REST Compression

**What this PR does / why we need it**: Adds feature gating to opt out of REST API compression

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

**Special notes for your reviewer**: This PR is a fix / addendum to #45666

**Release note**:

```release-note
```
2017-06-23 15:48:40 -07:00
Seth Jennings
fbcb0562ea include object fieldpath in event key 2017-06-23 13:26:02 -05:00
deads2k
5b8a483a96 make proto time precision match json 2017-06-23 13:53:19 -04:00
Scott Weiss
c305f72315 add compression to GET and LIST api requests
this feature is gated; disabled by default
2017-06-23 11:24:36 -04:00
Timothy St. Clair
4aea626944 Removes alpha feature gate for affinity annotations. Beta fields should be used. 2017-06-23 10:02:14 -05:00
Kubernetes Submit Queue
10a6b227b1 Merge pull request #47778 from NickrenREN/etcd-compact-loglevel
Automatic merge from submit-queue

Lower etcd compacted loglevel

Fixes #47941

When we run apiserver, it will consistently produce logs like:

> I0620 15:27:44.627978    2765 compact.go:159] etcd: compacted rev (7825), endpoints ([http://127.0.0.1:2379])
I0620 15:32:44.632311    2765 compact.go:159] etcd: compacted rev (8193), endpoints ([http://127.0.0.1:2379])
I0620 15:37:44.643658    2765 compact.go:159] etcd: compacted rev (8552), endpoints ([http://127.0.0.1:2379])
...

which does not mean much overall, we may change the loglevel and lower the frequency.

**Release note**:
-->
```release-note
NONE
```
2017-06-23 06:04:53 -07:00
Kubernetes Submit Queue
f5a5c50812 Merge pull request #47602 from rootfs/gophercloud-383
Automatic merge from submit-queue (batch tested with PRs 46151, 47602, 47507, 46203, 47471)

rebase gophercloud to support HTTP status 300 in pagination, so listingng Cinder v1/v2 API versions won't break

**What this PR does / why we need it**:
Since Cinder block v1/v2 support lands in 1.7, we have to ensure Cinder block api list won't fail due to https://github.com/gophercloud/gophercloud/pull/384.


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

**Special notes for your reviewer**:

@anguslees @NickrenREN 

**Release note**:

```release-note
NONE
```
2017-06-23 05:08:21 -07:00
sakeven
8b1a08a919 add level for print flags
Signed-off-by: sakeven <jc5930@sina.cn>
2017-06-23 11:59:36 +08:00
Chao Xu
1b7201ab91 generated Godeps.json 2017-06-22 16:58:53 -07:00
Kubernetes Submit Queue
e123311d8a Merge pull request #47684 from nikhita/fix-cr-example
Automatic merge from submit-queue

Fix link to apiextensions client-go example

Fixes link to client-go example for apiextensions-apiserver.

Fixing #47211.

**Special notes for your reviewer**:

When I run `hack/update-staging-client-go.sh`, I get this error:

```
!!! Error in staging/copy.sh:132
    Error in staging/copy.sh:132. 'git commit -q -m "Snapshot" > /dev/null' exited with status 1
  Call stack:
    1: staging/copy.sh:132 main(...)
  Exiting with status 1
```

What am I missing here?
/cc @caesarxuchao @sttts 

**Release note**:

```
NONE
```
2017-06-22 16:44:03 -07:00
Chao Xu
c2d576886b run update-staging-godeps.sh; the script asks user to manually commit changes for each repo 2017-06-22 11:31:04 -07:00
Chao Xu
60604f8818 run hack/update-all 2017-06-22 11:31:03 -07:00
Chao Xu
4379bbdafb manually fix openapi-gen 2017-06-22 11:31:03 -07:00
Chao Xu
239613b521 manually fix kubectl openapi unit test 2017-06-22 11:31:02 -07:00
Chao Xu
847b048fa0 make all works. generated harmless covnersion/deepcoy chagnes 2017-06-22 11:30:59 -07:00
Chao Xu
ffe74d1fe7 run hack/update-staging-client-go, somehow we copied listers/<authn,authz,imagepolicy> 2017-06-22 11:30:59 -07:00
Chao Xu
f2d3220a11 run root-rewrite-import-client-go-api-types 2017-06-22 11:30:59 -07:00
Chao Xu
e185f7e277 run hack/update-codegen.sh 2017-06-22 11:30:58 -07:00
Chao Xu
6abfeb9d40 some copy.sh changes 2017-06-22 11:30:58 -07:00
Chao Xu
edd30fddcd run fix-casttype.sh 2017-06-22 11:30:52 -07:00
Chao Xu
4fb28dafad pkg/apis/move-external-types-for-apis.sh, k8s.io/api compiles 2017-06-22 11:30:51 -07:00
Chao Xu
94e8bb6261 unify register.go formats:
networking/v1/register.go
staging/src/k8s.io/kube-apiextensions-server/pkg/apis/apiextensions/v1alpha1/register.go
staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1alpha1/register.go
staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1 register.go
2017-06-22 11:30:51 -07:00
Chao Xu
58edb6b485 split v1/register.go to regsiter.go and builder.go
move api/v1 to k8s.io/api/v1
duplicate some global variables/functions in pkg/api/v1/builder.go, add todo to remove these
2017-06-22 10:21:42 -07:00
Kubernetes Submit Queue
4d1379c473 Merge pull request #47512 from rickypai/rpai/fix_hostalias_json_key
Automatic merge from submit-queue (batch tested with PRs 42252, 42251, 42249, 47512, 47887)

fix HostAliases' json keys to be hostAlias instead of hostMapping to reflect actual feature name

**What this PR does / why we need it**: a rename was introduce during the middle of #44641 to change from `hostMappings` to `hostAliases`. the Go structs were updated, but I neglected to update the json keys. They should be in sync.

**Special notes for your reviewer**:  I messed up. This is an API change. I hope this is still ok to be in the 1.7 release.

**Release note**:
```release-note
HostAliases is now parsed with `hostAliases` json keys to be in line with the feature's name.
```
2017-06-21 22:13:33 -07:00
Kubernetes Submit Queue
96716d3eb4 Merge pull request #47857 from deads2k/agg-35-routing
Automatic merge from submit-queue (batch tested with PRs 47878, 47503, 47857)

restore working aggregator and avoid duplicate informers

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

This runs the informer all the way through and makes sure its started.

@lavalamp ptal
@kubernetes/sig-api-machinery-bugs
2017-06-21 21:12:18 -07:00
Ricky Pai
797dc10a0c generated code 2017-06-21 16:39:50 -07:00
Kubernetes Submit Queue
03014f486c Merge pull request #47824 from mbohlool/revert2
Automatic merge from submit-queue (batch tested with PRs 47851, 47824, 47858, 46099)

Revert 44714 manually

#44714 broke backward compatibility for old swagger spec that kubectl still uses. The decision on #47448 was to revert this change but the change was not automatically revertible. Here I semi-manually remove all references to UnixUserID and UnixGroupID and updated generated files accordingly.

Please wait for tests to pass then review that as there may still be tests that are failing.

Fixes #47448

Adding release note just because the original PR has a release note. If possible, we should remove both release notes as they cancel each other.

**Release note**: (removed by caesarxuchao)

UnixUserID and UnixGroupID is reverted back as int64 to keep backward compatibility.
2017-06-21 15:21:14 -07:00
Kubernetes Submit Queue
5d30190b3b Merge pull request #47851 from jhorwit2/jah/revert-psp-hostpath-whitelist
Automatic merge from submit-queue (batch tested with PRs 47851, 47824, 47858, 46099)

Revert "Merge pull request #43946 from jhorwit2/jah/host-path-psp"

fixes #47863

This reverts commit b5eadb5d6b, reversing
changes made to 1889d654f5.



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

Revert whitelist host paths in psp due to API concerns. Please refer to https://github.com/kubernetes/kubernetes/pull/47811 for the concerns.

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

**Special notes for your reviewer**:

cc @liggitt @ericchiang @smarterclayton 

**Release note**:

```release-note
```
2017-06-21 15:21:11 -07:00
Kubernetes Submit Queue
ee89c30eb3 Merge pull request #47792 from liggitt/decode-raw
Automatic merge from submit-queue (batch tested with PRs 34515, 47236, 46694, 47819, 47792)

Fix rawextension decoding in update

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

The `Create` handler was correctly decoding into the internal version, but the `Update` handler was not.

Top-level objects were not affected, because the type of the `New()` object returned by the rest handler governs the destination group/version/kind.

If a field within the object is of type `RawExtension`, and converts to a `runtime.Object` field in the internal object, the `runtime.Object` field provides no information about the desired group/version/kind, so the decoder's groupversioner governs.

This would manifest as the resthandler's Update function being given an internal top-level object with it's runtime.Object field containing an external object.
2017-06-21 13:30:21 -07:00
Kubernetes Submit Queue
d3ee9df2c2 Merge pull request #46694 from matt-tyler/bug-gcpauthdefaultcred
Automatic merge from submit-queue (batch tested with PRs 34515, 47236, 46694, 47819, 47792)

Clear auth config when gcp app default credentials fail

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

Specific use case is when utilizing multiple gcp accounts, the user may provide credentials for the wrong account.

This change ensures the incorrect credentials are not cached in auth config, and logs an appropriate message.

**Which issue this PR fixes** : fixes #38075

**Special notes for your reviewer**:

**Release note**:

```release-note
Tokens retrieved from Google Cloud with application default credentials will not be cached if the client fails authorization
```
2017-06-21 13:30:13 -07:00
deads2k
f525c0815e restore working aggregator and avoid duplicate informers 2017-06-21 15:14:59 -04:00
Josh Horwitz
b6e08ec39d Revert "Merge pull request #43946 from jhorwit2/jah/host-path-psp"
This reverts commit b5eadb5d6b, reversing
changes made to 1889d654f5.
2017-06-21 12:45:22 -04:00
Jordan Liggitt
e8b24679dc Remove redirect verb parsing 2017-06-21 11:17:24 -04:00
Jordan Liggitt
6a872c09eb Use websocket protocol authenticator in apiserver 2017-06-21 09:47:34 -04:00
Jordan Liggitt
e2a03bcf2a Add websocket protocol authentication method 2017-06-21 09:47:34 -04:00
mbohlool
70c4fe7f4f update generated files 2017-06-21 04:09:08 -07:00
mbohlool
c91a12d205 Remove all references to types.UnixUserID and types.UnixGroupID 2017-06-21 04:09:07 -07:00
Jordan Liggitt
a536ee3615 Fix rawextension decoding in update 2017-06-20 11:05:31 -04:00
Kubernetes Submit Queue
35016b153e Merge pull request #46604 from slintes/goClientNotFoundStatusErrorExample
Automatic merge from submit-queue (batch tested with PRs 46604, 47634)

Added example for status errors in go client

This PR adds status error handling examples to the go client examples, for both in-cluster and out-of-cluster usage. Fixes https://github.com/kubernetes/client-go/issues/163
2017-06-20 03:15:54 -07:00