Commit Graph

23195 Commits

Author SHA1 Message Date
Jack Francis
ac931aa1e0 rate limiting on all azure sdk GET requests 2017-06-06 11:19:29 -07:00
Jack Francis
af5ce2fcc5 test coverage
We want to ensure that backoff and rate limit configuration is opt-in
2017-06-06 09:50:28 -07:00
Slava Semushin
418cf3710c Improve error reporting by including file name in the message. 2017-06-06 17:47:11 +02:00
FengyunPan
1f47323187 Waiting attach operation to be finished rather than returning nil 2017-06-06 22:58:44 +08:00
deads2k
6c391607de handle unversioned objects for encoding for CRs 2017-06-06 10:20:50 -04:00
Kubernetes Submit Queue
0538023e86 Merge pull request #47009 from yujuhong/run-as-non-root
Automatic merge from submit-queue (batch tested with PRs 46775, 47009)

kuberuntime: check the value of RunAsNonRoot when verifying

The verification function is fixed to check the value of RunAsNonRoot,
not just the existence of it. Also adds unit tests to verify the correct
behavior.

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

**Release note**:

```release-note
Fix the bug where container cannot run as root when SecurityContext.RunAsNonRoot is false.
```
2017-06-06 07:17:39 -07:00
Kubernetes Submit Queue
04477ff90c Merge pull request #46775 from sttts/sttts-rename-kube-apiext-server
Automatic merge from submit-queue

Rename {kube- ->}apiextensions-{-> api}server

Completely mechanical renaming, as preparation of the repo sync. This repo is generic, the prefix does not make sense.

Part of issue https://github.com/kubernetes/kubernetes/issues/46702

TODOs
- [ ] Waiting for the submit queue to settle, then rebase.
2017-06-06 06:46:34 -07:00
Yassine TIJANI
2eec2beed8 extending DefaultExternalHost for any registred cloud provider see #46567 2017-06-06 13:40:21 +02:00
Kubernetes Submit Queue
475e479c11 Merge pull request #46968 from mtanino/issue/45394-followup
Automatic merge from submit-queue (batch tested with PRs 46112, 46764, 46727, 46974, 46968)

iscsi storage plugin: bkpPortal should be initialized beforehand

**What this PR does / why we need it**:
This patch is a follow up patch for the PR #46239.
The bkpPortal in DetachDisk() path should be initialized before using it.

**Special notes for your reviewer**:
/cc @rootfs @childsb 

**Release note**:

```
NONE
```
2017-06-06 03:17:48 -07:00
Kubernetes Submit Queue
60e038054b Merge pull request #46727 from janetkuo/kubectl-valid-resources
Automatic merge from submit-queue (batch tested with PRs 46112, 46764, 46727, 46974, 46968)

Add controllerrevisions as valid resource in kubectl help

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

**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**: controllerrevisions is a new resource added in 1.7 @kubernetes/sig-cli-maintainers 

**Release note**:

```release-note
```
2017-06-06 03:17:43 -07:00
Kubernetes Submit Queue
8da89aeb00 Merge pull request #46112 from sttts/sttts-unversioned-to-meta
Automatic merge from submit-queue

apimachinery: move unversioned registration to metav1

Follow-up from the discussions in https://github.com/kubernetes/kubernetes/pull/43027:

We need `Status` as unversioned type which is hardcoded to `GroupVersion{Group: "", Version: "v1"}`. If the core group is not in the scheme, we miss `Status`.

Fixing https://github.com/kubernetes/kubernetes/issues/47030.
2017-06-06 03:13:01 -07:00
Dr. Stefan Schimanski
33e50da9f4 Rename {kube- ->}apiextensions-{-> api}server 2017-06-06 12:06:31 +02:00
zhengjiajin
0d80fb52ba Fix comments 2017-06-06 18:01:23 +08:00
carlory
7831085e13 func parseEndpointWithFallbackProtocol should check if protocol of endpoint is empty. 2017-06-06 17:28:15 +08:00
Kubernetes Submit Queue
f68575f3f5 Merge pull request #46876 from mtaufen/fix-cadvisorport
Automatic merge from submit-queue (batch tested with PRs 46787, 46876, 46621, 46907, 46819)

Fix cAdvisorPort, 0 is a valid option

wrt #11710, this maintains the current default if nobody provides the flag, but allows explicitly passing 0.

/cc @farcaller @vishh @liggitt @antoineco @philips 
/assign @liggitt @vishh 

