Commit Graph

5162 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
24482ca82e Merge pull request #42140 from madhusudancs/fed-e2e-presubmit-infra-00
Automatic merge from submit-queue

Move push-federation-images.sh to federation and implement similar functionality in jenkins build directory for presubmits.

This is required for federation presubmit e2es.

```release-note
NONE
```
2017-02-28 03:27:11 -08:00
Irfan Ur Rehman
b1bb51b6e8 [Federation][kubefed] Remove unnecessary flags from init and use overrides instead 2017-02-28 16:23:54 +05:30
Dr. Stefan Schimanski
63347df079 Add hack/update-staging-* to update-all.sh 2017-02-28 06:46:11 +01:00
Vishnu kannan
b86882955b update flags script
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2017-02-27 21:24:45 -08:00
Vishnu Kannan
cc5f5474d5 add support for node allocatable phase 2 to kubelet
Signed-off-by: Vishnu Kannan <vishnuk@google.com>
2017-02-27 21:24:44 -08:00
Madhusudan.C.S
8de2f05f63 Move push-federation-images.sh to federation and implement similar functionality in jenkins build directory for presubmits. 2017-02-27 17:54:37 -08:00
Kubernetes Submit Queue
c274e9d715 Merge pull request #42056 from ncdc/shared-informers-16-remove-legacy-code
Automatic merge from submit-queue (batch tested with PRs 42053, 41282, 42056, 41663, 40927)

Fully remove hand-written listers and informers

Note: the first commit is from #41927. Adding do-not-merge for now as we'll want that to go in first, and then I'll rebase this on top.

Update statefulset controller to use a lister for PVCs instead of a client request. Also replace a unit test's dependency on legacylisters with the generated ones. cc @kargakis @kow3ns @foxish @kubernetes/sig-apps-pr-reviews 

Remove all references to pkg/controller/informers and pkg/client/legacylisters, and remove those packages.

@smarterclayton @deads2k this should be it!

cc @gmarek @wojtek-t @derekwaynecarr @kubernetes/sig-scalability-pr-reviews
2017-02-27 12:45:31 -08:00
George Kraft
27504d8aca Juju: Disable anonymous auth on kubelet
Adds TLS verification between kube-apiserver and kubelet in both directions
2017-02-27 09:02:24 -06:00
Dr. Stefan Schimanski
0fbe86d77d hack/verify-staging-client-go.sh: fail on changes 2017-02-27 14:11:41 +01:00
deads2k
e1b40bfc5c remove example apiserver replaced by sample and test/integration/examples 2017-02-27 07:47:19 -05:00
Andy Goldstein
bd912f50ba statefulset: use pvc lister, replace legacylisters
Use a PVC lister instead of a client when retrieving PVCs.

Replace unit test's use of legacylisters with the generated listers.
2017-02-27 06:38:11 -05:00
Kubernetes Submit Queue
7d510f2681 Merge pull request #41160 from pipejakob/webhooksigner-pr
Automatic merge from submit-queue (batch tested with PRs 42058, 41160, 42065, 42076, 39338)

New command for stand-alone GKE certificates controller

New stand-alone certificates controller for GKE. Rather than requiring the CA's private key on disk, this allows making external calls to GKE in order to sign cluster certificates.
    
**Which issue this PR fixes**: fixes #39761

**Release note**:

```release-note
New GKE certificates controller.
```

CC @mikedanese @jcbsmpsn
2017-02-27 01:29:59 -08:00
Kubernetes Submit Queue
8124705c81 Merge pull request #41987 from sttts/sttts-verify-staging-client-go-unify-with-copy-sh
Automatic merge from submit-queue (batch tested with PRs 42044, 41694, 41927, 42050, 41987)

Simplify and fix hack/{verify,update}-staging-{client-go,godeps}.sh

- merge `hack/{verify,update}-staging-client-go.sh`
- pin godep with shared code
- remove godep-restore completely from the process and replace with a simple check that godeps are restored
- add safety check in `staging/copy.sh` that there is no lingering `k8s.io/apimachinery` in the GOPATH which would lead to inconsistent client-go builds (!)
- check that all these scripts only operate in a clean working dir.
2017-02-26 23:16:56 -08:00
Kubernetes Submit Queue
e6ecfd2e37 Merge pull request #41694 from shiywang/apply-set1
Automatic merge from submit-queue (batch tested with PRs 42044, 41694, 41927, 42050, 41987)

Add apply set-last-applied subcommand 

implement part of https://github.com/kubernetes/community/pull/287, will rebase after https://github.com/kubernetes/kubernetes/pull/41699 got merged, EDIT: since bug output format has been confirmed, will update the behavior of output format soon  
cc @kubernetes/sig-cli-pr-reviews @AdoHe @pwittrock 

```release-note
Support kubectl apply set-last-applied command to update the applied-applied-configuration annotation
```
2017-02-26 23:16:51 -08:00
Kubernetes Submit Queue
b2765427a2 Merge pull request #41897 from luxas/kubeadm_secure_controlplane
Automatic merge from submit-queue (batch tested with PRs 41701, 41818, 41897, 41119, 41562)

kubeadm: Secure the control plane communication and add the kubeconfig phase command

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

This generates kubeconfig files for the controller-manager and the scheduler, ref: https://github.com/kubernetes/kubeadm/issues/172

The second commit adds the `kubeadm alpha phase kubeconfig` command as described in the design doc: https://github.com/kubernetes/kubeadm/pull/156

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

@dmmcquay What kind of tests would you like for the kubeconfig phase command?

**Release note**:

```release-note
```
@jbeda @mikedanese @dmmcquay @pires @liggitt @deads2k @errordeveloper
2017-02-26 14:02:52 -08:00
Kubernetes Submit Queue
0bc16d8966 Merge pull request #40576 from nikhiljindal/kubectlcascDel
Automatic merge from submit-queue (batch tested with PRs 41994, 41969, 41997, 40952, 40576)

Updating kubectl to send delete requests with orphanDependents=false if --cascade is true

Ref https://github.com/kubernetes/kubernetes/issues/40568 #38897

Updating kubectl to always set `DeleteOptions.orphanDependents=false` when deleting a resource with `--cascade=true`.
This is primarily for federation where we want to use server side cascading deletion.

Impact on kubernetes: kubectl will do another GET after sending a DELETE and wait till the resource is actually deleted. This can have an impact if the resource has a finalizer. kubectl will wait till the finalizer is removed and then the resource is deleted, which is the right thing to do but a notable change in behavior.

cc @caesarxuchao @lavalamp @smarterclayton @kubernetes/sig-federation-pr-reviews @kubernetes/sig-cli-pr-reviews
2017-02-26 12:58:01 -08:00
Kubernetes Submit Queue
de4217164b Merge pull request #41994 from spiffxp/no-ls-etcd
Automatic merge from submit-queue

allow `hack/lib/etcd.sh` to print version mismatch error message

**What this PR does / why we need it**:  `third_party/etcd` isn't guaranteed to be present, this was causing the `hack/lib/etcd.sh` script to fail on `ls` prior to printing out the error message about
etcd version mismatch

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

**Release note**:
```release-note
NONE
```
2017-02-26 12:56:36 -08:00
Kubernetes Submit Queue
a1490926d6 Merge pull request #41077 from deads2k/cli-01-cani
Automatic merge from submit-queue (batch tested with PRs 41814, 41922, 41957, 41406, 41077)

add kubectl can-i to see if you can perform an action

Adds `kubectl auth can-i <verb> <resource> [<name>]` so that a user can see if they are allowed to perform an action.

@kubernetes/sig-cli-pr-reviews @fabianofranz 

This particular command satisfies the immediate need of knowing if you can perform an action without trying that action.  When using RBAC in a script that is adding permissions, there is a lag between adding the permission and the permission being realized in the RBAC cache.  As a user on the CLI, you almost never see it, but as a script adding a binding and then using that new power, you hit it quite often.

There are natural follow-ons to the same area (hence the `auth` subcommand) to figure out if someone else can perform an action, what actions you can perform in total, and who can perform a given action.  Someone else is an API we have already, what-can-i-do was a proposed API a while back and a very useful one for interfaces, and who-can is common question if someone is administering a namespace.
2017-02-26 10:22:54 -08:00
Kubernetes Submit Queue
77ba346f55 Merge pull request #41815 from kevin-wangzefeng/enable-defaulttolerationseconds-admission-controller
Automatic merge from submit-queue (batch tested with PRs 40932, 41896, 41815, 41309, 41628)

enable DefaultTolerationSeconds admission controller by default

**What this PR does / why we need it**:
Continuation of PR #41414, enable DefaultTolerationSeconds admission controller by default.


**Which issue this PR fixes**: 
fixes: #41860
related Issue: #1574, #25320
related PRs: #34825, #41133, #41414 

**Special notes for your reviewer**:

**Release note**:

```release-note
enable DefaultTolerationSeconds admission controller by default
```
2017-02-26 08:09:58 -08:00
Kubernetes Submit Queue
5c3791b9e0 Merge pull request #41729 from smarterclayton/refactor_printers
Automatic merge from submit-queue (batch tested with PRs 41621, 41946, 41941, 41250, 41729)

Refactor printers and describers into their own package.

This sets the stage for using printer code from the server side (decoupled from kubectl) and loosens the coupling between kubectl and the printers. `pkg/printers` contains interfaces and has an import restriction against pulling in API specific code, while `pkg/printers/internalversion` can be used for internal types.

Add a method on `Factory` for retrieving PrinterForCommand which uses the Scheme and RESTMapper from the Factory, not the hardcoded ones.  This further separates kubectl from the core API scheme and allows better composition.

Change NamePrinter to use RESTMapper (previously it was hardcoding those conversions). This means that we now return plural resource names (`pods/foo`) but is correct once aliases and shortnames start being returned by the mapper.

This is a prerequisite for server side get, but is pure refactor (contains no new features).

@deads2k @liggitt
2017-02-26 06:47:03 -08:00
Kubernetes Submit Queue
f2c2791e87 Merge pull request #41852 from mml/etcd-upgrade-test
Automatic merge from submit-queue (batch tested with PRs 42106, 42094, 42069, 42098, 41852)

Write etcd_upgrade test.

Part of the fix for #40636
2017-02-26 04:34:02 -08:00
Jordan Liggitt
41c88e0455
Revert "Merge pull request #40088 from jsafrane/storage-ga-v1"
This reverts commit 5984607cb9, reversing
changes made to 067f92e789.
2017-02-25 22:35:15 -05:00
Dr. Stefan Schimanski
dd9219f304 update-staging-{client-go,godeps}.sh: no godep-restore, pin godep, check workdir 2017-02-25 22:38:23 +01:00
Kubernetes Submit Queue
197bd532a2 Merge pull request #41700 from vishh/kube-proxy-oom-score
Automatic merge from submit-queue

Protect kubeproxy deployed via kube-up from system OOMs

This change is necessary until it can be moved to Guaranteed QoS Class.

For #40573
2017-02-25 07:07:01 -08:00
Kubernetes Submit Queue
5984607cb9 Merge pull request #40088 from jsafrane/storage-ga-v1
Automatic merge from submit-queue (batch tested with PRs 41854, 41801, 40088, 41590, 41911)

Add storage.k8s.io/v1 API

