Commit Graph

18323 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
4e3488ee99 Merge pull request #39831 from jessfraz/fix-38774
Automatic merge from submit-queue (batch tested with PRs 39772, 39831, 39481, 40167, 40149)

Check if error is Status in result.Stream()

Fix #38774

This adds the same functionality to `.Stream()` that was added to `.Error()`, `.Into()`, and `.Get()` in ce187f9c6a to try decoding the body as a Status.

This broke `.Stream()` because the decoding of the body as `Status` was removed from `transformResponse` in ce187f9c6a (diff-de85e3effc36b7bbe3fb9eae6c833cf3L933)
2017-01-19 17:56:45 -08:00
Kubernetes Submit Queue
51919b4e1e Merge pull request #39772 from mikedanese/v1beta1
Automatic merge from submit-queue

promote certificates api to beta

Mostly posting to see what breaks but also this API is ready to be promoted.

```release-note
Promote certificates.k8s.io to beta and enable it by default. Users using the alpha certificates API should delete v1alpha1 CSRs from the API before upgrading and recreate them as v1beta1 CSR after upgrading.
```

@kubernetes/api-approvers @jcbsmpsn @pipejakob
2017-01-19 17:48:16 -08:00
Kubernetes Submit Queue
0610a23986 Merge pull request #40164 from apelisse/update-root-approvers-files
Automatic merge from submit-queue

Update root approvers files

Replaces #40040 

Update top level OWNERS files mostly to set assignees to approvers. Also remove @bgrant0607 from everywhere but the very top level OWNERS file.
2017-01-19 17:02:18 -08:00
Kubernetes Submit Queue
f83802b317 Merge pull request #36984 from wojtek-t/secret_manager
Automatic merge from submit-queue

Create SecretManager interface and switch to caching secrets in kubelet

Ref #19188

Obviously we would need to extend the interface to solve #19188 but this is good first step anyway.
2017-01-19 17:02:08 -08:00
Mike Danese
44b7246568 autogenerated 2017-01-19 14:24:45 -08:00
Mike Danese
96c146c8f2 promote certificates.k8s.io to beta 2017-01-19 13:13:20 -08:00
Garrett Rodrigues
ad1e5e98c2 Updated top level owners file to match new format 2017-01-19 11:29:16 -08:00
gmarek
3c0d2bb1f0 Add SecretManager to Kubelet 2017-01-19 20:12:04 +01:00
Kubernetes Submit Queue
80f3e93b9a Merge pull request #40129 from calebamiles/calebamiles-fix-cloudprovider-owners
Automatic merge from submit-queue

Prune reviewers from pkg/cloudprovider

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

Per discussion in https://github.com/kubernetes/kubernetes/pull/36530 the `OWNERS` file for `pkg/cloudprovider` should not contain additional reviewers at this time.

**Special notes for your reviewer**:

Sorry for the extra work in review

**Release note**:

`NONE`
2017-01-19 11:06:55 -08:00
Wojciech Tyczynski
09e4de385c Enable nontrivial secret manager 2017-01-19 19:47:33 +01:00
Wojciech Tyczynski
ffd8daf488 SecretManager with caching 2017-01-19 19:47:32 +01:00
Wojciech Tyczynski
85ee9e570b Create SecretManager interface 2017-01-19 19:47:32 +01:00
Kubernetes Submit Queue
6e268e6f83 Merge pull request #40144 from wojtek-t/unstructured_benchmark
Automatic merge from submit-queue (batch tested with PRs 40150, 40144)

Unstructured benchmark

Ref #39017
2017-01-19 10:17:09 -08:00
Kubernetes Submit Queue
e9d4e4341c Merge pull request #40087 from deads2k/generic-24-move-fields
Automatic merge from submit-queue

move pkg/fields to apimachinery

Purely mechanical move of `pkg/fields` to apimachinery.  

Discussed with @lavalamp on slack.  Moving this an `labels` to apimachinery.

@liggitt any concerns?  I think the idea of field selection should become generic and this ends up shared between client and server, so this is a more logical location.
2017-01-19 08:48:17 -08:00
Kubernetes Submit Queue
05c2a0825e Merge pull request #38871 from k82cn/k8s_25318
Automatic merge from submit-queue

Made multi-scheduler graduated to Beta and then v1.

fixes #25318
2017-01-19 07:58:51 -08:00
deads2k
11e8068d3f move pkg/fields to apimachinery 2017-01-19 09:50:16 -05:00
Kubernetes Submit Queue
ac857a5ade Merge pull request #40106 from deads2k/client-09-switch
Automatic merge from submit-queue

