Commit Graph

43711 Commits (a57967f47b82d9f179bde273090572b44c059848)

Author SHA1 Message Date
Kubernetes Submit Queue a57967f47b Merge pull request #41436 from dashpole/status_bug
Automatic merge from submit-queue

Fix bug in status manager TerminatePod

In TerminatePod, we previously pass pod.Status to updateStatusInternal.  This is a bug, since it is the original status that we are given.  Not only does it skip updates made to container statuses, but in some cases it reverted the pod's status to an earlier version, since it was being passed a stale status initially.

This was the case in #40239 and #41095.  As shown in #40239, the pod's status is set to running after it is set to failed, occasionally causing very long delays in pod deletion since we have to wait for this to be corrected.

This PR fixes the bug, adds some helpful debugging statements, and adds a unit test for TerminatePod (which for some reason didnt exist before?).

@kubernetes/sig-node-bugs @vish @Random-Liu
2017-02-14 21:03:31 -08:00
Kubernetes Submit Queue a197fbdf2d Merge pull request #40912 from yu-song/fix_comment
Automatic merge from submit-queue

Fix comment for method SetForTests

cc @dchen1107
2017-02-14 20:13:36 -08:00
Kubernetes Submit Queue 4faa1e4913 Merge pull request #41385 from luxas/extend_token_bootstrap
Automatic merge from submit-queue (batch tested with PRs 41378, 41413, 40743, 41155, 41385)

Expose the constants in pkg/controller/bootstrap and add a validate token function

**What this PR does / why we need it**: In order to hook up #36101 against kubeadm, we have to expose the constants and add a function to validate the token

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
cc @jbeda @mikedanese @pires @dmmcquay
2017-02-14 19:54:15 -08:00
Kubernetes Submit Queue ef042450fd Merge pull request #41155 from liggitt/reconcile
Automatic merge from submit-queue (batch tested with PRs 41378, 41413, 40743, 41155, 41385)

Reconcile bootstrap clusterroles on server start

Currently, on server start, bootstrap roles and bindings are only created if there are no existing roles or rolebindings.

Instead, we should look at each bootstrap role and rolebinding, and ensure it exists and has required permissions and subjects at server start. This allows seamless upgrades to new versions that define roles for new controllers, or add permissions to existing roles.

```release-note
Default RBAC ClusterRole and ClusterRoleBinding objects are automatically updated at server start to add missing permissions and subjects (extra permissions and subjects are left in place). To prevent autoupdating a particular role or rolebinding, annotate it with `rbac.authorization.kubernetes.io/autoupdate=false`.
```
2017-02-14 19:54:14 -08:00
Kubernetes Submit Queue be9b58e95f Merge pull request #40743 from jayunit100/schedulercore
Automatic merge from submit-queue (batch tested with PRs 41378, 41413, 40743, 41155, 41385)

'core' package to prevent dependency creep and isolate core functiona…

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

Solves these two problems: 

- Top level Scheduler root directory has several files in it that are needed really by the factory and algorithm implementations.  Thus they should be subpackages of scheduler.
- In addition scheduler.go and generic_scheduler.go don't naturally differentiate themselves when they are in the same package.  scheduler.go is eseentially the daemon entry point and so it should be isolated from the core 

*No release note needed*
2017-02-14 19:54:13 -08: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
Kubernetes Submit Queue c485e76fe0 Merge pull request #41378 from yujuhong/enable_cri
Automatic merge from submit-queue

Make EnableCRI default to true

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. If both flags are specified,
the --enable-cri flag overrides the --experimental-cri flag.
2017-02-14 19:22:36 -08:00
Kubernetes Submit Queue cf10f532d1 Merge pull request #41304 from liggitt/edit-refactor
Automatic merge from submit-queue

Make kubectl edit work with unstructured objects

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


1. First (before any other changes), added several test cases for complex edit scenarios:
   - [x] ensure the edit loop bails out if given the same result that already caused errors
   - [x] ensure an edited file with a syntax error is reopened preserving the input
   - [x] ensure objects with existing "caused-by" annotations get updated with the current command