```release-note
Fixes a bug with cAdvisorPort in the KubeletConfiguration that prevented setting it to 0, which is in fact a valid option, as noted in issue #11710.
```
2017-06-06 02:21:41 -07:00
Kubernetes Submit Queue
cb681321c7 Merge pull request #45686 from jingxu97/May/emptyDir
Automatic merge from submit-queue

Add EmptyDir volume capacity isolation

This PR adds the support for isolating the emptyDir volume use. If user
sets a size limit for emptyDir volume, kubelet's eviction manager monitors its usage
and evict the pod if the usage exceeds the limit.

This feature is part of local storage capacity isolation and described in the proposal kubernetes/community#306

**Release note**:

```release-note
Alpha feature: allows users to set storage limit to isolate EmptyDir volumes. It enforces the limit by evicting pods that exceed their storage limits  
```
2017-06-05 23:08:58 -07:00
Christoph Blecker
1bdc7a29ae Update docs/ URLs to point to proper locations 2017-06-05 22:13:54 -07:00
Jordan Liggitt
3fd4e16eb0 Block on projected volume data fetch failure 2017-06-06 00:34:24 -04:00
Kubernetes Submit Queue
a552ee61a0 Merge pull request #46672 from smarterclayton/initializer_with_config
Automatic merge from submit-queue (batch tested with PRs 46967, 46992, 43338, 46717, 46672)

Select initializers from the dynamic configuration

Continues #36721

kubernetes/features#209
2017-06-05 20:27:50 -07:00
Kubernetes Submit Queue
6b50a5cb39 Merge pull request #43338 from fabianofranz/group_aliases_in_api
Automatic merge from submit-queue (batch tested with PRs 46967, 46992, 43338, 46717, 46672)

Add group alias names to API resources to allow discovery

**What this PR does / why we need it**: 
Adds `GroupNames []string` to API resources, which represents the list of group aliases that every resource belongs to. 

Partially fixes https://github.com/kubernetes/kubernetes/issues/41353

This moves the logic of "all" (which currently [translates](fbc94c0896/pkg/kubectl/cmd/util/shortcut_restmapper.go (L106)) to "pods,replicationcontrollers,services,...") to the server-side. Will allow clients like `kubectl` to discover group aliases instead of having it hardcoded and the API server to better handle consistency across multiple clients, version skew, etc; and will make "all" un-special and allow other groups to be created.

As a follow-up we'll patch `kubectl` to make groups aliases discoverable and the hardcoded list a fallback while we still have to support it.

Related to https://github.com/kubernetes/kubernetes/pull/42595#issuecomment-286839885.

**Release note**:
```release-note
Adds the `Categories []string` field to API resources, which represents the list of group aliases (e.g. "all") that every resource belongs to. 
```
@kubernetes/sig-api-machinery-misc @deads2k @bgrant0607
2017-06-05 20:27:46 -07:00
Yu-Ju Hong
d152e20f41 Address the comments 2017-06-05 19:51:55 -07:00
Clayton Coleman
b1abedbc64 Wrap HumanReadablePrinter in tab output unless explicitly asked not to
Fixes an accidental regression. In general, we should not accept an
incoming tabwriter and instead manage at a higher level. Fix the bug and
add a comment re: future refactoring.
2017-06-05 22:06:38 -04:00
Kubernetes Submit Queue
61cd3fca01 Merge pull request #46683 from atlassian/fix-untructured-owner-references
Automatic merge from submit-queue (batch tested with PRs 44883, 46836, 46765, 46683, 46050)

Fix round-trip of Unstructured.OwnerReferences

**What this PR does / why we need it**:
Previously `setOwnerReference()` was storing pointers but `extractOwnerReference()` is expecting pointer fields as plain values so it cannot read those pointers. And hence you cannot read what you've just stored.

**Which issue this PR fixes**
#46817

**Special notes for your reviewer**:
This is similar to #43346.

**Release note**:
```release-note
NONE
```
2017-06-05 18:43:13 -07:00
Chao Xu
a0a2e95fc5 GC should retry on patch error 2017-06-05 18:28:46 -07:00
Yu-Ju Hong
07a67c252c kuberuntime: check the value of RunAsNonRoot when verifying
The verification function is fixed to check the value of RunAsNonRoot,
not just the existence of it. Also adds unit tests to verify the correct
behavior.
2017-06-05 18:03:32 -07:00
Kubernetes Submit Queue
4faf7f1f4c Merge pull request #46663 from nicksardo/gce-internallb
Automatic merge from submit-queue (batch tested with PRs 46550, 46663, 46816, 46820, 46460)