make client-go more authoritative

Builds on https://github.com/kubernetes/kubernetes/pull/40103

This moves a few more support package to client-go for origination.  
 1. restclient/watch - nodep
 1. util/flowcontrol - used interface
 1. util/integer, util/clock - used in controllers and in support of util/flowcontrol
2017-01-19 06:34:49 -08:00
Kubernetes Submit Queue
b76b710a06 Merge pull request #40003 from sttts/sttts-apiserver-pkg-api
Automatic merge from submit-queue (batch tested with PRs 40003, 40017)

k8s.io/apiserver and genericapiserver: move packages around

Towards more sane k8s.io/apiserver package structure:

```
rename pkg/genericapiserver/{ => server}
 rename pkg/genericapiserver/{ => server}/filters
 rename pkg/genericapiserver/{ => server}/mux
 rename pkg/genericapiserver/{ => server}/openapi
 rename pkg/genericapiserver/{ => server}/options
 rename pkg/genericapiserver/{ => server}/routes
 rename pkg/genericapiserver/{ => server}/routes/data
 rename pkg/genericapiserver/{ => server}/routes/data/swagger
 rename pkg/genericapiserver/{api => endpoints}
 rename pkg/genericapiserver/{api => endpoints}/filters
 rename pkg/genericapiserver/{api => endpoints}/handlers
 rename pkg/genericapiserver/{api => endpoints}/handlers/responsewriters
 rename pkg/genericapiserver/{api => endpoints}/openapi
 rename pkg/genericapiserver/{api => endpoints}/testing
 rename pkg/genericapiserver/{api => registry}/rest
 rename pkg/genericapiserver/{api => registry}/rest/resttest
 rename pkg/{ => genericapiserver}/registry/generic
 rename pkg/{ => genericapiserver}/registry/generic/registry
 rename pkg/{ => genericapiserver}/registry/generic/rest
 rename staging/src/k8s.io/apiserver/pkg/{ => endpoints}/handlers/negotiation
 rename staging/src/k8s.io/apiserver/pkg/{ => endpoints}/metrics
 rename staging/src/k8s.io/apiserver/pkg/{ => endpoints}/request
 rename staging/src/k8s.io/apiserver/pkg/{ => server}/healthz
 rename staging/src/k8s.io/apiserver/pkg/{ => server}/httplog
 rename staging/src/k8s.io/apiserver/pkg/{ => util}/webhook
```
2017-01-19 05:54:07 -08:00
deads2k
c47717134b move utils used in restclient to client-go 2017-01-19 07:55:14 -05:00
Wojciech Tyczynski
91f8dcf44a Test runtime.Object <-> map[string]interface{} conversion 2017-01-19 13:54:38 +01:00
deads2k
6c6616b41c move restclient/watch 2017-01-19 07:39:20 -05:00
deads2k
cdb2934bbc remove kubernetes copy of clientcmd types 2017-01-19 07:39:19 -05:00
Kubernetes Submit Queue
c40a668ae4 Merge pull request #40081 from kargakis/cleanup-policy-fix
Automatic merge from submit-queue

controller: decouple cleanup policy from deployment strategies

Deployments get cleaned up only when they are paused, they get scaled up/down,
or when the strategy that drives rollouts completes. This means that stuck
deployments that fall into none of the above categories will not get cleaned
up. Since cleanup is already safe by itself (we only delete old replica sets
that are synced by the replica set controller and have no replicas) we can
execute it for every deployment when there is no intention to rollback.

Fixes https://github.com/kubernetes/kubernetes/issues/40068
2017-01-19 04:35:39 -08:00
Klaus Ma
604957c11c Added generated codes. 2017-01-19 20:20:08 +08:00
Klaus Ma
c8c4b81963 Made multi-scheduler graduated to Beta and then v1. 2017-01-19 20:16:01 +08:00
Dr. Stefan Schimanski
88cc794c8d genericapiserver: get rid of pkg/genericapiserver/server/openapi/common 2017-01-19 13:06:47 +01:00
Dr. Stefan Schimanski
3d9449a353 genericapiserver: fix imports 2017-01-19 13:06:47 +01:00
Dr. Stefan Schimanski
e3b6235dee genericapiserver: move packages
Towards a sane k8s.io/apiserver package structure.
2017-01-19 13:06:46 +01:00
Kubernetes Submit Queue
f8ed5c36aa Merge pull request #40080 from soltysh/fix_resttest
Automatic merge from submit-queue