2. Refactored the edit code to prep for switching to unstructured:
   - [x] made editFn operate on a slice of resource.Info objects passed as an arg, regardless of edit mode
   - [x] simplified short-circuiting logic when re-editing a file containing an error
   - [x] refactored how we build the various visitors (namespace enforcement, annotation application, patching, creating) so we could easily switch to just using a single visitor over a set of resource infos read from the updated input for all of them

3. Switched to using a resource builder to parse the stream of the user's edited output
   - [x] improve the error message you get on syntax errors
   - [x] preserve the user's input more faithfully (see how the captured testcase requests to the server changed to reflect exactly what the user edited)
   - [x] stopped doing client-side conversion (means deprecating `--output-version`)

4. Switched edit to work with generic objects
   - [x] use unstructured objects
   - [x] fall back to generic json merge patch for unrecognized group/version/kinds

5. Added new test cases
   - [x] schemaless objects falls back to generic json merge (covers TPR scenario)
   - [x] edit unknown version of known kind (version "v0" of storageclass) falls back to generic json merge

```release-note
`kubectl edit` now edits objects exactly as they were retrieved from the API. This allows using `kubectl edit` with third-party resources and extension API servers. Because client-side conversion is no longer done, the `--output-version` option is deprecated for `kubectl edit`. To edit using a particular API version, fully-qualify the resource, version, and group used to fetch the object (for example, `job.v1.batch/myjob`)
```
2017-02-14 18:34:30 -08:00
Kubernetes Submit Queue 4ac7fd9d19 Merge pull request #40934 from dashpole/density_test_cadvisor
Automatic merge from submit-queue

delete cadvisor pod after test

tracing looks at events for pod deletion and volume teardown.  SInce the cadvisor pod has more than 1 volume, this can make results harder to analyze.
This PR moves the deletion of the cadvisor pod to after the logPodCreateThroughput call, since that marks the "end" of the test.

cc: @dchen1107 @Random-Liu
2017-02-14 17:40:32 -08:00
Anthony Yeh 627ee4e478 Update CHANGELOG.md for v1.6.0-alpha.2. 2017-02-14 17:38:57 -08:00
Kubernetes Submit Queue 99ee9b4b45 Merge pull request #41424 from apprenda/kubeadm_add_dmmcquay_reviewer
Automatic merge from submit-queue

kubeadm: add dmmcquay as a reviewer

**What this PR does / why we need it**: add dmmcquay (myself) as a reviewer to kubeadm. 

**Special notes for your reviewer**: /cc @luxas 

**Release note**:
```release-note
NONE
```
2017-02-14 16:41:55 -08:00
Kubernetes Submit Queue fe4a254a70 Merge pull request #41176 from tanshanshan/fix-little2
Automatic merge from submit-queue

fix comment 

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

fix comment 

Thanks.

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-02-14 16:41:45 -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
Kubernetes Submit Queue 44f345f8ca Merge pull request #41412 from a-robinson/test
Automatic merge from submit-queue (batch tested with PRs 41216, 41362, 41275, 41277, 41412)

Fix statefulset e2e test

...by removing the liveness/readiness probes from the cockroachdb
manifests, as explained in
https://github.com/kubernetes/test-infra/issues/1740#issuecomment-279555187

@kow3ns @spxtr
2017-02-14 15:30:20 -08:00
Kubernetes Submit Queue d8242f03d7 Merge pull request #41277 from apprenda/kubeadm_join_test-cmds
Automatic merge from submit-queue (batch tested with PRs 41216, 41362, 41275, 41277, 41412)

kubeadm: test-cmd: join{config, discovery}

**What this PR does / why we need it**: Adding test-cmds for kubeadm join {config, discovery}. Will followup with more test-cmds for other flags as soon as validation for the flags works. 

Adding tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
2017-02-14 15:30:19 -08:00
Kubernetes Submit Queue 528868f105 Merge pull request #41275 from apprenda/kubeadm_init_test-cmds
Automatic merge from submit-queue (batch tested with PRs 41216, 41362, 41275, 41277, 41412)

kubeadm: test-cmd: init{config, version, api-port}