[GCE] Support internal load balancers

**What this PR does / why we need it**:
Allows users to expose K8s services externally of the K8s cluster but within their GCP network. 

Fixes #33483

**Important User Notes:**
- This is a beta feature. ILB could be enabled differently in the future. 
- Requires nodes having version 1.7.0+ (ILB requires health checking and a health check endpoint on kube-proxy has just been exposed)
- This cannot be used for intra-cluster communication. Do not call the load balancer IP from a K8s node/pod.  
- There is no reservation system for private IPs. You can specify a RFC 1918 address in `loadBalancerIP` field, but it could be lost to another VM or LB if service settings are modified.
- If you're running an ingress, your existing loadbalancer backend service must be using BalancingMode type `RATE` - not `UTILIZATION`. 
  - Option 1: With a 1.5.8+ or 1.6.4+ version master, delete all your ingresses, and re-create them.
  - Option 2: Migrate to a new cluster running 1.7.0. Considering ILB requires nodes with 1.7.0, this isn't a bad idea.
  - Option 3: Possible migration opportunity, but use at your own risk. More to come later.


**Reviewer Notes**:
Several files were renamed, so github thinks ~2k lines have changed. Review commits one-by-one to see the actual changes.

**Release note**:
```release-note
Support creation of GCP Internal Load Balancers from Service objects
```
2017-06-05 16:43:41 -07:00
Fabiano Franz
39e5812848 Update generated 2017-06-05 20:32:30 -03:00
Fabiano Franz
058f9b4f32 Add group alias names to discovery in registry 2017-06-05 20:18:12 -03:00
Clayton Coleman
772ab8e1b4 Load initializers from dynamic config
Handle failure cases on startup gracefully to avoid causing cascading
errors and poor initialization in other components. Initial errors from
config load cause the initializer to pause and hold requests. Return
typed errors to better communicate failures to clients.

Add code to handle two specific cases - admin wants to bypass
initialization defaulting, and mirror pods (which want to bypass
initialization because the kubelet owns their lifecycle).
2017-06-05 19:12:41 -04:00
Jack Francis
3f3aa279b9 configurable backoff
- leveraging Config struct (—cloud-config) to store backoff and rate limit on/off and performance configuration
- added add’l error logging
- enabled backoff for vm GET requests
2017-06-05 16:06:50 -07:00
Guangya Liu
2b311fefba Do not fire InsufficientResourceError when there are intentional reasons. 2017-06-06 06:46:14 +08:00
realfake
7bc205fc59 Implement *ByProviderID methods 2017-06-05 22:56:09 +02:00
realfake
fc748662ef Add splitProviderID for azure 2017-06-05 22:56:09 +02:00
Jing Xu
0b13aee0c0 Add EmptyDir Volume and local storage for container overlay Isolation
This PR adds two features:
1. add support for isolating the emptyDir volume use. If user
sets a size limit for emptyDir volume, kubelet's eviction manager
monitors its usage
and evict the pod if the usage exceeds the limit.
2. add support for isolating the local storage for container overlay. If
the container's overly usage exceeds the limit defined in container
spec, eviction manager will evict the pod.
2017-06-05 12:05:48 -07:00
Ricky Pai
0e5c84e554 validate DNS1123 domains instead of just labels 2017-06-05 11:51:58 -07:00
Ricky Pai
b3b6423016 add test case for foo.bar instead of just foo hostnames for hostAlias validations 2017-06-05 11:51:58 -07:00
Derek Carr
a1d52a7430 pod spec must validate envFrom 2017-06-05 14:15:31 -04:00
Jeff Peeler
08a59530e1 Allow pods to opt out of PodPreset mutation
An annotation in the pod spec of the form:
podpreset.admission.kubernetes.io/exclude: "true"
Will cause the admission controller to skip manipulating the pod spec,
no matter the labelling.

The annotation for a podpreset acting on a pod has also been slightly
modified to contain a podpreset prefix:
podpreset.admission.kubernetes.io/podpreset-{name} = resource version