v1 API is direct copy of v1beta1 API. This v1 API gets installed and exposed in this PR, I tested that kubectl can create both v1beta1 and v1 StorageClass.

~~Rest of Kubernetes (controllers, examples,. tests, ...) still use v1beta1 API, I will update it when this PR gets merged as these changes would get lost among generated code.~~ Most parts use v1 API now, it would not compile / run tests without it.

**Release note**:
```
Kubernetes API storage.k8s.io for storage objects is now fully supported and is available as storage.k8s.io/v1. Beta version of the API storage.k8s.io/v1beta1 is still available in this release, however it will be removed in a future Kubernetes release.

Together with the API endpoint, StorageClass annotation "storageclass.beta.kubernetes.io/is-default-class" is deprecated and  "storageclass.kubernetes.io/is-default-class" should be used instead to mark a default storage class. The beta annotation is still working in this release, however it won't be supported in the next one.
```

@kubernetes/sig-storage-misc
2017-02-25 05:02:55 -08:00
Kubernetes Submit Queue
e40b55f8b4 Merge pull request #41843 from yujuhong/do-not-run-kubelet
Automatic merge from submit-queue (batch tested with PRs 40665, 41094, 41351, 41721, 41843)

Do not run kubelet in test-cmd.sh

The tests are intended to test only `kubectl` commands and do not
require kubelet.

This fixes #41834

/cc @Random-Liu @dchen1107 @nikhiljindal
2017-02-25 03:56:59 -08:00
Kubernetes Submit Queue
04c75b68d5 Merge pull request #41721 from luxas/kubeadm_node_cacert_arg
Automatic merge from submit-queue (batch tested with PRs 40665, 41094, 41351, 41721, 41843)

kubeadm: Add a --ca-cert-path flag to kubeadm join

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

This PR makes it possible to customize where the CA file is written

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

**Release note**:

```release-note
```
@pires @mikedanese @dmmcquay @jbeda @errordeveloper
2017-02-25 03:56:57 -08:00
Kubernetes Submit Queue
258a5cb3f1 Merge pull request #40665 from brendandburns/i18n
Automatic merge from submit-queue (batch tested with PRs 40665, 41094, 41351, 41721, 41843)

Update i18n tools and process.

@fabianofranz @zen @kubernetes/sig-cli-pr-reviews 

This is an update to the translation process based on feedback from folks.

The main changes are:
   * `msgctx` is being removed from the files.
   * String wrapping and string extraction have been separated.
   * More tools from the `gettext` family of tools are being used
   * Extracted strings are being sorted for canonical ordering
   * A `.pot` template has been added.
2017-02-25 03:56:51 -08:00
Jacob Beacham
0d7a6eb058 New command: gke-certificates-controller
This adds a new stand-alone certificates controller for use on GKE. It
allows calling GKE to sign certificates instead of requiring the CA
private key locally.

It does not aim for 100% feature parity with kube-controller-manager
yet, so for instance, leader election support is omitted.
2017-02-24 14:35:32 -08:00
Madhusudan.C.S
edef3af34f Split federation-{up,down} from e2e-{up,down}. 2017-02-24 14:27:31 -08:00
Lucas Käldström
c4e989f51c
Remove the kube-discovery binary from the tree 2017-02-24 21:23:26 +02:00
Matt Liggett
01dc76a657 update known-flags.txt 2017-02-24 10:40:04 -08:00
Jan Safranek
c56074da7a Update golint 2017-02-24 13:52:16 +01:00
Jan Safranek
3f6caca97a Add storage.k8s.io/v1 2017-02-24 13:34:18 +01:00
Kubernetes Submit Queue
2bb97435eb Merge pull request #41133 from gmarek/nc-taints
Automatic merge from submit-queue

NodeController sets NodeTaints instead of deleting Pods

```release-note
Add an alpha feature that makes NodeController set Taints instead of deleting Pods from not Ready Nodes.
```

cc @timothysc @wojtek-t @davidopp 
@aveshagarwal - this PR just uses library functions from previous one.
 @kevin-wangzefeng - the only thing that's left is to write an admission controller. I don't remember what was the agreements. Are you going to write it, or should I?
2017-02-24 03:23:43 -08:00
Kubernetes Submit Queue
5ccc4f2175 Merge pull request #42043 from sttts/sttts-verify-staging-client-go-fail-dirty
Automatic merge from submit-queue

hack/verify-staging-client-go.sh: fail verbosely if working dir is dirty

Fail early and show verbose error message if repository is dirty.
2017-02-24 02:34:48 -08:00
Lucas Käldström
bf382e45c6
kubeadm: Add a CACertPath property to NodeConfiguration that makes it possible to customize where the CA cert is written on join 2017-02-24 11:14:50 +02:00
Dr. Stefan Schimanski
27b77b48bb hack/verify-staging-client-go.sh: fail verbosely if working dir is dirty 2017-02-24 10:03:58 +01:00
gmarek
d88af7806c NodeController sets NodeTaints instead of deleting Pods 2017-02-24 09:24:33 +01:00
Kubernetes Submit Queue
e473cee7a1 Merge pull request #41820 from kad/kv
Automatic merge from submit-queue (batch tested with PRs 41667, 41820, 40910, 41645, 41361)

Changing --use-kubernetes-version to --kubernetes-version for kubeadm beta

**What this PR does / why we need it**: to follow-up agreement on SIG-Cluster-Lifecycle on 2017-02-21, flag for `kubeadm init` should be renamed.

**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**: Meeting minutes for SIG-Cluster-Lifecycle 2017-02-21

**Release note**:
```release-note
Flag --use-kubernetes-version for kubeadm init renamed to --kubernetes-version
```
2017-02-23 20:57:28 -08:00
Shiyang Wang
9bace3e379 add apply-set-last-applied subcommand
update

update code

update unit tests

hack/update

remove spew

update bazel

updated

add comments

remove unused parameter

remove hardcode

bump unit tests

add new flags

add unit tests

add bazel

genreate doc
2017-02-24 11:11:39 +08:00
Kubernetes Submit Queue
c8a87d3a62 Merge pull request #41986 from sttts/sttts-verify-staging-client-go-dirty-tree
Automatic merge from submit-queue

hack/verify-staging-client-go.sh: use git-archive to survive dirty working tree

We used rsync before and copied over the checkout. If some other script, created or changed files, godep refused to run.

Now the script uses git-archive against HEAD instead.
2017-02-23 12:06:21 -08:00
Kubernetes Submit Queue
b799bbf0a8 Merge pull request #38816 from deads2k/rbac-23-switch-kubedns-sa
Automatic merge from submit-queue

move kube-dns to a separate service account

Switches the kubedns addon to run as a separate service account so that we can subdivide RBAC permission for it.  The RBAC permissions will need a little more refinement which I'm expecting to find in https://github.com/kubernetes/kubernetes/pull/38626 .

@cjcullen @kubernetes/sig-auth since this is directly related to enabling RBAC with subdivided permissions
 @thockin @kubernetes/sig-network since this directly affects now kubedns is added.  


```release-note
`kube-dns` now runs using a separate `system:serviceaccount:kube-system:kube-dns` service account which is automatically bound to the correct RBAC permissions.
```
2017-02-23 12:06:13 -08:00
nikhiljindal
b6e2a09c2b Add cascading deletion test cases to kubectl tests 2017-02-23 12:04:13 -08:00
Lucas Käldström
69c24afc20
kubeadm: Add a 'kubeadm alpha phase kubeconfig command' 2017-02-23 21:28:18 +02:00
Aaron Crickenberger
57170100a0 avoid ls'ing third_party/etcd
third_party/etcd isn't guaranteed to be present, this was causing
the script to fail prior to printing out the error message about
version mismatch

fixes #41989
2017-02-23 11:11:31 -08:00
Alexander Kanevskiy
1bd8bf6c5b Changing --use-kubernetes-version to --kubernetes-version as it was
agreed on SIG-Cluster-Lifecycle meeting.
2017-02-23 20:56:37 +02:00
Brendan Burns
be26836f64 Update extraction script, sort messages, add .pot file. 2017-02-23 18:53:00 +00:00
Dr. Stefan Schimanski
e8a67bcd4f hack/verify-staging-client-go.sh: use git-archive to survive dirty checkouts 2017-02-23 18:33:11 +01:00
deads2k
5b4a611fd7 add kubectl can-i to see if you can perform an action 2017-02-23 09:12:35 -05:00
Wojciech Tyczynski
b70e392161 Update clusters to use 3.0.17 etcd 2017-02-23 10:08:50 +01:00
Wojciech Tyczynski
a7d2136ce1 Update etcd to 3.0.17 in integration tests 2017-02-23 10:08:50 +01:00
Kubernetes Submit Queue
787b1a2388 Merge pull request #41281 from ericchiang/bootstrap-token-authenticator
Automatic merge from submit-queue (batch tested with PRs 41812, 41665, 40007, 41281, 41771)

kube-apiserver: add a bootstrap token authenticator for TLS bootstrapping

Follows up on https://github.com/kubernetes/kubernetes/pull/36101

Still needs:

* More tests.
* To be hooked up to the API server.
  - Do I have to do that in a separate PR after k8s.io/apiserver is synced?
* Docs (kubernetes.io PR).
* Figure out caching strategy.
* Release notes.

cc @kubernetes/sig-auth-api-reviews @liggitt @luxas @jbeda

```release-notes
Added a new secret type "bootstrap.kubernetes.io/token" for dynamically creating TLS bootstrapping bearer tokens.
```
2017-02-23 00:11:40 -08:00
Wojciech Tyczynski
59cec9c1a6 Merge pull request #41886 from wojtek-t/allow_for_disabling_log_dump
Add ability to disable dumping logs
2017-02-23 08:08:25 +01:00
Clayton Coleman
651188d687
generated: bazel 2017-02-23 00:28:32 -05:00
Kubernetes Submit Queue
c99ae4b436 Merge pull request #41538 from xingzhou/clusterrole
Automatic merge from submit-queue (batch tested with PRs 41146, 41486, 41482, 41538, 41784)

Added `kubectl create clusterrole` command.

Added `kubectl create clusterrole` command.

Fixed part of #39596 

**Special notes for your reviewer**:
@deads2k, please help to review this patch, thanks

**Release note**:
```
   Added one new command `kubectl create clusterrole` to help user create a single ClusterRole from command line.
```
2017-02-22 21:09:36 -08:00
Kubernetes Submit Queue
e43e663a53 Merge pull request #41650 from deads2k/api-02-godep
Automatic merge from submit-queue

add godep manifest files to staging repos

The staging repos should have manifests that match the godeps of kube so we know what they build against.  We don't need the actual vendored code, since a sync script on the other side needs to find the correct level of other staging directories and thus requires its own `godep restore && go get && godep save` cycle.

@sttts ptal
@lavalamp @caesarxuchao client-go needs a lot of unwinding to do something similar, but the idea is that you can run an acyclic path to get this updated by copying the types and dependencies with `go list`, then generate the clients, then generate this manifest.  Then in your sync script you can pull the proper levels and finish the actual vendoring.
2017-02-22 08:56:27 -08:00
Kubernetes Submit Queue
b29bdee735 Merge pull request #41256 from mbruzek/mbruzek-juju-lint-fixes
Automatic merge from submit-queue (batch tested with PRs 41349, 41532, 41256, 41587, 41657)