Fix resttest Update action when AllowUnconditionalUpdate is false

Currently our storage Update test assumes that AllowUncoditionalUpdate returns true, and in testUpdateRejectsMismatchedNamespace updates the same object it's passing to create. This results in errors when trying to update that object, due to resourceVersion not being set to a proper value. This patch modifes this so that the update is executed on a stored object, which will have correct values set.

@deads2k ptal
@kubernetes/sig-api-machinery-misc fyi
2017-01-19 03:46:43 -08:00
Kubernetes Submit Queue
0144fae64f Merge pull request #29666 from vefimova/fix_29270
Automatic merge from submit-queue

Fixed merging of host's and dns' search lines

Fixed forming of pod's Search line in resolv.conf:
 - exclude duplicates while merging of host's and dns' search lines to form pod's one
 - truncate pod's search line if it exceeds resolver limits: is > 255 chars and containes > 6 searches
 - monitoring the resolv.conf file which is used by kubelet (set thru --resolv-conf="") and logging and eventing if search line in it consists of more than 3 entries (or 6 if Cluster Domain is set) or its lenght is > 255 chars
 - logging and eventing when a pod's search line is > 255 chars or containes > 6 searches during forming

Fixes #29270

**Release note**:

```release-note
Fixed forming resolver search line for pods: exclude duplicates, obey libc limitations, logging and eventing appropriately.
```
2017-01-19 01:37:50 -08:00
Michail Kargakis
d5227e364d controller: decouple cleanup policy from deployment strategies
Deployments get cleaned up only when they are paused, they get scaled up/down,
or when the strategy that drives rollouts completes. This means that stuck
deployments that fall into none of the above categories will not get cleaned
up. Since cleanup is already safe by itself (we only delete old replica sets
that are synced by the replica set controller and have no replicas) we can
execute it for every deployment when there is no intention to rollback.
2017-01-19 10:33:24 +01:00
Kubernetes Submit Queue
723fa08767 Merge pull request #39324 from wojtek-t/change_patch_api
Automatic merge from submit-queue

Prepare for using optimized conversion to/from map[string]interface{} in Patch operation

Ref #39017
2017-01-19 00:50:12 -08:00
caleb miles
74525c2f50 Remove pkg/cloudprovider/providers/OWNERS
Wait until later to decide how to expand the reviewers for `pkg/cloudprovider/*`
2017-01-19 00:44:20 -08:00
caleb miles
81eb2bcd9e Prune reviewers from pkg/cloudprovider
Per discussion in https://github.com/kubernetes/kubernetes/pull/36530 the `OWNERS` file for `pkg/cloudprovider` should not contain additional reviewers at this time.
2017-01-19 00:41:28 -08:00
Kubernetes Submit Queue
f90bb1772b Merge pull request #39846 from andrewrynhard/add_authorization_mode
Automatic merge from submit-queue

Add authorization mode to kubeadm