**What this PR does / why we need it**: Adding test-cmds for kubeadm init {config, version, api-port}. Will followup with more test-cmds for other flags as soon as validation for the flags works. 

Adding tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
2017-02-14 15:30:17 -08:00
Kubernetes Submit Queue 78378f00eb Merge pull request #41362 from apprenda/kubeadm_discovery_tests
Automatic merge from submit-queue (batch tested with PRs 41216, 41362, 41275, 41277, 41412)

kubeadm: added unit tests for discovery pkg

**What this PR does / why we need it**: added tests to discovery pkg and raised coverage from ~25% to ~71%.  

Adding unit tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
2017-02-14 15:30:15 -08:00
Kubernetes Submit Queue af1d04f1f2 Merge pull request #41216 from marun/kubefed-auto-bind-flags
Automatic merge from submit-queue

[Federation][kubefed]: Bind flag values automatically

Update ``kubefed`` to take advantage of cobra's ability to declare variable bindings at the same time as declaring flags, so that flag values are bound automatically.

Targets #41209 

cc: @kubernetes/sig-federation-pr-reviews @irfanurrehman @madhusudancs
2017-02-14 15:29:58 -08:00
Kubernetes Submit Queue da8f68e013 Merge pull request #41344 from apprenda/kubeadm_token_test-cmds
Automatic merge from submit-queue

kubeadm: test-cmd: token{delete}

**What this PR does / why we need it**: Adding test-cmds for kubeadm ex token delete. Will followup with more test-cmds for other flags as soon as validation for the flags works. 

Adding tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
2017-02-14 14:08:32 -08:00
David Ashpole c612e09acd use the status we modify, not original 2017-02-14 13:36:20 -08:00
Kubernetes Submit Queue 7332baf9a3 Merge pull request #39636 from liggitt/proxy-subresource
Automatic merge from submit-queue (batch tested with PRs 41382, 41407, 41409, 41296, 39636)

Update to use proxy subresource consistently

Proxy subresources have been in place since 1.2.0 and improve the ability to put policy in place around proxy access.

This PR updates the last few clients to use proxy subresources rather than the root proxy
2017-02-14 13:04:33 -08:00
Kubernetes Submit Queue 71265b0684 Merge pull request #41296 from skriss/configmap-upgrade-test
Automatic merge from submit-queue (batch tested with PRs 41382, 41407, 41409, 41296, 39636)

implement configmap upgrade test

**What this PR does / why we need it**: Add an automated ConfigMap upgrade test to the e2e upgrade test suite. The test creates a ConfigMap and verifies it can be consumed by pods before/after upgrade. See PR #39953 and #40747 for context.

**Special notes for your reviewer**:
@krousey please review for consistency with new upgrade test interface. I copied heavily from secrets test for this. I will implement similar tests for DaemonSets and Jobs next. Note that I have not run this test locally.

**Release note**:
`NONE`
2017-02-14 13:04:26 -08:00
Kubernetes Submit Queue e63cab78ca Merge pull request #41409 from luxas/kubeadm_bump_dns
Automatic merge from submit-queue (batch tested with PRs 41382, 41407, 41409, 41296, 39636)

Update the DNS spec from upstream

**What this PR does / why we need it**:
Updates kubeadm to use the latest DNS spec.

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

@bowei @MrHohn @thockin  In the future, kubedns changes should be applied to this kubeadm file as well

**Release note**:

```release-note
NONE
```

@pires @errordeveloper @dmmcquay @mikedanese
2017-02-14 13:04:23 -08:00
Kubernetes Submit Queue a48284862c Merge pull request #41407 from Crassirostris/fluentd-gcp-sysmted-fix
Automatic merge from submit-queue (batch tested with PRs 41382, 41407, 41409, 41296, 39636)

Fix copying systemd libraries upon fluentd-gcp startup

Fix https://github.com/kubernetes/kubernetes/issues/40936
Revert https://github.com/kubernetes/kubernetes/pull/40017
2017-02-14 13:04:21 -08:00
Kubernetes Submit Queue a97513c1af Merge pull request #41382 from yujuhong/restart_created
Automatic merge from submit-queue

