Commit Graph

20895 Commits

Author SHA1 Message Date
Cao Shufeng
2e97611bc6 remove useless argument "name" 2017-06-29 17:36:00 +08:00
Dan Mace
547d820588 Fix Unstructured field accessor
Fix the Unstructured GetDeletionGracePeriodSeconds accessor which was
always returning nil regardless of the underlying stored value. The
field value always appearing nil prevents Custom Resource instances
from being deleted when garbage collection is enabled for CRs and
when DeletePropagationOrphan is used. More generally, this fix means that
delete-on-update now works for CR instances.

Add some test coverage for Unstructured metadata deserialization.

The Unstructured DeletionGracePeriodSeconds field marshals as a value
type from JSON and as a pointer type via SetDeletionGracePeriodSeconds.
The GetDeletionGracePeriodSeconds method now supports handling both
int64 and *int64 values so that either underlying value can be returned.

Add a reflection-based unit test which attempts to exercise all the
Object Get/Set methods for nil handling.
2017-06-28 13:44:29 -04:00
Guangya Liu
159fa86d98 Follow up for https://github.com/kubernetes/kubernetes/pull/47003 2017-06-28 10:41:09 +08:00
xiangpengzhao
fcf2df9ad7 Validate --storage-backend type. 2017-06-28 09:47:49 +08:00
Kubernetes Submit Queue
82eff38a63 Merge pull request #45610 from bsalamat/priority_api
Automatic merge from submit-queue (batch tested with PRs 45610, 47628)

Add Priority to Kubernetes API

**What this PR does / why we need it**: This is the first in a series of PRs to add priority to Kubernetes API. Subsequent PRs will add priority name resolution to admission controller.


**Release note**:

```release-note
Add PriorityClassName and Priority fields to PodSpec.
```
2017-06-27 17:46:08 -07:00
Antoine Pelisse
f617df7d6a Add NYTimes/gziphandler dependency 2017-06-27 15:55:01 -07:00
Antoine Pelisse
bd38dd4d12 openapi: Read Accept-Content to send gzip if needed 2017-06-27 15:55:00 -07:00
Kubernetes Submit Queue
fd884b7eb6 Merge pull request #48106 from timstclair/audit-metrics
Automatic merge from submit-queue (batch tested with PRs 48106, 46761)

s/count/total/ in audit prometheus metrics

Responding to https://github.com/kubernetes/kubernetes/pull/46732#discussion_r124057806, making the metric names conform with the [metric naming convention](https://prometheus.io/docs/practices/naming/#metric-names).

kubernetes/features#22

/cc @ericchiang @ihmccreery
2017-06-27 15:01:57 -07:00
Kubernetes Submit Queue
9120d58fc9 Merge pull request #47352 from p0lyn0mial/wire_admission_to_sample_apiserver
Automatic merge from submit-queue

shows how to wire admission control in a sample api server.

**What this PR does / why we need it**:
This PR shows how to wire admission control in a custom api server

**Release note**:

```release-note
NONE
```
2017-06-27 10:06:06 -07:00
zouyee
3e78e53c3d modify some mistake 2017-06-27 14:51:57 +08:00
Kubernetes Submit Queue
353633b877 Merge pull request #47904 from deads2k/log-01-supress
Automatic merge from submit-queue (batch tested with PRs 47484, 47904, 48034)

prioritize messages for long steps

This pull prioritizes the trace messages, so steps that are unusually large come out at the info level and all details come out a v(4) level.
2017-06-26 22:21:58 -07:00
Kubernetes Submit Queue
d31bcad496 Merge pull request #47702 from smarterclayton/avoid_mutable
Automatic merge from submit-queue (batch tested with PRs 48012, 47443, 47702, 47178)

Don't bother with a mutable transformer for identity

The default value transformer can safely be the identity transformer - mutability is not required if the caller doesn't need transformation.
2017-06-26 17:48:03 -07:00
Kubernetes Submit Queue
aac42add77 Merge pull request #47443 from p0lyn0mial/use_incluster_cfg_when_creating_ext_informers
Automatic merge from submit-queue (batch tested with PRs 48012, 47443, 47702, 47178)

incluster config will be used when creating external shared informers.

**What this PR does / why we need it**:
Previously the loopback configuration was used to talk to the server.
As a consequence a custom API server was unable to talk to the root API server.
This PR changes the above by using incluster configuration to create shared informers.

**Release note**:

```release-note
NONE
```
2017-06-26 17:48:01 -07:00
Kubernetes Submit Queue
eadd20ef48 Merge pull request #47748 from nikhita/client-go-examples-readme
Automatic merge from submit-queue

Update custom-resources example in client-go

- Update client-go examples `README.md` to point to the CustomResources example instead of the deprecated TPR one.
- Delete `staging/src/k8s.io/client-go/examples/custom-resources`. 

Fixing #47743.

**Release note**:

```release-note
NONE
```

/cc @ahmetb @sttts
2017-06-26 16:30:55 -07:00
Nikhita Raghunath
bfa9ce4308 Update CR example in client-go
Remove custom-resources directory from client-go

Add TPR example back

Mention CRD is successor to TPR
2017-06-27 03:39:29 +05:30
Bobby (Babak) Salamat
403b30f6e9 Autogenerated files 2017-06-26 15:02:49 -07:00
Tim St. Clair
b34d6ab890 s/count/total/ in audit prometheus metrics 2017-06-26 14:41:20 -07:00
Bobby Salamat
91f893eebe Add priority to Kubernetes API 2017-06-26 13:43:19 -07:00
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
Eric Paris
f4767c270d prioritize messages for long steps 2017-06-26 13:17:00 -04:00
Paul Michali
a2a99c786a IPv6 support for getting node IP
As part of ChooseHostInterface(), it will call a function to try to get the
global IP for the host, by looking at all the system interfaces and select
the first IP that is not a loopback, link-local, or point-to-point IP.

This commit does the following:

- Allows IPv6 non-local IPs to be selected.
- IPv4 takes priority (checks all interfaces for IPv4 addresses and
  then checks all interfaces for IPv6), for backward compatibility.
- Adds UTs for code coverage (was no coverage of underlying function),
  increasing from 62% to 84%.
- Improved logging and reporting for error conditions.
- Minor renaming of functions and variables for readability.
2017-06-26 13:13:17 +00: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
Antoine Pelisse
224dba9a13 openapi: Fetch protobuf rather than Json
This is much faster.
2017-06-23 13:50:50 -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
p0lyn0mial
074544b3b0 incluster config will be used when creating external shared informers.
previously the loopback configuration was used to talk to the server.
As a consequence a custom API server was unable to talk to the root API server.
2017-06-22 21:48:50 +02: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