This PR adds an option in `kubeadm` to allow a user to specify an [authorization plugin](https://kubernetes.io/docs/admin/authorization/). It defaults to RBAC.
2017-01-18 22:49:58 -08:00
Kubernetes Submit Queue
60489f837b Merge pull request #36530 from apelisse/owners-pkg-cloudprovider
Automatic merge from submit-queue

Curating Owners: pkg/cloudprovider

cc @runseb @justinsb @kerneltime @mikedanese @svanharmelen @anguslees @brendandburns @abrarshivani @imkin @luomiao @colemickens @ngtuna @dagnello @abithap

In an effort to expand the existing pool of reviewers and establish a
two-tiered review process (first someone lgtms and then someone
experienced in the project approves), we are adding new reviewers to
existing owners files.


If You Care About the Process:
------------------------------

We did this by algorithmically figuring out who’s contributed code to
the project and in what directories.  Unfortunately, that doesn’t work
well: people that have made mechanical code changes (e.g change the
copyright header across all directories) end up as reviewers in lots of
places.

Instead of using pure commit data, we generated an excessively large
list of reviewers and pruned based on all time commit data, recent
commit data and review data (number of PRs commented on).

At this point we have a decent list of reviewers, but it needs one last
pass for fine tuning.

Also, see https://github.com/kubernetes/contrib/issues/1389.

TLDR:
-----

As an owner of a sig/directory and a leader of the project, here’s what
we need from you:

1. Use PR https://github.com/kubernetes/kubernetes/pull/35715 as an example.

2. The pull-request is made editable, please edit the `OWNERS` file to
remove the names of people that shouldn't be reviewing code in the
future in the **reviewers** section. You probably do NOT need to modify
the **approvers** section. Names asre sorted by relevance, using some
secret statistics.

3. Notify me if you want some OWNERS file to be removed.  Being an
approver or reviewer of a parent directory makes you a reviewer/approver
of the subdirectories too, so not all OWNERS files may be necessary.

4. Please use ALIAS if you want to use the same list of people over and
over again (don't hesitate to ask me for help, or use the pull-request
above as an example)
2017-01-18 18:40:53 -08:00
Andrew Rynhard
f46bf42ba0 Add authorization mode to kubeadm 2017-01-18 14:02:53 -08:00
Kubernetes Submit Queue
4520819df7 Merge pull request #39042 from juanvallejo/jvallejo/dont-filter-pods-if-json-or-yaml
Automatic merge from submit-queue (batch tested with PRs 36467, 36528, 39568, 40094, 39042)

do not filter kubectl get pods if -o json or yaml

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

This patch sets the value of --show-all to true if the output format
specified is 'json' or 'yaml'.

**Release note**:
```release-note
release-note-none
```

@smarterclayton
2017-01-18 13:37:13 -08:00
Kubernetes Submit Queue
5ca25bea21 Merge pull request #36528 from apelisse/owners-pkg-kubelet
Automatic merge from submit-queue

Curating Owners: pkg/kubelet

cc @euank @vishh @dchen1107 @feiskyer @yujuhong @yifan-gu @derekwaynecarr @saad-ali

In an effort to expand the existing pool of reviewers and establish a
two-tiered review process (first someone lgtms and then someone
experienced in the project approves), we are adding new reviewers to
existing owners files.


If You Care About the Process:
------------------------------

We did this by algorithmically figuring out who’s contributed code to
the project and in what directories.  Unfortunately, that doesn’t work
well: people that have made mechanical code changes (e.g change the
copyright header across all directories) end up as reviewers in lots of
places.

Instead of using pure commit data, we generated an excessively large
list of reviewers and pruned based on all time commit data, recent
commit data and review data (number of PRs commented on).

At this point we have a decent list of reviewers, but it needs one last
pass for fine tuning.

Also, see https://github.com/kubernetes/contrib/issues/1389.

TLDR:
-----

As an owner of a sig/directory and a leader of the project, here’s what
we need from you:

1. Use PR https://github.com/kubernetes/kubernetes/pull/35715 as an example.

2. The pull-request is made editable, please edit the `OWNERS` file to
remove the names of people that shouldn't be reviewing code in the
future in the **reviewers** section. You probably do NOT need to modify
the **approvers** section. Names asre sorted by relevance, using some
secret statistics.

3. Notify me if you want some OWNERS file to be removed.  Being an
approver or reviewer of a parent directory makes you a reviewer/approver
of the subdirectories too, so not all OWNERS files may be necessary.

4. Please use ALIAS if you want to use the same list of people over and
over again (don't hesitate to ask me for help, or use the pull-request
above as an example)
2017-01-18 13:14:25 -08:00
Jess Frazelle
502a34e8dc Check if error is Status in result.Stream()
Signed-off-by: Jess Frazelle <acidburn@google.com>
2017-01-18 11:59:27 -08:00
Kubernetes Submit Queue
eee819039d Merge pull request #39851 from liggitt/taint-versioned
Automatic merge from submit-queue

Use versioned Taint/Toleration/AvoidPods objects when marshalling

fixes #39847

`kubectl taint`, the kubelet's `--register-with-taints` option, and several Taint/Toleration/AllowPod annotation helpers were marshaling/unmarshaling using internal structs
2017-01-18 11:30:36 -08:00
Antoine Pelisse
3d82265340 Update OWNERS approvers and reviewers: pkg/kubelet 2017-01-18 10:27:11 -08:00
juanvallejo
713df3d74e remove check for multiple resource types 2017-01-18 13:26:13 -05:00
Kubernetes Submit Queue
e1fa1512e4 Merge pull request #39842 from gnufied/fix-aws-2x-calls
Automatic merge from submit-queue (batch tested with PRs 39625, 39842)

AWS: Remove duplicate calls to DescribeInstance during volume operations

This change removes all duplicate calls to describeInstance
from aws volume code path.

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

This PR removes the duplicate calls present in disk check code paths in AWS. I can confirm that `getAWSInstance` actually returns all instance information already and hence there is no need of making separate `describeInstance` call.

Related to - https://github.com/kubernetes/kubernetes/issues/39526

cc @justinsb @jsafrane
2017-01-18 10:19:13 -08:00
Kubernetes Submit Queue
302d3ab1d7 Merge pull request #39625 from deads2k/rbac-36-beta
Automatic merge from submit-queue (batch tested with PRs 39625, 39842)

Add RBAC v1beta1

Add `rbac.authorization.k8s.io/v1beta1`.  This scrubs `v1alpha1` to remove cruft, then add `v1beta1`.  We'll update other bits of infrastructure to code to `v1beta1` as a separate step.

```release-note
The `attributeRestrictions` field has been removed from the PolicyRule type in the rbac.authorization.k8s.io/v1alpha1 API. The field was not used by the RBAC authorizer.
```

@kubernetes/sig-auth-misc @liggitt @erictune
2017-01-18 10:19:11 -08:00
Jordan Liggitt
e49554501f Use versioned Taint/Toleration/AllowPods objects when marshalling 2017-01-18 12:52:14 -05:00
Kubernetes Submit Queue
6dfe5c49f6 Merge pull request #38865 from vwfs/ext4_no_lazy_init
Automatic merge from submit-queue

Enable lazy initialization of ext3/ext4 filesystems

**What this PR does / why we need it**: It enables lazy inode table and journal initialization in ext3 and ext4.

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

**Release note**:
```release-note
Enable lazy inode table and journal initialization for ext3 and ext4
```

**Special notes for your reviewer**:
This PR removes the extended options to mkfs.ext3/mkfs.ext4, so that the defaults (enabled) for lazy initialization are used.

These extended options come from a script that was historically located at */usr/share/google/safe_format_and_mount* and later ported to GO so this dependency to the script could be removed. After some search, I found the original script here: https://github.com/GoogleCloudPlatform/compute-image-packages/blob/legacy/google-startup-scripts/usr/share/google/safe_format_and_mount

Checking the history of this script, I found the commit [Disable lazy init of inode table and journal.](4d7346f7f5). This one introduces the extended flags with this description:
```
Now that discard with guaranteed zeroing is supported by PD,
initializing them is really fast and prevents perf from being affected
when the filesystem is first mounted.
```

The problem is, that this is not true for all cloud providers and all disk types, e.g. Azure and AWS. I only tested with magnetic disks on Azure and AWS, so maybe it's different for SSDs on these cloud providers. The result is that this performance optimization dramatically increases the time needed to format a disk in such cases.

When mkfs.ext4 is told to not lazily initialize the inode tables and the check for guaranteed zeroing on discard fails, it falls back to a very naive implementation that simply loops and writes zeroed buffers to the disk. Performance on this highly depends on free memory and also uses up all this free memory for write caching, reducing performance of everything else in the system. 

As of https://github.com/kubernetes/kubernetes/issues/30752, there is also something inside kubelet that somehow degrades performance of all this. It's however not exactly known what it is but I'd assume it has something to do with cgroups throttling IO or memory. 

I checked the kernel code for lazy inode table initialization. The nice thing is, that the kernel also does the guaranteed zeroing on discard check. If it is guaranteed, the kernel uses discard for the lazy initialization, which should finish in a just few seconds. If it is not guaranteed, it falls back to using *bio*s, which does not require the use of the write cache. The result is, that free memory is not required and not touched, thus performance is maxed and the system does not suffer.

As the original reason for disabling lazy init was a performance optimization and the kernel already does this optimization by default (and in a much better way), I'd suggest to completely remove these flags and rely on the kernel to do it in the best way.
2017-01-18 09:09:52 -08:00
Kubernetes Submit Queue
788804142f Merge pull request #39036 from juanvallejo/jvallejo/do-not-list-deleted-pull-secrets
Automatic merge from submit-queue (batch tested with PRs 40038, 40041, 39036)

don't show deleted pull secrets - kubectl describe

This patch filters out any image pull secrets that have been deleted
when printing the describer output for a service account.

Related downstream bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1403376

**Release note**:
```release-note
release-note-none
```

@fabianofranz @AdoHe
2017-01-18 08:37:54 -08:00
Kubernetes Submit Queue
95cca9c558 Merge pull request #40041 from deads2k/generic-25-undo-admission
Automatic merge from submit-queue (batch tested with PRs 40038, 40041, 39036)

move admission to genericapiserver

I disconnected the initialization that was type specific for later assessment.

@sttts
2017-01-18 08:37:53 -08:00
deads2k
d1fec7068f generated 2017-01-18 10:35:46 -05:00