kubelet: handle containers in the "created" state
2017-02-14 12:00:27 -08:00
deads2k ab0a57760e remove kube-aggregator from bazel until we can build it 2017-02-14 14:57:52 -05:00
Jordan Liggitt ec271f5c09
Switch 'kubectl edit' to use unstructured objects, handle schemaless objects
mark --output-version as deprecated, add example for fully-qualifying version to edit

Add 'kubectl edit' testcase for editing schemaed and schemaless data together

Add 'kubectl edit' testcase for editing unknown version of known group/kind
2017-02-14 14:55:02 -05:00
Jordan Liggitt 5b805bc18a
Simplify 'kubectl edit' logic
edit: make editFn operate on arguments regardless of mode

edit: simplify short-circuiting logic when re-editing a file containing an error

edit: factor out visitor building

edit: use resource builder to get results from edited file
2017-02-14 14:51:06 -05:00
Jordan Liggitt f86db18297
Add advanced 'kubectl edit' test scenarios
Add 'kubectl edit' testcase for saving a repeated error

Add 'kubectl edit' testcase for preserving an edited file with a syntax error

Add 'kubectl edit' testcase for recording command on list of objects
2017-02-14 14:50:45 -05:00
Kubernetes Submit Queue 3604cdc6a9 Merge pull request #41418 from deads2k/api-02-conversions
Automatic merge from submit-queue (batch tested with PRs 41299, 41325, 41386, 41329, 41418)

move metav1 conversions to metav1

Conversions for `metav1` types belong in metav1 and should be registered when you register the types.

@mikedanese @luxas I think this is what you just hit in your fresh scheme.

@smarterclayton @lavalamp double check the sanity, but I think this does what people expect.
2017-02-14 11:42:40 -08:00
Kubernetes Submit Queue f26890b801 Merge pull request #41329 from deads2k/cli-02-negotiation
Automatic merge from submit-queue (batch tested with PRs 41299, 41325, 41386, 41329, 41418)

stop senseless negotiation

Most client commands don't respect a negotiated version at all.  If you request a particular version, then of course it should be respected, but if you have none to request, then the current negotiation step doesn't return anything useful so we may as well have nothing so we can at least detect the situation.

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

Added a TODO to make the negotiate function useful.  I think I'm inclined to remove it entirely unless someone can come up with a useful reason to have it.
2017-02-14 11:42:38 -08:00
Kubernetes Submit Queue 52aaafb9f8 Merge pull request #41386 from shashidharatd/federation-service-e2e-2
Automatic merge from submit-queue (batch tested with PRs 41299, 41325, 41386, 41329, 41418)

Fix resource leak in federation e2e tests and another issue

**What this PR does / why we need it**:
The cleanup after federation service e2e tests is not effective as this function cleanupServiceShardsAndProviderResources is getting called with empty string for namespace ("nsName") because the nsName variable is getting redefined.

Another issue is we are prematurely exiting the Poll in waitForServiceOrFail and the error check is incorrect.

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

**Special notes for your reviewer**:

**Release note**:
`NONE`

cc @madhusudancs @kubernetes/sig-federation-bugs
2017-02-14 11:42:37 -08:00
Kubernetes Submit Queue 90e1977a1c Merge pull request #41325 from wojtek-t/fix_etcd_migrate
Automatic merge from submit-queue (batch tested with PRs 41299, 41325, 41386, 41329, 41418)

Migrate etcd data using correct etcd version in case of previous crash

Fix #41324
Fix #41323

@mml
2017-02-14 11:42:35 -08:00
Kubernetes Submit Queue c167a37e4e Merge pull request #41299 from shiywang/fix_typo
Automatic merge from submit-queue (batch tested with PRs 41299, 41325, 41386, 41329, 41418)

fix typo
2017-02-14 11:42:21 -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
Lucas Käldström 4940c32c39
Expose the constants in pkg/controller/bootstrap and add a validate token method 2017-02-14 20:29:23 +02:00
Derek McQuay d8653bcfd0
kubeadm: add dmmcquay as a reviewer 2017-02-14 10:16:04 -08:00
Jordan Liggitt 26b42d350d
Reconcile bootstrap clusterroles on server start 2017-02-14 12:33:05 -05:00
Kubernetes Submit Queue 436fa5c9d1 Merge pull request #41408 from fabiand/addonManagerReadme
Automatic merge from submit-queue