Lint fixes for the master and worker Python code.

**What this PR does / why we need it**: lint fixes for the python code.

**Which issue this PR fixes** none

**Special notes for your reviewer**: This is lint fixes for the Juju python code.

**Release note**:

```release-note
NONE
```

Please consider these changes so we can pass flake8 lint tests in our build process.
2017-02-22 08:12:43 -08:00
Wojciech Tyczynski
0d8a492fbf Add ability to disable dumping logs 2017-02-22 15:26:29 +01:00
Xing Zhou
433941f1fd Added kubectl create clusterrole command.
Added `kubectl create clusterrole` command.
2017-02-22 10:30:41 +08:00
Yu-Ju Hong
84d46cc477 Do not run kubelet in test-cmd.sh
The tests are intended to test only `kubectl` commands and do not
require kubelet.
2017-02-21 14:53:44 -08:00
Derek Carr
43ae6f49ad Enable per pod cgroups, fix defaulting of cgroup-root when not specified 2017-02-21 16:34:22 -05:00
Kevin
cd427fa4be enable DefaultTolerationSeconds admission controller by default 2017-02-22 00:45:56 +08:00
Eric Chiang
a0df658b20 kube-apiserver: add a bootstrap token authenticator for TLS bootstrapping 2017-02-21 08:43:55 -08:00
deads2k
7153c91617 pin godep version 2017-02-21 09:38:56 -05:00
deads2k
a53611ab3e add godep.json to staging repos 2017-02-21 09:38:55 -05:00
Fabiano Franz
c5830295f3 Adds owners for hack/verify-flags 2017-02-21 11:34:05 -03:00
deads2k
22e10bbc29 remove cycle that snuck into tests 2017-02-21 08:03:48 -05:00
Kubernetes Submit Queue
e65ac460eb Merge pull request #37237 from jpeeler/implementation-volumeaio
Automatic merge from submit-queue (batch tested with PRs 41709, 41685, 41754, 41759, 37237)

Projected volume plugin

This is a WIP volume driver implementation as noted in the commit for https://github.com/kubernetes/kubernetes/pull/35313.
2017-02-21 04:27:51 -08:00
Kubernetes Submit Queue
caa9bd137b Merge pull request #41526 from xilabao/add-swagger-ui-option
Automatic merge from submit-queue (batch tested with PRs 41756, 36344, 34259, 40843, 41526)

add swagger ui in local cluster

use `ENABLE_SWAGGER_UI=true hack/local-up-cluster.sh`
2017-02-20 13:39:41 -08:00
Jordan Liggitt
eaff780312
Revert "first steps to adding kubelet option to enable debugger mode, next steps is to included a warning message."
This reverts commit d3b2708ae8.
2017-02-20 13:41:20 -05:00
Kubernetes Submit Queue
506950ada0 Merge pull request #36765 from derekwaynecarr/quota-precious-resources
Automatic merge from submit-queue (batch tested with PRs 41421, 41440, 36765, 41722)

ResourceQuota ability to support default limited resources

Add support for the ability to configure the quota system to identify specific resources that are limited by default.  A limited resource means its consumption is denied absent a covering quota.  This is in contrast to the current behavior where consumption is unlimited absent a covering quota.  Intended use case is to allow operators to restrict consumption of high-cost resources by default.

Example configuration:

**admission-control-config-file.yaml**
```
apiVersion: apiserver.k8s.io/v1alpha1
kind: AdmissionConfiguration
plugins:
- name: "ResourceQuota"
  configuration:
    apiVersion: resourcequota.admission.k8s.io/v1alpha1
    kind: Configuration
    limitedResources:
    - resource: pods
      matchContains:
      - pods
      - requests.cpu
    - resource: persistentvolumeclaims
      matchContains:
      - .storageclass.storage.k8s.io/requests.storage
```

In the above configuration, if a namespace lacked a quota for any of the following:
* cpu
* any pvc associated with particular storage class

The attempt to consume the resource is denied with a message stating the user has insufficient quota for the matching resources.

```
$ kubectl create -f pvc-gold.yaml 
Error from server: error when creating "pvc-gold.yaml": insufficient quota to consume: gold.storageclass.storage.k8s.io/requests.storage
$ kubectl create quota quota --hard=gold.storageclass.storage.k8s.io/requests.storage=10Gi
$ kubectl create -f pvc-gold.yaml 
... created
```
2017-02-20 10:37:42 -08:00
Kubernetes Submit Queue
4e1ca53394 Merge pull request #41440 from alejandroEsc/ae/kubelet/debug
Automatic merge from submit-queue (batch tested with PRs 41421, 41440, 36765, 41722)

local-up-cluster, allow debug option to kubelet

**What this PR does / why we need it**: Allows for kubelet to start in debug mode.

**Release note**:
```
NONE
```
2017-02-20 10:37:41 -08:00
Jeff Peeler
8fb1b71c66 Implements projected volume driver
Proposal: kubernetes/kubernetes#35313
2017-02-20 12:56:04 -05:00
Kubernetes Submit Queue
b385a94fed Merge pull request #41614 from feiskyer/fix-user
Automatic merge from submit-queue

Defaulting client certs owner to current user if not speicified

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

Defaulting client certs owner to current user if not speicified.

**Which issue this PR fixes** 

Fixes #41560.

**Release note**:

```release-note
NONE
```

cc/ @sttts @liggitt
2017-02-20 05:23:04 -08:00
deads2k
36b586d5d7 move kube-dns to a separate service account 2017-02-20 07:35:08 -05:00
Kubernetes Submit Queue
a962f5d2e4 Merge pull request #41585 from pwittrock/owners
Automatic merge from submit-queue (batch tested with PRs 39373, 41585, 41617, 41707, 39958)

Owners file related changes for kubectl and docs contributors

- adding a command to kubectl updates the root .generated_docs file requiring root level approval: move .generated_docs under docs/
- run hack/update-generated-docs.sh so the docs are up to date
- add kubectl contributors to test/OWNERS and test/fixtures/pkg/kubectl/OWNERS so they can approve kubectl e2e test changes


```release-note
NONE
```
2017-02-19 13:50:38 -08:00
Kubernetes Submit Queue
070ebfe622 Merge pull request #41414 from kevin-wangzefeng/tolerationseconds-admission-controller
Automatic merge from submit-queue (batch tested with PRs 41043, 39058, 41021, 41603, 41414)

add defaultTolerationSeconds admission controller

**What this PR does / why we need it**:
Splited from #34825, add a new admission-controller that
1. adds toleration (with tolerationSeconds = 300) for taint `notReady:NoExecute` to every pod that does not already have a toleration for that taint, and
2. adds toleration (with tolerationSeconds = 300) for taint `unreachable:NoExecute` to every pod that does not already have a toleration for that taint.

**Which issue this PR fixes**: 
Related issue: #1574
Related PR: #34825

**Special notes for your reviewer**:

**Release note**:

```release-note
add defaultTolerationSeconds admission controller
```
2017-02-19 00:58:47 -08:00
Kubernetes Submit Queue
f69570c92e Merge pull request #41603 from luxas/kubeadm_reorder_kubeconfig
Automatic merge from submit-queue (batch tested with PRs 41043, 39058, 41021, 41603, 41414)

kubeadm: Make a separate util package for kubeconfig logic

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

There are a lot of packages that need to consume kubeconfig logic, so it should be in a central place.
Having it in `kubeadmutil` is suboptimal, because then it get mixed with everything else.

This splits that logic out to a generic place so it then also can be consumed in https://github.com/kubernetes/kubernetes/pull/41417, from where it's broken out.

 - Move {admin,kubelet}.conf out as constants
 - Make a separate util package for kubeconfig logic

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

**Release note**:

```release-note
NONE
```
2017-02-19 00:58:46 -08:00
Vishnu kannan
80cbb1be5d update flag exception script
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2017-02-18 19:25:08 -08:00
Derek Carr
3fad0cb52a Implement support for limited resources in quota 2017-02-18 12:10:22 -05:00
Kevin
83545a65f1 add defaultTolerationSeconds admission controller 2017-02-18 23:48:03 +08:00
Kubernetes Submit Queue
112aa327ac Merge pull request #41521 from spiffxp/osx-make-test
Automatic merge from submit-queue (batch tested with PRs 41401, 41195, 41664, 41521, 41651)

Allow `make test` to pass on OSX

**What this PR does / why we need it**: `make test` doesn't pass on my OSX setup (10.11.6, go1.7, docker 1.13.1) on `master`, `release-1.5`, nor `release-1.4`.  Our [docs on unit tests](https://github.com/kubernetes/community/blob/master/contributors/devel/testing.md#unit-tests) say they should always pass on OS X.  This PR allows them to pass.

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

ref: #24717 for the motivation behind dereferencing mount symlinks

/cc @kubernetes/sig-testing-pr-reviews
2017-02-17 19:46:42 -08:00
Jeff Grafton
3dc0c748c8 Ignore bazel-* directories when looking for tests to run 2017-02-17 14:03:56 -08:00
Lucas Käldström
60b789b1c7
kubeadm: Move {admin,kubelet}.conf out as constants and make a separate util package for kubeconfig logic 2017-02-17 21:36:58 +02:00
Kubernetes Submit Queue
6d5b2ef49e Merge pull request #41080 from shyamjvs/etcd-version-monitor
Automatic merge from submit-queue

Added a basic monitor for providing etcd version related info

Fixes #41071 

This tool scrapes metrics partly from etcd's /version and /metrics endpoints and partly using etcdctl and exposes them as prometheus metrics at `http://localhost:9101/metrics` endpoint on the master. Here is a summary of the metrics it exposes (self-explanatory from the code):
-        etcdVersionFetchCount   = prometheus.NewCounterVec(
                prometheus.CounterOpts{
                        Namespace: "etcd",
                        Name: "version_info_fetch_count",
                        Help: "Number of times etcd's version info was fetched, labeled by etcd's server binary and cluster version",
                },
                []string{"serverversion", "clusterversion"})
-         etcdGRPCRequestsTotal   = prometheus.NewCounterVec(
                prometheus.CounterOpts{
                        Namespace: namespace,
                        Name: "grpc_requests_total",
                        Help: "Counter of received grpc requests, labeled by grpc method and grpc service names",
                },
                []string{"grpc_method", "grpc_service"})

For further info on how to run this as a binary/docker-container/kubernetes-pod and checking the metrics, have a look at the README.md file.

cc @fgrzadkowski @wojtek-t @piosz
2017-02-17 10:18:48 -08:00
Maru Newby
bd77aa9ae5 hack/test-integration.sh: provide a recommended command and exit 2017-02-17 08:44:49 -08:00
Kubernetes Submit Queue
46cd8ec91b Merge pull request #41637 from wojtek-t/expose_storage_format_as_env
Automatic merge from submit-queue

Expose storage media type as env variable

Ref #40636