Fixes #44161
2017-06-05 11:56:30 -04:00
Solly Ross
c8fdeb022f Update generated autoscaling files
This commit updates the generated autoscaling files to be up-to-date
with the HPA status condition changes.
2017-06-05 11:21:31 -04:00
Solly Ross
53dccdbb43 Update kubectl to display HPA status conditions
This commit updates `kubectl describe` to display the new HPA
status conditions.  This should make it easier for users to discern
the current state of the HPA.
2017-06-05 11:21:31 -04:00
Solly Ross
1334b81d20 Make HPA controller set HPA status conditions
This commit causes the HPA controller to set a variety of status
conditions using the new `Status.Conditions` field of
autoscaling/v2alpha1.  These provide insight into the current state
of the HPA, and generally correspond to similar events being emitted.
2017-06-05 11:21:30 -04:00
Slava Semushin
ec12e6cc9d Improve error reporting when flex driver has failed to initialize. 2017-06-05 17:07:33 +02:00
Solly Ross
26ef38fe89 Add HPA status conditions to API types
This commit adds the new API status conditions to the API types.
The field exists as a field in autoscaling/v2alpha1, and is
round-tripped through an annotation in autoscaling/v1.
2017-06-05 10:50:34 -04:00
mtanino
82ce37d973 bkpPortal should be initialized beforehand
This patch is a follow up patch for the PR#46239.
The bkpPortal in DetachDisk() path should be initialized
before using it.
2017-06-05 10:22:57 -04:00
Kubernetes Submit Queue
af64e0b8c9 Merge pull request #46759 from zjj2wry/kubelet
Automatic merge from submit-queue (batch tested with PRs 46734, 46810, 46759, 46259, 46771)

Improve code coverage for pkg/kubelet/images/image_gc_manager

**What this PR does / why we need it**:
#39559 #40780

code coverage from 74.5% to 77.4%

**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-06-05 06:51:25 -07:00
Kubernetes Submit Queue
a72967454d Merge pull request #46734 from mbohlool/aggr
Automatic merge from submit-queue (batch tested with PRs 46734, 46810, 46759, 46259, 46771)

OpenAPI aggregation for kube-aggregator

This PR implements OpenAPI aggregation layer for kube-aggregator. On each API registration, it tries to download swagger.spec of the user api server. On failure it will try again next time (either on another add or get /swagger.* on aggregator server) up to five times. To merge specs, it first remove all unrelated paths from the downloaded spec (anything other than group/version of the API service) and then remove all unused definitions. Adding paths are straightforward as they won't have any conflicts, but definitions will most probably have conflicts. To resolve that, we would reused any definition that is not changed (documentation changes are fine) and rename the definition otherwise.

To use this PR, kube aggregator should have nonResourceURLs (for get verb) to user apiserver.

```release-note
Support OpenAPI spec aggregation for kube-aggregator
```

fixes: #43717
2017-06-05 06:51:20 -07:00
Kubernetes Submit Queue
bdf9dc1620 Merge pull request #46144 from janetkuo/kubectl-rollout-ds
Automatic merge from submit-queue (batch tested with PRs 45871, 46498, 46729, 46144, 46804)

Implement kubectl rollout undo and history for DaemonSet

~Depends on #45924, only the 2nd commit needs review~ (merged)

Ref https://github.com/kubernetes/community/pull/527/

TODOs:
- [x] kubectl rollout history
  - [x] sort controller history, print overview (with revision number and change cause)
  - [x] print detail view (content of a history) 
    - [x] print template 
    - [x] ~(do we need to?) print labels and annotations~
- [x] kubectl rollout undo: 
  - [x] list controller history, figure out which revision to rollback to
    - if toRevision == 0, rollback to the latest revision, otherwise choose the history with matching revision
  - [x] update the ds using the history to rollback to 
    - [x] replace the ds template with history's
    - [x] ~(do we need to?) replace the ds labels and annotations with history's~
- [x] test-cmd.sh 

@kubernetes/sig-apps-pr-reviews @erictune @kow3ns @lukaszo @kargakis @kubernetes/sig-cli-maintainers 

--- 

**Release note**:

```release-note
```
2017-06-05 03:06:26 -07:00
zhangxiaoyu-zidif
3ef73bdb55 Add unittest for PodList 2017-06-05 17:56:53 +08:00
Kubernetes Submit Queue
974606544d Merge pull request #43852 from ailusazh/AddSuccessfulMountVolumeMsgToEvent
Automatic merge from submit-queue

Add SuccessfulMountVolume message to the events of pod

**What this PR does / why we need it:**
When creating a pod with volume, the volume mount may failed at first, but eventually succeed after retry several times. kubectl describe pod can only see the failed messages, so i think it will be better to add the SuccessfulMountVolume message to the pod events too.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
Fixes #42867
2017-06-05 01:46:36 -07:00
zhengjiajin
8c8089478e Fix const nameing in node/metrics 2017-06-05 16:36:09 +08:00