addonManager: Add note about labeling

The cluster manager is only picking up addons if they are labeled correctly.

This PR is about updating the readme to reflect this.
2017-02-14 09:11:33 -08:00
Kubernetes Submit Queue b816410b1e Merge pull request #41350 from apprenda/kubeadm_util_tests
Automatic merge from submit-queue (batch tested with PRs 41337, 41375, 41363, 41034, 41350)

kubeadm: adding tests for util/tokens.go

**What this PR does / why we need it**: added tests to util pkg and raised coverage from ~48% to ~67%.  Will get better coverage once migration to client-go is complete.  Included a fix for a logic error in tokens.go found through writing tests

Adding unit tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
2017-02-14 09:11:26 -08:00
Kubernetes Submit Queue 16a0a0b975 Merge pull request #41034 from rootfs/gce-instance
Automatic merge from submit-queue (batch tested with PRs 41337, 41375, 41363, 41034, 41350)

use instance's Name to attach gce disk

**What this PR does / why we need it**:
fix #40427
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #40427

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-02-14 09:11:25 -08:00
Kubernetes Submit Queue bc29bb02e5 Merge pull request #41403 from deads2k/agg-12-all
Automatic merge from submit-queue

Remove all aggregator dependencies on k8s.io/kubernetes

This removes the last links to k8s.io/kubernetes for the aggregator.

@sttts last commit.
2017-02-14 09:11:21 -08:00
Kubernetes Submit Queue f85fc7da81 Merge pull request #41363 from jingxu97/Feb/syncVolumePeriod
Automatic merge from submit-queue

Change default attach_detach_controller reconciler sync period to 1 minute

When default reconciler sync period is set to 5 second, we often see
rateLimit issue for a large cluster. This PR is changing the period to 1
minute to mitigate this problem.

Make this period longer means that there might be some period of time
that the cached information in master's attach_detach_controller is out
of date. The node might use this information to mount to the wrong
device. For GCE PD, since device path is uniquely associated with volume
id, so mount operation will just fail because of this outdated
information. For AWS, before kubelet might mount to the wrong volume
because device path could be reused immediately once it is available.
But after PR #38818, device path will only be reused after all device
paths have been explored. That means it is very unlikely that kubelet will
mount to a wrong volume that is using the old device path that had been
assigned to the same node.

**Release note**:

```release-note
We change the default attach_detach_controller sync period to 1 minute to reduce the query frequency through cloud provider to check whether volumes are attached or not. 
```
2017-02-14 09:11:08 -08:00
deads2k db0b0bd0f5 move metav1 conversions to metav1 2017-02-14 11:47:23 -05:00
Maru Newby b4aa26704d kubefed: Bind flag values automatically 2017-02-14 08:05:07 -08:00
Yu-Ju Hong 9fa1ad29fd kubelet: handle containers in the "created" state 2017-02-14 07:51:35 -08:00
Alex Robinson 429e070b01 Fix statefulset e2e test
...by removing the liveness/readiness probes from the cockroachdb
manifests, as explained in
github.com/kubernetes/test-infra/issues/1740#issuecomment-279555187
2017-02-14 10:16:32 -05:00
Kubernetes Submit Queue bad0c2926e Merge pull request #41375 from linyouchong/linyouchong-20170214
Automatic merge from submit-queue

fix spelling error of type store struct, in store.go

**What this PR does / why we need it**:
in the definition of type Store struct,the description of  KeyFunc has spelling errors 

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

**Special notes for your reviewer**:
NONE
**Release note**:
NONE
2017-02-14 06:54:04 -08:00
Kubernetes Submit Queue 02383f36f3 Merge pull request #41337 from deads2k/agg-08-snip-cmd-util
Automatic merge from submit-queue

Snip the kube-aggregator cmdutil link

`cmdutil` is largely focused on client commands. This snips the link by using built-in cobra capabilities and helps the import tree a lot.
2017-02-14 06:53:55 -08:00