@mml
2017-02-17 08:15:27 -08:00
Wojciech Tyczynski
3695e85b34 Expose storage media type as env variable 2017-02-17 14:16:55 +01:00
Shyam Jeedigunta
7e6b8ac26b Added a basic monitor for watching etcd version and size related info 2017-02-17 12:52:54 +01:00
Dr. Stefan Schimanski
f6a2915f26 hack/*.sh: re-add staging dirs to verify+update scripts 2017-02-17 08:51:31 +01:00
Kubernetes Submit Queue
5e0903305e Merge pull request #41517 from jcbsmpsn/update-bazel-treat-gopath-as-path
Automatic merge from submit-queue

update-bazel.sh to treat GOPATH as a path
2017-02-16 21:08:16 -08:00
Pengfei Ni
a106ef381d Defaulting client certs owner to current user if not speicified 2017-02-17 10:08:46 +08:00
Jacob Simpson
2dc36870c4 update-bazel.sh to treat GOPATH as a path
Adds functionality to look at the components of the GOPATH looking for
the gazel executable, rather than treating the GOPATH as if it was a
single directory.
2017-02-16 14:40:05 -08:00
Matt Bruzek
3b29b6a9ef Lint fixes for the master and worker Python code. 2017-02-16 14:01:30 -06:00
Maru Newby
98f5c362ff test-federation.sh: Make use of WHAT consistent with make test
test-integration.sh was using the first positional arg passed to WHAT
to filter the list of integration test packages.  This change switches
to passing WHAT verbatim to be consistent with how make test works.
2017-02-16 10:53:58 -08:00
Phillip Wittrock
93ea01663f Move .generated_docs to docs/ so docs OWNERS can review / approve 2017-02-16 10:11:57 -08:00
deads2k
b53b7f2062 make the on-infrastructure of kube-aggregator case easier 2017-02-16 09:31:20 -05:00
Jan Safranek
d5c871d4cc local-up-cluster.sh should create a default storage class
To make dynamic provisioning working out of the box in local cluster a default
storage class needs to be instantiated.
2017-02-16 10:28:29 +01:00
xilabao
363bfaa5f2 add swagger ui in local cluster 2017-02-16 09:58:34 +08:00
Kubernetes Submit Queue
148155f8b8 Merge pull request #41452 from yujuhong/rename_flag
Automatic merge from submit-queue

Change node e2e cri-validation configs

Copy the configs to a new directory to test non-cri implementation. We can
remove the original directory after the dependent PRs are merged.
2017-02-15 17:16:19 -08:00
Kubernetes Submit Queue
92360ffc5f Merge pull request #41439 from deads2k/apiserver-12-sample-fuzz
Automatic merge from submit-queue (batch tested with PRs 41104, 41245, 40722, 41439, 41502)

add sample fuzzing tests

Make fuzzing tests as simple as possible from both the API installer and the scheme, so its easy to add for api groups and so that I can build a scheme and then make sure I got it right.

@kubernetes/sig-api-machinery-pr-reviews @sttts @mikedanese
2017-02-15 16:28:11 -08:00
Aaron Crickenberger
32387d124e hack/e2e_test.go's tester shouldn't stat files from the future 2017-02-15 15:59:47 -08:00
Maru Newby
c762057a7c test-integration.sh: Exit after running a test case 2017-02-15 15:23:32 -08:00
Maru Newby
ae91e0452f test-integration.sh: Avoid unnecessary etcd cleanup 2017-02-15 15:21:44 -08:00
Alejandro Escobar
d3b2708ae8 first steps to adding kubelet option to enable debugger mode, next steps is to included a warning message.
added warning in case that debug mode is on for kubelet.
2017-02-15 12:20:16 -08:00
Yu-Ju Hong
9287d6eec3 Remove EXPERIMENTAL_CRI in local-up-cluster.sh
Kubelet now uses CRI by default.
2017-02-15 11:02:53 -08:00
Kubernetes Submit Queue
fbc94c0896 Merge pull request #41343 from p0lyn0mial/kubectl_get_short_names_from_discovery_api
Automatic merge from submit-queue

shortcut expander will take the list of short names from the api ser…

**What this PR does / why we need it**: the shortcut expander will take the list of short names for resources from the API server during the discovery. For backward compatibility a hardcoded list of short names will always be appended while evaluating a short name.
2017-02-15 09:07:51 -08:00
deads2k
2d5fe9d855 add sample fuzzing tests 2017-02-15 10:34:44 -05:00
Kubernetes Submit Queue
5802799e56 Merge pull request #40928 from deads2k/agg-01-local-up
Automatic merge from submit-queue

make kube-aggregator run as static pod for local-up-cluster

Runs the kube-aggregator as a static pod for local-up-cluster.  Looks like someone broke kubectl negotiation again, so I'll fix that up separately.

@kubernetes/sig-api-machinery-misc 
@lavalamp you're probably looking to run kube-aggregator as a static pod, here's an example.
@jwforres I'll make a secure variant for wiring up to openshift.
2017-02-15 07:25:07 -08:00
deads2k
45d274bb52 allow specification of core kubeconfig in aggregator 2017-02-15 09:00:10 -05:00
deads2k
c2ac9e5ca3 kube-aggregator manifests based on hostpath 2017-02-15 09:00:10 -05:00
Kubernetes Submit Queue
66529d51ba Merge pull request #41352 from mikedanese/testapi-kubeadm
Automatic merge from submit-queue (batch tested with PRs 41360, 41423, 41430, 40647, 41352)

move kubeadm api group testing to kubeadm package

I think this is sufficient to at least preserve round trip testing.
2017-02-15 05:06:13 -08:00
Kubernetes Submit Queue
4c02f29196 Merge pull request #41211 from enisoc/configure-audit-log
Automatic merge from submit-queue (batch tested with PRs 40297, 41285, 41211, 41243, 39735)

cluster/gce: Add env var to enable apiserver basic audit log.

For now, this is focused on a fixed set of flags that makes the audit
log show up under /var/log/kube-apiserver-audit.log and behave similarly
to /var/log/kube-apiserver.log. Allowing other customization would
require significantly more complex changes.

Audit log rotation is handled the same as for `kube-apiserver.log`.

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

Add a knob to enable [basic audit logging](https://kubernetes.io/docs/admin/audit/) in GCE.

**Which issue this PR fixes**:

**Special notes for your reviewer**:

We would like to cherrypick/port this to release-1.5 also.

**Release note**:
```release-note
The kube-apiserver [basic audit log](https://kubernetes.io/docs/admin/audit/) can be enabled in GCE by exporting the environment variable `ENABLE_APISERVER_BASIC_AUDIT=true` before running `cluster/kube-up.sh`. This will log to `/var/log/kube-apiserver-audit.log` and use the same `logrotate` settings as `/var/log/kube-apiserver.log`.
```
2017-02-15 03:25:12 -08:00
p0lyn0mial
98068b6367 shortcut expander will take the list of short names from the api server. 2017-02-15 09:06:47 +01:00
Jordan Liggitt
cc11d7367a
Switch kube-scheduler to secure API access 2017-02-15 01:05:42 -05:00
Kubernetes Submit Queue
69649aa1ce Merge pull request #41413 from deads2k/agg-13-move
Automatic merge from submit-queue (batch tested with PRs 41378, 41413, 40743, 41155, 41385)

move kube-aggregator to staging

Straight move of kube-aggregator to staging.  The scripts are the interesting bits.

@sttts @lavalamp
2017-02-14 19:54:11 -08:00
Yu-Ju Hong
fb94f441ce Set EnableCRI to true by default
This change makes kubelet to use the CRI implementation by default,
unless the users opt out explicitly by using --enable-cri=false.
For the rkt integration, the --enable-cri flag will have no effect
since rktnetes does not use CRI.

Also, mark the original --experimental-cri flag hidden and deprecated,
so that we can remove it in the next release.
2017-02-14 16:15:51 -08:00
Mike Danese
ad42b42949 move kubeadm api group testing to kubeadm package 2017-02-14 16:02:13 -08:00
Anthony Yeh
7500746e7f cluster/gce: Add env var to enable apiserver basic audit log.
For now, this is focused on a fixed set of flags that makes the audit
log show up under /var/log/kube-apiserver-audit.log and behave similarly
to /var/log/kube-apiserver.log. Allowing other customization would
require significantly more complex changes.

Audit log rotation is handled externally by the wildcard /var/log/*.log
already configured in configure-helper.sh.
2017-02-14 15:18:10 -08:00
deads2k
1d40c3ff76 update scripts for new kube-aggregator location 2017-02-14 14:16:59 -05:00
deads2k
f44c288a21 bulk move of kube-aggregator 2017-02-14 14:16:59 -05:00
Kubernetes Submit Queue
1dcb1a237b Merge pull request #41280 from spxtr/gofmt
Automatic merge from submit-queue (batch tested with PRs 41357, 41178, 41280, 41184, 41278)

Add verify-gofmt as a Bazel test.

Also, moved `--flaky_test_attempts=3` out of `.bazelrc` since it was annoying. I think this verify-all pattern is working well in test-infra, we should try and make it happen here.

**Release note**:
```release-note
NONE
```
2017-02-13 21:07:09 -08:00
deads2k
5ae5829a1d sync client-go with listers and informers 2017-02-13 15:35:58 -05:00
Kubernetes Submit Queue
8621bd3e50 Merge pull request #41334 from deads2k/agg-07-snip-cli
Automatic merge from submit-queue

copy pkg/util/logs to apiserver

This is a copy, not a move.  API servers need to be able to init the logs, but so do clients.  It would be weird to have the client-side commands depending on the server side logs utilities.

I updated all the server side references, but left the client-side ones.

@sttts @kubernetes/sig-api-machinery-pr-reviews acceptable?
2017-02-13 12:19:03 -08:00
deads2k
78d8a8efa8 copy pkg/util/logs to apiserver 2017-02-13 12:07:15 -05:00
Kubernetes Submit Queue
beaf5ffacc Merge pull request #39852 from xingzhou/kube-39596
Automatic merge from submit-queue

Added kubectl create role command

Added `kubectl create role` command.

Fixed part of #39596 

**Release note**:
```
   Added one new command `kubectl create role` to help user create a single role from command line.
```
2017-02-13 08:40:50 -08:00
deads2k
fd34b11e13 react to informer updates 2017-02-13 09:18:32 -05:00
Kubernetes Submit Queue
aa724ae0a9 Merge pull request #41137 from resouer/pod-dir
Automatic merge from submit-queue

Add pod manifest path to local cluster

Added `POD_MANIFEST_PATH` to local cluster up because we are frequently using this flag when testing static & mirror pod during local dev.
2017-02-10 17:38:32 -08:00
Joe Finney
27cc32b84e Add verify-gofmt as a Bazel test.
Also, moved --flaky_test_attempts=3 out of .bazelrc since it was annoying.
2017-02-10 17:00:28 -08:00
Kubernetes Submit Queue
899ddbcfc6 Merge pull request #41259 from alejandroEsc/ae/make_help/ansi
Automatic merge from submit-queue (batch tested with PRs 41259, 41260)

remove hardcoded ansi color coding for `make help` 

to tput so that color coding works in multiple platforms including osx.

**What this PR does / why we need it**: 
should try not to use hardcoded ansi escape characters.

**Release note**:
```NONE
```
2017-02-10 16:53:38 -08:00
Kubernetes Submit Queue
866aa73591 Merge pull request #36101 from jbeda/bootstrap-signer
Automatic merge from submit-queue (batch tested with PRs 38252, 41122, 36101, 41017, 41264)

BootstrapSigner and TokenCleaner controllers

This is part of https://github.com/kubernetes/features/issues/130 and is an implementation of https://github.com/kubernetes/community/pull/189.

Work that needs to be done yet in this PR:
* [ ] ~~e2e tests~~ Will come in new PR.
* [x] flag to disable this by default

```release-note
Native support for token based bootstrap flow.  This includes signing a well known ConfigMap in the `kube-public` namespace and cleaning out expired tokens.
```

@kubernetes/sig-cluster-lifecycle @dgoodwin @roberthbailey @mikedanese
2017-02-10 15:59:40 -08:00
Kubernetes Submit Queue
3b7440ca9a Merge pull request #41207 from mikedanese/rerevert
Automatic merge from submit-queue (batch tested with PRs 41223, 40892, 41220, 41207, 41242)

reenable kubelet auth

revert #41132 

This reverts commit fd56078298, reversing
changes made to d953402cdf.
2017-02-10 13:35:45 -08:00
Joe Beda
20e1f8ea9b
Creates constants for bootstrap tokens.
Move these form core API to a separate package (pkg/bootstrap/api).

This also creates the constant for the new kube-public namespace.
2017-02-10 12:47:25 -08:00
Alejandro Escobar
0314bcdbba remove hardcoded ansi to tput so that color coding works in multiple platforms including osx. 2017-02-10 10:25:43 -08:00
Kubernetes Submit Queue
f4baa5860f Merge pull request #41114 from ncdc/shared-informers-04-endpoints
Automatic merge from submit-queue (batch tested with PRs 39418, 41175, 40355, 41114, 32325)

Switch endpoints controller to shared informers

cc @bprashanth @thockin @deads2k @sttts @liggitt @smarterclayton  @kubernetes/sig-scalability-pr-reviews
2017-02-10 04:50:48 -08:00
Kubernetes Submit Queue
a7a74b56da Merge pull request #40355 from gmarek/nc-taint-handling
Automatic merge from submit-queue (batch tested with PRs 39418, 41175, 40355, 41114, 32325)

TaintController

```release-note
This PR adds a manager to NodeController that is responsible for removing Pods from Nodes tainted with NoExecute Taints. This feature is beta (as the rest of taints) and enabled by default. It's gated by controller-manager enable-taint-manager flag.
```
2017-02-10 04:50:42 -08:00
Kubernetes Submit Queue
f9215e8fb3 Merge pull request #41058 from liggitt/v1-tokenreview
Automatic merge from submit-queue (batch tested with PRs 41112, 41201, 41058, 40650, 40926)

Promote TokenReview to v1

Peer to https://github.com/kubernetes/kubernetes/pull/40709

We have multiple features that depend on this API:

- [webhook authentication](https://kubernetes.io/docs/admin/authentication/#webhook-token-authentication)
- [kubelet delegated authentication](https://kubernetes.io/docs/admin/kubelet-authentication-authorization/#kubelet-authentication)
- add-on API server delegated authentication

The API has been in use since 1.3 in beta status (v1beta1) with negligible changes:
- Added a status field for reporting errors evaluating the token

This PR promotes the existing v1beta1 API to v1 with no changes

Because the API does not persist data (it is a query/response-style API), there are no data migration concerns.

This positions us to promote the features that depend on this API to stable in 1.7

cc @kubernetes/sig-auth-api-reviews @kubernetes/sig-auth-misc

```release-note
The authentication.k8s.io API group was promoted to v1
```
2017-02-10 01:40:44 -08:00
Kubernetes Submit Queue
52dbf450c5 Merge pull request #41210 from mikedanese/bump-gazel
Automatic merge from submit-queue (batch tested with PRs 40796, 40878, 36033, 40838, 41210)

bump gazel to v14

pick up some fixes and a new config.
2017-02-10 00:04:51 -08:00
Kubernetes Submit Queue
45d122dd6b Merge pull request #36033 from DirectXMan12/feature/hpa-v2
Automatic merge from submit-queue (batch tested with PRs 40796, 40878, 36033, 40838, 41210)

HPA v2 (API Changes)

**Release note**:
```release-note
Introduces an new alpha version of the Horizontal Pod Autoscaler including expanded support for specifying metrics.
```

Implements the API changes for kubernetes/features#117.

This implements #34754, which is the new design for the Horizontal Pod Autoscaler.  It includes improved support for custom metrics (and/or arbitrary metrics) as well as expanded support for resource metrics.  The new HPA object is introduces in the API group "autoscaling/v1alpha1".

Note that the improved custom metric support currently is limited to per pod metrics from Heapster -- attempting to use the new "object metrics" will simply result in an error.  This will change once #34586 is merged and implemented.
2017-02-10 00:04:48 -08:00
Kubernetes Submit Queue
2b2af10a50 Merge pull request #41181 from tanshanshan/fix-wrong-shell
Automatic merge from submit-queue (batch tested with PRs 40917, 41181, 41123, 36592, 41183)

fix scheduler performance test script 

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

 

 `test-performance.sh` is  in  dir `kubernetes/test/integration/scheduler_perf`

the  dir `kubernetes/test/component/scheduler/perf`  does not exist

Thanks.

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-02-09 23:10:44 -08:00
Kubernetes Submit Queue
c429a074e8 Merge pull request #40917 from irfanurrehman/fed-init-flags-1
Automatic merge from submit-queue (batch tested with PRs 40917, 41181, 41123, 36592, 41183)

[Federation] Add override flags options to kubefed init

**What this PR does / why we need it**:
Allows modification of startup flags (of apiserver and controller manager) through kubefed 
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
https://github.com/kubernetes/kubernetes/issues/40398
**Special notes for your reviewer**:
I haven't removed the existing redundant flags now (for example --dns-zone-name) intentionally to avoid breaking any existing tests that might use them.
I guess that would be better done as a follow up PR.
@madhusudancs @marun @nikhiljindal 
**Release note**:

```
It is now possible for the user to modify any startup flag of federation-apiserver and federation-controller-manager when deployed through kubefed.
There are two new options introduced in kubefed:
--apiserver-arg-overrides and --controllermanager-arg-overrides
Any number of actual federation-apiserver or federation-controller-manager flags can be specified using these options.
Example:
kubefed init "-other options-" ----apiserver-arg-overrides "--flag1=value1,--flag2=value2"
```
2017-02-09 23:10:41 -08:00
Xing Zhou
89021157b0 Added generated docs for kubectl create role command.
Added generated docs for kubectl create role command.
2017-02-10 13:10:47 +08:00
Harry Zhang
984c43fb4e Add pod manifest path to local cluster 2017-02-10 10:44:03 +08:00
Kubernetes Submit Queue
76b39431d3 Merge pull request #41147 from derekwaynecarr/improve-eviction-logs
Automatic merge from submit-queue (batch tested with PRs 41074, 41147, 40854, 41167, 40045)

Add debug logging to eviction manager

**What this PR does / why we need it**:
This PR adds debug logging to eviction manager.

We need it to help users understand when/why eviction manager is/is not making decisions to support information gathering during support.
2017-02-09 17:41:41 -08:00
Andy Goldstein
80ddac7157 Fix controller manager RBAC in local-up-cluster
Change the name of the client cert used by the controller manager from
system:controller to system:kube-controller-manager, so the appropriate
RBAC rules are applied. Also remove the system:masters group from this
client cert so it doesn't have super powers.

Also, always enable using service account credentials in the controller
manager.
2017-02-09 20:40:43 -05:00
gmarek
2f0e436677 Taint controller - first commit 2017-02-10 02:13:45 +01:00
Mike Danese
c8ce55fef4 Revert "Merge pull request #41132 from kubernetes/revert-40893-kubelet-auth"
This reverts commit fd56078298, reversing
changes made to d953402cdf.
2017-02-09 15:55:12 -08:00
Kubernetes Submit Queue
75887829bc Merge pull request #41136 from deads2k/apiserver-10-example
Automatic merge from submit-queue (batch tested with PRs 41121, 40048, 40502, 41136, 40759)

add k8s.io/sample-apiserver to demonstrate how to build an aggregated API server

builds on https://github.com/kubernetes/kubernetes/pull/41093

This creates a sample API server is a separate staging repo to guarantee no cheating with `k8s.io/kubernetes` dependencies.  The sample is run during integration tests (simple tests on it so far) to ensure that it continues to run.

@sttts @kubernetes/sig-api-machinery-misc ptal
@pwittrock @pmorie @kris-nova an aggregated API server example that will stay up to date.
2017-02-09 14:27:48 -08:00
Kubernetes Submit Queue
2bd777e9de Merge pull request #40502 from alindeman/etcd-false-positive
Automatic merge from submit-queue (batch tested with PRs 41121, 40048, 40502, 41136, 40759)

Match etcd process name exactly

A process named, e.g., etcd-operator, should not match



**What this PR does / why we need it**: Matches etcd process name exactly 

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

**Special notes for your reviewer**: 👀 @lavalamp
2017-02-09 14:27:47 -08:00
Kubernetes Submit Queue
b7772e4f89 Merge pull request #40048 from mtaufen/remove-deprecated-flags
Automatic merge from submit-queue (batch tested with PRs 41121, 40048, 40502, 41136, 40759)

Remove deprecated kubelet flags that look safe to remove

Removes:
```
--config
--auth-path
--resource-container
--system-container
```
which have all been marked deprecated since at least 1.4 and look safe to remove.

```release-note
The deprecated flags --config, --auth-path, --resource-container, and --system-container were removed.
```
2017-02-09 14:27:45 -08:00
Kubernetes Submit Queue
c0c09a8100 Merge pull request #41121 from madhusudancs/fed-cleanup-move-wait
Automatic merge from submit-queue (batch tested with PRs 41121, 40048, 40502, 41136, 40759)

[Federation] Wait after cleanup only if the cleanup succeeds.

It is a waste of time to wait for the resources to cleanup if the
cleanup fails.

cc @kubernetes/sig-federation-pr-reviews
2017-02-09 14:27:43 -08:00
Mike Danese
cbe5bd97b4 bump gazel to v14 2017-02-09 11:09:13 -08:00
tanshanshan
94b8c43b84 fix the wrong test path 2017-02-09 15:16:11 +08:00
Irfan Ur Rehman
9a56a75319 [Federation] Review comment fixes for add override flags options to kubefed init 2017-02-09 12:27:29 +05:30
Kubernetes Submit Queue
e280e27f9b Merge pull request #41065 from wojtek-t/default_target_storage_in_etcd
Automatic merge from submit-queue (batch tested with PRs 40873, 40948, 39580, 41065, 40815)

Default target storage in etcd

To make etcd v2->v3 upgrade work correctly, we need to correctly set the "TARGET_STORAGE" env var. Since in head we are defaulting to etcd v3, this PR is defaulting also that env var to etcd3, so that by default upgrade works fine.

@fgrzadkowski @gmarek
2017-02-08 14:14:46 -08:00
Derek Carr
0171121486 Add debug logging to eviction manager 2017-02-08 15:01:12 -05:00
deads2k
7cb5463b26 create sample-apiserver repo for people to inspect 2017-02-08 10:35:29 -05:00
Aleksandra Malinowska
1841e5b2e0 Revert "remove second CA used for kubelet auth in favor of webhook auth" 2017-02-08 13:22:10 +01:00
Kubernetes Submit Queue
bdfa947a18 Merge pull request #40893 from mikedanese/kubelet-auth
Automatic merge from submit-queue (batch tested with PRs 40175, 41107, 41111, 40893, 40919)

remove second CA used for kubelet auth in favor of webhook auth

partial fixes upgrade test.
2017-02-08 01:47:43 -08:00
Kubernetes Submit Queue
a326735ea0 Merge pull request #40175 from apprenda/kubeadm-40155-test-skip
Automatic merge from submit-queue (batch tested with PRs 40175, 41107, 41111, 40893, 40919)

kubeadm: skip integration tests if kubeadm-cmd-skip flag passed

Will skip integration tests for token generation if it can't find a file by the given --kubeadm-path or default value.

**What this PR does / why we need it**: Tests would fail if just running `go test` in the dir because it expects to have more values. This won't change the behavior of `make test-cmd` which gets run here:
https://github.com/kubernetes/kubernetes/blob/master/Makefile#L258

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

**Special notes for your reviewer**: /cc @pires @pipejakob @liggitt 

```release-note
NONE
```
2017-02-08 01:47:37 -08:00
Wojciech Tyczynski
a2a861b8f9 Fix flag verification 2017-02-08 10:40:25 +01:00
Madhusudan.C.S
78bed5fde9 [Federation] Wait after cleanup only if the cleanup succeeds.
It is a waste of time to wait for the resources to cleanup if the
cleanup fails.
2017-02-08 00:26:53 -08:00
Kubernetes Submit Queue
74195979fb Merge pull request #41061 from madhusudancs/fed-cleanup-once
Automatic merge from submit-queue (batch tested with PRs 41061, 40888, 40664, 41020, 41085)

Cleanup federation components and wait for it only once in a test cycle.

cc @kubernetes/sig-federation-pr-reviews
2017-02-07 23:06:37 -08:00
Xing Zhou
b9c6fb52ab Added unit tests for kubectl create role command.
Added unit tests for kubectl create role command.
2017-02-08 13:30:10 +08:00
Michael Taufen
79a6818189 Remove deprecated flags from known-flags.txt 2017-02-07 14:32:38 -08:00
Solly Ross
86c430b881 Introduce HPA v2 API Objects
This commit introduces the autoscaling/v2alpha1 API group, which
currently contains the first alpha of the new HorizontalPodAutoscaler
object.
2017-02-07 17:20:14 -05:00
Mike Danese
86d9493747 remove second CA used for kubelet auth in favor of webhook auth 2017-02-07 13:22:01 -08:00
Derek McQuay
1459bbade4
kubeadm: updated cmd tests as discussed in SIG
After today's SIG meeting, it was discussed how to proceed with these
types of test-cmd tests.  They will live in kubeamd/test/cmd and will
provide a flag that will allow you to skip them (--kubeadm-cmd-skip) and
by default will fail if kubeadm binary is not present
2017-02-07 12:47:07 -08:00
Kubernetes Submit Queue
d404e07a72 Merge pull request #38183 from tianshapjq/remove-create-external-load-balancer
Automatic merge from submit-queue (batch tested with PRs 40345, 38183, 40236, 40861, 40900)

remove the create-external-load-balancer flag in cmd/expose.go

**What this PR does / why we need it**:
In cmd/expose.go there is a todo "remove create-external-load-balancer in code on or after Aug 25, 2016.", and now it's been a long time past. So I remove this flag and modify the test cases. 
Please check for this, thanks!

**Release note**:

```
remove the deprecated flag "create-external-load-balancer" and use --type="LoadBalancer" instead.
```
2017-02-07 11:33:41 -08:00
Kubernetes Submit Queue
98a16d69bb Merge pull request #41031 from deads2k/agg-02-cleanup
Automatic merge from submit-queue (batch tested with PRs 41023, 41031, 40947)

scrub aggregator names to eliminate discovery

Cleanup old uses of `discovery`.  Also removes the legacy functionality.

@kubernetes/sig-api-machinery-misc @sttts
2017-02-07 09:04:40 -08:00
Kubernetes Submit Queue
03db7eac03 Merge pull request #41023 from deads2k/apiserver-05-config-move
Automatic merge from submit-queue (batch tested with PRs 41023, 41031, 40947)

move admission read logic to apiserver

Promised followup to https://github.com/kubernetes/kubernetes/pull/40943

@sttts @kubernetes/sig-api-machinery-misc
2017-02-07 09:04:38 -08:00
Kubernetes Submit Queue
3f6dd889f3 Merge pull request #40985 from p0lyn0mial/add_shortnames_to_discovery_api
Automatic merge from submit-queue (batch tested with PRs 40980, 40985)

added short names for resources which are exposed during discovery

**What this PR does / why we need it**:
The changes add short names for resources. The short names will be delivered to kubectl during discovery.
2017-02-07 06:21:10 -08:00
deads2k
58992ce8d2 move admission read logic 2017-02-07 07:44:14 -05:00
Kubernetes Submit Queue
3527153426 Merge pull request #40193 from xilabao/add-basic-auth-to-local-cluster
Automatic merge from submit-queue

add basic auth option to apiserver in local cluster

Add this can fix #40192 @liggitt
2017-02-07 01:24:13 -08:00
Madhusudan.C.S
26c0fe32d0 Cleanup federation components and wait for it only once in a test cycle. 2017-02-07 00:48:15 -08:00
Jordan Liggitt
09b5d7279f
install authentication.k8s.io/v1, add tests 2017-02-07 01:44:56 -05:00
xilabao
544e7aaee4 allow to set local kubeconfig and update the prompt 2017-02-07 13:35:41 +08:00
Kubernetes Submit Queue
460f44347c Merge pull request #40709 from liggitt/v1-sar
Automatic merge from submit-queue (batch tested with PRs 40971, 41027, 40709, 40903, 39369)

Promote SubjectAccessReview to v1

We have multiple features that depend on this API:

SubjectAccessReview
- [webhook authorization](https://kubernetes.io/docs/admin/authorization/#webhook-mode)
- [kubelet delegated authorization](https://kubernetes.io/docs/admin/kubelet-authentication-authorization/#kubelet-authorization)
- add-on API server delegated authorization

The API has been in use since 1.3 in beta status (v1beta1) with negligible changes:
- Added a status field for reporting errors evaluating access
- A typo was discovered in the SubjectAccessReviewSpec Groups field name

This PR promotes the existing v1beta1 API to v1, with the only change being the typo fix to the groups field. (fixes https://github.com/kubernetes/kubernetes/issues/32709)

Because the API does not persist data (it is a query/response-style API), there are no data migration concerns.

This positions us to promote the features that depend on this API to stable in 1.7

cc @kubernetes/sig-auth-api-reviews @kubernetes/sig-auth-misc

```release-note
The authorization.k8s.io API group was promoted to v1
```
2017-02-06 20:57:15 -08:00
Kubernetes Submit Queue
4f1489edf0 Merge pull request #41045 from sttts/sttts-client-admin-key-readable
Automatic merge from submit-queue

Make client-admin.key of local-up-cluster.sh readable by kubectl

Follow-up of https://github.com/kubernetes/kubernetes/pull/40922
2017-02-06 15:35:28 -08:00
Kubernetes Submit Queue
1250278bf6 Merge pull request #40922 from berrange/hack-client-cert
Automatic merge from submit-queue

local-up-cluster: fix instructions for set-credentials

After launching the services, local-up-cluster.sh tells the
user how to configure kubectl to access it. The instructions
for 'set-credentials' enable plain password auth, but the
services are configured to mandate client certificate auth.
As a result it is not possible to access the cluster with
the instructions printed.

The use of client certs by default was added in

  commit a1b17db458
  Author: Dr. Stefan Schimanski <sttts@redhat.com>
  Date:   Sat Nov 12 23:09:04 2016 +0100

    Configure client certs in local-cluster-up.sh

and the instructions were correctly updated to refer to
client certificates.

The changed instructions were (mistakenly) reverted though
when the following commit was merged:

  commit 72e0e91b5e
  Author: xilabao <chenr.fnst@cn.fujitsu.com>
  Date:   Fri Dec 2 11:04:25 2016 +0800

    change prompt for enabling RBAC on local-up-cluster

Fixes: #40192

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2017-02-06 15:35:17 -08:00
Jordan Liggitt
8706bc9617
install authorization.k8s.io/v1, add tests
Use specific v1beta1 Authorization client

Add client expansions
2017-02-06 18:16:51 -05:00
p0lyn0mial
b2cce0ac8e added short names for resources which are exposed during discovery 2017-02-06 23:35:07 +01:00
Dr. Stefan Schimanski
15cec37e7b Make client-admin.key of local-up-cluster.sh readable by kubectl 2017-02-06 23:07:06 +01:00
deads2k
dc30d1750e scrub aggregator names to eliminate discovery 2017-02-06 15:05:49 -05:00
deads2k
75841dc4f1 switch admission serialized config to an apiserver type 2017-02-06 11:38:08 -05:00
Daniel P. Berrange
4ed13ec484 local-up-cluster: fix instructions for set-credentials
After launching the services, local-up-cluster.sh tells the
user how to configure kubectl to access it. The instructions
for 'set-credentials' enable plain password auth, but the
services are configured to mandate client certificate auth.
As a result it is not possible to access the cluster with
the instructions printed.

The use of client certs by default was added in

  commit a1b17db458
  Author: Dr. Stefan Schimanski <sttts@redhat.com>
  Date:   Sat Nov 12 23:09:04 2016 +0100

    Configure client certs in local-cluster-up.sh

and the instructions were correctly updated to refer to
client certificates.

The changed instructions were (mistakenly) reverted though
when the following commit was merged:

  commit 72e0e91b5e
  Author: xilabao <chenr.fnst@cn.fujitsu.com>
  Date:   Fri Dec 2 11:04:25 2016 +0800

    change prompt for enabling RBAC on local-up-cluster

Fixes: #40192

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2017-02-06 09:55:41 +00:00
Irfan Ur Rehman
98fb5c0e22 [Federation] Add override flags options to kubefed init 2017-02-06 15:24:28 +05:30
Kubernetes Submit Queue
1df1ad9d34 Merge pull request #40981 from k82cn/local_cluster_check
Automatic merge from submit-queue

Using API_HOST_IP to do apiserver health check.

In `hack/local-up-cluster.sh`, it's better to use `API_HOST_IP` to do apiserver health check.
2017-02-05 17:30:13 -08:00
Kubernetes Submit Queue
419d38a965 Merge pull request #40516 from shashidharatd/kubefed-1
Automatic merge from submit-queue

[Federation][kubefed] Add option to expose federation apiserver on nodeport service

**What this PR does / why we need it**:
This PR adds an option to kubefed to expose federation api server over nodeport. This can be useful to deploy federation in non-cloud environments. This PR is target to address #39271

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

**Release note**:

```
[Federation] kubefed init learned a new flag, `--api-server-service-type`, that allows service type to be specified for the federation API server.
[Federation] kubefed init also learned a new flag, `--api-server-advertise-address`, that allows specifying advertise address for federation API server in case the service type is NodePort.
```

@kubernetes/sig-federation-misc @madhusudancs
2017-02-05 12:48:33 -08:00
Klaus Ma
00960b4d71 Using API_HOST_IP to do apiserver health check. 2017-02-06 04:22:20 +08:00
Kubernetes Submit Queue
b9bb440bd6 Merge pull request #40031 from ethernetdan/test_owner_sig
Automatic merge from submit-queue

Add SIG to test owners

**What this PR does / why we need it**:
This PR adds a `sig` column to the test owners file generation script.

A problem experienced with the current owners file is that since members are auto-assigned there are times where tests are assigned to non-active users who don't follow up to notifications to fix flakes. By assigning a SIG to each test we can hold a group we know is active responsible for taking care of flakes it's less likely that flakes will fall through the cracks.

**Special notes for your reviewer**:
* A companion PR will go into *kubernetes/contrib* adding support for mungers parsing this new column.
   * Another PR in contrib will add labeling GitHub flake issues with the appropriate SIG
* Currently SIGs are not labeled, this will be added in another PR where SIG determinations can be discussed

@saad-ali @pwittrock
2017-02-04 18:43:05 -08:00
Kubernetes Submit Queue
a777a8e3ba Merge pull request #39972 from derekwaynecarr/pod-cgroups-default
Automatic merge from submit-queue (batch tested with PRs 40289, 40877, 40879, 39972, 40942)

Rename experimental-cgroups-per-pod flag

**What this PR does / why we need it**:
1. Rename `experimental-cgroups-per-qos` to `cgroups-per-qos`
1. Update hack/local-up-cluster to match `CGROUP_DRIVER` with docker runtime if used.

**Special notes for your reviewer**:
We plan to roll this feature out in the upcoming release.  Previous node e2e runs were running with this feature on by default.  We will default this feature on for all e2es next week.

**Release note**:
```release-note
Rename --experiemental-cgroups-per-qos to --cgroups-per-qos
```
2017-02-04 04:43:08 -08:00
Kubernetes Submit Queue
a6e64246f6 Merge pull request #40902 from MHBauer/print-apiserver-log-location
Automatic merge from submit-queue (batch tested with PRs 40906, 40924, 40938, 40902, 40911)

print apiserver log location on apiserver error

**What this PR does / why we need it**:
Improve user experience. Attempt to direct user to logs of failing component.

**Special notes for your reviewer**:
In addition to failure, point to logs so that a user can attempt to self remedy and have more information available to debug immediately. A user may not know that the failing component has logs.

**Release note**:

```release-note
NONE
```
2017-02-04 03:49:54 -08:00
Kubernetes Submit Queue
c78745edee Merge pull request #40374 from fejta/e2e
Automatic merge from submit-queue (batch tested with PRs 40696, 39914, 40374)

Convert hack/e2e.go to a test-infra/kubetest shim

Replaces `hack/e2e.go` for a shim that passes the args to `k8s.io/test-infra/kubetest`
Adds fejta to `hack/OWNERS`
Adds `e2e_test.go` for unit test coverage of the shim.

`Usage: go run hack/e2e.go [--get=true] [--old=1d] -- KUBETEST_ARGS`
In other words there is are `--get` and `--old` shim flags, which control how we upgrade `kubetest`, and a `--` to separate the shim args from the kubetest args, and the existing kubetest args like `--down` `--up`, etc. If only `KUBETEST_ARGS` are used then you can skip the `--` (although golang will complain about it).

Once this is ready to go I will update the kubekins-e2e image to copy this file from test-infra: https://github.com/kubernetes/test-infra/blob/master/jenkins/e2e-image/Dockerfile#L70

ref https://github.com/kubernetes/test-infra/issues/1475
2017-02-03 15:05:57 -08:00
Derek Carr
75fa285a56 Make hack/local-up-cluster default to right cgroup driver 2017-02-03 17:28:23 -05:00
Derek Carr
d5aa35e330 Add generated artifacts 2017-02-03 17:19:53 -05:00
Dan Gillespie
f79a2c57d9 updated test owner generation script to add sig column 2017-02-03 12:41:47 -08:00
shashidharatd
03928dfc45 Add option to expose federation apiserver on nodeport service 2017-02-03 22:18:50 +05:30
Kubernetes Submit Queue
49de5f50e5 Merge pull request #40862 from shashidharatd/kubefed-3
Automatic merge from submit-queue (batch tested with PRs 40862, 40909)

[Federation][kubefed] Add option to disable persistence storage for etcd

**What this PR does / why we need it**:
This is part of updates to enable deployment of federation on non-cloud environments. This pr enables disabling persistent storage for etcd via kubefed.

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

**Special notes for your reviewer**:

**Release note**:
```
[Federation] Add --etcd-persistent-storage flag to kubefed to enable/disable persistent storage for etcd
```
cc: @kubernetes/sig-federation-bugs @madhusudancs
2017-02-03 06:48:45 -08:00
Dr. Stefan Schimanski
6af3210d6f Update generated files 2017-02-03 08:15:46 +01:00
Kubernetes Submit Queue
99def0d9f9 Merge pull request #40666 from ymqytw/support_generic_merge_patch
Automatic merge from submit-queue (batch tested with PRs 40864, 40666, 38382, 40874)

apply falls back to generic JSON patch computation if no go struct is registered for the target GVK

This PR is the master version of #40096 which is target 1.4 branch.
This PR is based on #40260 

- [x] ensure subkey deletion works in CreateThreeWayJSONMergePatch
- [x] ensure type stomping works in CreateThreeWayJSONMergePatch
- [x] lots of tests for generic json patch computation
- [x] apply falls back to generic 3-way JSON merge patch if no go struct is registered for the target GVK
  - [x] prevent generic apply patch computation between different apiVersions and/or kinds
  - [x] make pruner generic (apply --prune works with TPR)

```release-note
apply falls back to generic 3-way JSON merge patch if no go struct is registered for the target GVK
```
2017-02-02 21:04:49 -08:00
shashidharatd
b943c9c2dd Add option to disable persistence storage for etcd 2017-02-03 10:11:51 +05:30
Kubernetes Submit Queue
52d31b99dc Merge pull request #40875 from mikedanese/bzl-verify-fix
Automatic merge from submit-queue (batch tested with PRs 40884, 40809, 40845, 40866, 40875)

update repo local config to allow redirects from gopkg.in

closes #39583
2017-02-02 18:53:53 -08:00
Erick Fejta
2fffe48eb1 Convert hack/e2e.go to a test-infra/kubetest shim 2017-02-02 17:42:46 -08:00
Morgan Bauer
21d976868f
print apiserver log location on apiserver error 2017-02-03 01:35:08 +00:00
ymqytw
710d904998 add apply cmd tests for TPR 2017-02-02 15:20:45 -08:00
Kubernetes Submit Queue
9805b0bdfb Merge pull request #40729 from sttts/sttts-client-go-examples
Automatic merge from submit-queue (batch tested with PRs 40812, 39903, 40525, 40729)

Add CI coverage for client-go and staging/copy.sh

Client-go master and `staging/copy.sh` keep breaking, leading to frustration of users outside of the inner refactoring circle. This PR adds minimal smoke testing for both.

**Note**: this enforces the split of PRs which change apimachinery and client-go in parallel (via some local "temporary commit" hacking).

- [x] @caesarxuchao ~~do we have to delete the example directory from the upstream repo?~~ merge https://github.com/kubernetes/test-infra/issues/1765
2017-02-02 13:57:50 -08:00
Kubernetes Submit Queue
8a8f6ca849 Merge pull request #40525 from lucab/to-k8s/node-e2e-local-cri
Automatic merge from submit-queue (batch tested with PRs 40812, 39903, 40525, 40729)

test/node_e2e: wire-in cri-enabled local testing

This commit wires-in the pre-existing `--container-runtime` flag for
local node_e2e testing.
This is needed in order to further skip docker specific testing
and validation.

Local CRI node_e2e can now be performed via
`make test-e2e-node RUNTIME=remote REMOTE=false`
which will also take care of passing the appropriate argument to
the kubelet.
2017-02-02 13:57:48 -08:00
Dr. Stefan Schimanski
946af578fc Update generated files 2017-02-02 20:28:45 +01:00
Dr. Stefan Schimanski
812e52019c client-go: add staging/copy.sh testing 2017-02-02 20:28:33 +01:00
Dr. Stefan Schimanski
880cbd5d7b client-go: enable smoke compile test for examples 2017-02-02 20:28:32 +01:00
Mike Danese
04a7880b61 update repo local config to allow redirects from gopkg.in 2017-02-02 10:20:17 -08:00
Minhan Xia
51526d3103 Add checkpointHandler to DockerService 2017-02-02 10:19:34 -08:00
Piotr Szczesniak
a35ad8f6ba Removed HPA objects from extensions api group 2017-02-02 14:09:54 +01:00
Dr. Stefan Schimanski
ad3dc2584f Update generated files 2017-02-02 06:58:58 +01:00
Luca Bruno
42bdbe5c82
test/node_e2e: wire-in "container-runtime" for local tests
This commit wires-in the pre-existing `--container-runtime` flag for
local node_e2e testing.
This is needed in order to further skip docker specific testing
and validation.

Local CRI node_e2e can now be performed via
`make test-e2e-node RUNTIME=remote REMOTE=false`
which will also take care of passing the appropriate arguments to
the kubelet.
2017-02-01 20:34:51 +00:00
deads2k
9597cb150d move swagger route to apiserver 2017-02-01 15:18:32 -05:00
Kubernetes Submit Queue
96cfe7b938 Merge pull request #36734 from YuPengZTE/devPunctuation
Automatic merge from submit-queue

error strings should not end with punctuation

**What this PR does / why we need it**:
Delete the end punctuation of error strings
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:
https://github.com/golang/go/wiki/CodeReviewComments#error-strings
**Release note**:

```release-note
```

Signed-off-by: yupeng <yu.peng36@zte.com.cn>
2017-02-01 02:55:48 -08:00
Kubernetes Submit Queue
9807cd7d06 Merge pull request #40630 from liggitt/apply-null
Automatic merge from submit-queue (batch tested with PRs 40529, 40630)

propagate explicit nulls in apply

Rebase of https://github.com/kubernetes/kubernetes/pull/35496 on top of https://github.com/kubernetes/kubernetes/pull/40260

The client-side propagation of the raw value is no longer needed, since the client is preserving the original object in unstructured form (explicit nulls are preserved).

Kept tests and CreateThreeWayMergePatch changes from https://github.com/kubernetes/kubernetes/pull/35496

```release-note
kubectl apply now supports explicitly clearing values not present in the config by setting them to null
```

- [x] Clean up orphaned objects in test-cmd to preserve pre- and post- conditions
- [x] improve CreateThreeWayMergePatch test to not filter based on string comparison to test name
2017-02-01 00:16:39 -08:00
deads2k
1ef5d26079 move pkg/storage to apiserver 2017-01-31 19:07:33 -05:00
Kubernetes Submit Queue
e5d647988e Merge pull request #39049 from ixdy/node-e2e-ssh-key
Automatic merge from submit-queue

Add flag to node e2e test specifying location of ssh privkey

**What this PR does / why we need it**: in CI, the ssh private key is not always located at `$HOME/.ssh`, so it's helpful to be able to override it.

@krzyzacy here's my resurrected change. I'm not sure why I neglected to follow-through on it originally.

**Release note**:

```release-note
NONE
```
2017-01-31 13:40:26 -08:00
Jordan Liggitt
cf74abd892
fixup apply null tests 2017-01-31 15:00:23 -05:00
Anastasis Andronidis
4bdcc03c0b
test for explicit null value propagation in apply 2017-01-31 14:22:24 -05:00
Kubernetes Submit Queue
16164c6a54 Merge pull request #40711 from spxtr/owner
Automatic merge from submit-queue

Remove spxtr from several owners files, add rmmh as test reviewer.

**Release note**:
```release-note
NONE
```
2017-01-31 05:03:53 -08:00
Kubernetes Submit Queue
25de8ef641 Merge pull request #40551 from juanvallejo/jvallejo/only-output-no-resources-found-for-human-readable-printer
Automatic merge from submit-queue (batch tested with PRs 40691, 40551, 40683, 40700, 40702)

only output "No resources found." for human readable printers

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

This patch removes the message `No resources found` (currently printed through stderr) when printing through a generic / non-human-readable printer (json, yaml, jsonpath, custom-columns).

**Before***
```
$ kubectl get pods -o json
No resources found.
{
    "apiVersion": "v1",
    "items": [],
    "kind": "List",
    "metadata": {},
    "resourceVersion": "",
    "selfLink": ""
}
```

**After**
```
$ kubectl get pods -o json
{
    "apiVersion": "v1",
    "items": [],
    "kind": "List",
    "metadata": {},
    "resourceVersion": "",
    "selfLink": ""
}
```

cc @fabianofranz @stevekuznetsov
2017-01-30 19:14:41 -08:00
Kubernetes Submit Queue
2975475e35 Merge pull request #40659 from sttts/sttts-print-staging-import-cycles
Automatic merge from submit-queue (batch tested with PRs 40703, 40093, 40618, 40659, 39810)

hack/verify-staging-imports.sh: print actual dependencies

Example:

```shell
$ hack/verify-staging-imports.sh
apiserver has a forbidden dependency:

  k8s.io/apiserver/pkg/admission imports k8s.io/apimachinery/pkg/api/errors
  k8s.io/apiserver/pkg/admission imports k8s.io/apimachinery/pkg/api/meta
  k8s.io/apiserver/pkg/admission imports k8s.io/apimachinery/pkg/runtime
  k8s.io/apiserver/pkg/admission imports k8s.io/apimachinery/pkg/runtime/schema
  k8s.io/apiserver/pkg/admission imports k8s.io/apimachinery/pkg/util/errors
  k8s.io/apiserver/pkg/admission imports k8s.io/apimachinery/pkg/util/sets
```
2017-01-30 17:14:55 -08:00
Joe Finney
3ec286adda Remove spxtr from several owners files, add rmmh as test reviewer. 2017-01-30 13:45:21 -08:00
deads2k
c9a008dff3 move util/intstr to apimachinery 2017-01-30 12:46:59 -05:00
deads2k
c9e650b64d add deads2k to hack owners 2017-01-30 11:29:07 -05:00
Dr. Stefan Schimanski
22e9db0490 hack/verify-staging-imports.sh: print forbidden dependencies 2017-01-30 17:26:19 +01:00
deads2k
2c1c0f3f72 move workqueue to client-go 2017-01-30 09:08:21 -05:00
Kubernetes Submit Queue
2cb17cc677 Merge pull request #40426 from sttts/sttts-more-cutoffs-3
Automatic merge from submit-queue

genericapiserver: cut off more dependencies – episode 3

Compare commit subjects.

This is the first step to get `apiserver_test.go` and `watch_test.go` in `pkg/genericapiserver/endpoints` cutoff from k8s.io/kubernetes dependencies.

After this we have to sync client-go and then "episode 4" can go in.

approved based on #40363
2017-01-30 05:57:49 -08:00
Kubernetes Submit Queue
da60dc20b0 Merge pull request #39832 from david-mcmahon/gendocs
Automatic merge from submit-queue (batch tested with PRs 39832, 40660)

Complete *-munge-docs.sh deprecation.

**What this PR does / why we need it**:\
Complete *-munge-docs.sh deprecation.
TOC generation now handled by https://github.com/kubernetes/release/pull/247

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

**Special notes for your reviewer**:

cc @bgrant0607 @thockin
2017-01-30 01:32:15 -08:00
Kubernetes Submit Queue
2623f7c456 Merge pull request #40549 from jessfraz/40433-reenable-cascading-deployment
Automatic merge from submit-queue

re-enable cascading deployment

I couldn't reproduce #40433 locally sooo trying on the test infra to make sure I'm not crazy
2017-01-29 23:51:27 -08:00
Dr. Stefan Schimanski
44ea6b3f30 Update generated files 2017-01-29 21:41:45 +01:00
Kubernetes Submit Queue
3897fc00db Merge pull request #38926 from luxas/update_cross_go18
Automatic merge from submit-queue

Improve the multiarch situation; armel => armhf; reenable pcc64le; remove the patched golang

**What this PR does / why we need it**: 
 - Improves the multiarch situation as described in #38067 
 - Tries to bump to go1.8 for arm (and later enable ppc64le)
 - GOARM 6 => GOARM 7
 - Remove the golang 1.7 patch
 - armel => armhf
 - Bump QEMU version to v2.7.0

**Release note**:

```release-note
Improve the ARM builds and make hyperkube on ARM working again by upgrading the Go version for ARM to go1.8beta2
```

@kubernetes/sig-testing-misc @jessfraz @ixdy @jbeda @david-mcmahon @pwittrock
2017-01-28 03:51:19 -08:00
Kubernetes Submit Queue
5fc6e2d704 Merge pull request #40602 from deads2k/unit-test-with-go
Automatic merge from submit-queue

run unit tests with go, not just bazel

Follow up to https://github.com/kubernetes/kubernetes/pull/40594, effectively reverts #39105.

I think we should run our unit tests using the official golang infrastructure.  I have no objection to also running them in bazel (or running a subset in bazel), but I don't think that bazel should be the primary unit test method.

@smarterclayton @liggitt @ixdy @spxtr
2017-01-27 14:33:44 -08:00
Lucas Käldström
6789d4e637
Workaround that we have two GOROOTs; we have to set the path for the go executable to EDGE_GOROOT/bin/go when using the edge version 2017-01-27 20:31:17 +02:00
juanvallejo
5ec2a4c3ca only output "No resources found." for human readable printers 2017-01-27 13:30:23 -05:00
Lucas Käldström
04bc44acf9
Remove the patched golang from the kube-cross image and upgrade to go1.8rc1 for arm and ppc64le instead. Reenable the ppc64le builds 2017-01-27 20:03:37 +02:00
Kubernetes Submit Queue
312c44da2e Merge pull request #40542 from deads2k/generic-29-simple
Automatic merge from submit-queue

move packages to apimachinery and apiserver

more no-dep dependencies.

@sttts see commit names

approved based on https://github.com/kubernetes/kubernetes/issues/40363
2017-01-27 09:26:35 -08:00
Kubernetes Submit Queue
d718e40594 Merge pull request #40567 from nikhiljindal/secretDel
Automatic merge from submit-queue

Temporary disable federation kubectl tests for secrets to unblock merge queue

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

cc @kubernetes/sig-federation-misc @deads2k
2017-01-27 08:34:50 -08:00
deads2k
ec6a6f6265 run unit tests with go, not just bazel 2017-01-27 10:00:01 -05:00
Wojciech Tyczynski
abed746172 Merge pull request #40594 from deads2k/restore-testing
Restore unit testing for staging repos
2017-01-27 15:55:35 +01:00
deads2k
9775269fb9 move genericapiserver/server/filters to apiserver 2017-01-27 08:49:30 -05:00
Kubernetes Submit Queue
1625150de8 Merge pull request #40260 from liggitt/kubectl-tpr
Automatic merge from submit-queue (batch tested with PRs 39223, 40260, 40082, 40389)

make kubectl generic commands work with unstructured objects

part of making apply, edit, label, annotate, and patch work with third party resources

fixes #35149
fixes #34413

prereq of:
https://github.com/kubernetes/kubernetes/issues/35496
https://github.com/kubernetes/kubernetes/pull/40096

related to:
https://github.com/kubernetes/kubernetes/issues/39906
https://github.com/kubernetes/kubernetes/issues/40119

kubectl is currently decoding any resource it doesn't have compiled-in to a ThirdPartyResourceData struct, which means it computes patches using that struct, and would try to send a ThirdPartyResourceData object to the API server when running `apply`

This PR removes the behavior that decodes unknown objects into ThirdPartyResourceData structs internally, and fixes up the following generic commands to work with unstructured objects

- [x] apply
  - [x] decode into runtime.Unstructured objects
  - [x] successfully use `--record` with unregistered objects 
- [x] patch
  - [x] decode into runtime.Unstructured objects
  - [x] successfully use `--record` with unregistered objects 
- [x] describe
  - [x] decode into runtime.Unstructured objects
  - [x] implement generic describer
- [x] fix other generic kubectl commands to work with unstructured objects
  - [x] label
  - [x] annotate

follow-ups for pre-existing issues:
- [ ] `explain` doesn't work with unregistered resources
- [ ] remove special casing of federation group in clientset lookups, etc
- [ ] `patch`
  - [ ] doesn't honor output formats when persisting to server (`kubectl patch -f svc.json --type merge -p '{}' -o json` doesn't output json)
  - [ ] --local throws exception (`kubectl patch -f svc.json --type merge -p '{}' --local`)
- [ ] `apply`
  - [ ] fall back to generic JSON patch computation if no go struct is registered for the target GVK (e.g. https://github.com/kubernetes/kubernetes/pull/40096)
  - [ ] ensure subkey deletion works in CreateThreeWayJSONMergePatch
  - [ ] ensure type stomping works in CreateThreeWayJSONMergePatch
  - [ ] lots of tests for generic json patch computation
  - [ ] prevent generic apply patch computation among different versions
  - [ ] reconcile treatment of nulls with https://github.com/kubernetes/kubernetes/pull/35496
- [ ] `edit`
  - [ ] decode into runtime.Unstructured objects
  - [ ] fall back to generic JSON patch computation if no go struct is registered for the target GVK
2017-01-27 05:41:45 -08:00
deads2k
a7c325f7ad restore unit testing for the staging repos 2017-01-27 08:18:19 -05:00
Kubernetes Submit Queue
3f54d093ca Merge pull request #38777 from alejandroEsc/ae/osx_cadvisor
Automatic merge from submit-queue (batch tested with PRs 40126, 40565, 38777, 40564, 40572)

Print warning about kubelet not running on darwin via local-up-cluster.sh

**What this PR does / why we need it**: As of the time of opening this PR, near the release of v.1.5, using `./hack/local-up-cluster.sh` claims to succeed and run kubelet, but logs, processes, and attempts to hit the service demonstrate that kubelet is NOT running. The issue has been found to be the hard requirements of cadvisor forcing kubelet to force exit when it is found to be unsupported as in the case of DARWIN.  

My goal here is to bring the issue to attention to others and also help other devs avoid the issue.

**Release note**:
```NONE```

kubelet.go and kubelet's server.go file has minimal logic that keeps kubelet from breaking just because osx has not cadvisor support.
2017-01-27 01:34:19 -08:00
Jordan Liggitt
17168aaacc
Test generic operations with thirdpartyresources 2017-01-26 19:59:27 -05:00