1. 29 Aug, 2017 22 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #51504 from huangjiuyuan/fix-comment · 77734326
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51425, 51404, 51459, 51504, 51488)
      
      fixing package comment of v1
      
      **What this PR does / why we need it**:
      fixing package comment of v1 in `staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go`.
      
      **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**:
      
      `NONE`
      77734326
    • Kubernetes Submit Queue's avatar
      Merge pull request #51459 from sakeven/fix/log · 6f3c97ab
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51425, 51404, 51459, 51504, 51488)
      
      Use glog instaed of fmt.Printf
      Signed-off-by: 's avatarsakeven <jc5930@sina.cn>
      
      
      
      **What this PR does / why we need it**:
      
      The log `fmt.Printf` produces  is inconsistent with `glog`.
      
      **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**:
      
      ```
      NONE
      ```
      6f3c97ab
    • Kubernetes Submit Queue's avatar
      Merge pull request #51404 from feiskyer/nonewprivs · 611036c8
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51425, 51404, 51459, 51504, 51488)
      
      Admit NoNewPrivs for remote and rkt runtimes
      
      **What this PR does / why we need it**:
      
      #51347 is aiming to admit NoNewPrivis for remote container runtime, but it didn't actually solve the problem. See @miaoyq 's comments [here](https://github.com/kubernetes/kubernetes/pull/51347#discussion_r135379446).
      
      This PR always admit NoNewPrivs for runtimes except docker, which should fix the problem.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 
      
      Fixes #51319.
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      611036c8
    • Kubernetes Submit Queue's avatar
      Merge pull request #51425 from NickrenREN/remove-scratch-overlay · a9b60b4a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51425, 51404, 51459, 51504, 51488)
      
      Remove previous local storage resource name 'scratch" and "overlay"
      
      Remove previous local storage resource name 'scratch" and "overlay"
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*:  part of #50818
      
      **Special notes for your reviewer**:
      Now local ephemeral storage resource name is "ResourceEphemeralStorage",  remove previous names as @vishh  suggested in PR #51070
      
      **Release note**:
      ```release-note
      Remove previous local ephemeral storage resource names: "ResourceStorageOverlay" and "ResourceStorageScratch"
      ```
      a9b60b4a
    • Kubernetes Submit Queue's avatar
      Merge pull request #50296 from mengqiy/addApplyTestForReplacekeys · 80ea31fc
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50919, 51410, 50099, 51300, 50296)
      
      Add `retainKeys` to patchStrategy for v1 Volumes and extentions/v1beta1 DeploymentStrategy
      
      Add `retainKeys` to patchStrategy for v1 Volumes and extentions/v1beta1 DeploymentStrategy.
      
      With the new value in `patchStrategy`, the patch will include an optional directive that will tell the apiserver to clear defaulted fields and update. This will resolve issue like https://github.com/kubernetes/kubernetes/issues/34292#issue-181572469 and similar issue caused by defaulting in volume.
      
      The change is [backward compatible](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/add-new-patchStrategy-to-clear-fields-not-present-in-patch.md#version-skew).
      
      The proposal for this new patch strategy is in https://github.com/kubernetes/community/blob/master/contributors/design-proposals/add-new-patchStrategy-to-clear-fields-not-present-in-patch.md
      
      The implementation to support the new patch strategy's logic is in #44597 and has been merged in 1.7.
      
      ```release-note
      Add `retainKeys` to patchStrategy for v1 Volumes and extentions/v1beta1 DeploymentStrategy.
      ```
      
      /assign @apelisse 
      /assign @janetkuo for deployment change
      /assign @saad-ali for volume change
      80ea31fc
    • Kubernetes Submit Queue's avatar
      Merge pull request #51300 from caesarxuchao/remove-failure-policy · 79d0c2d5
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50919, 51410, 50099, 51300, 50296)
      
      Remove failure policy from initializer configuration
      
      A few reasons:
      * Implementing fail open initializers increases complexity a lot
      * We haven't seen strong use cases
      * We can always add it back
      79d0c2d5
    • Kubernetes Submit Queue's avatar
      Merge pull request #50099 from kargakis/clean-d-controller · ecc75215
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50919, 51410, 50099, 51300, 50296)
      
      Remove failure check from deployment controller
      
      @kubernetes/sig-apps-pr-reviews this check is useless w/o automatic rollback so I am removing it.
      ecc75215
    • Kubernetes Submit Queue's avatar
      Merge pull request #51410 from nicksardo/gce-consume-netproj · d25a78a6
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50919, 51410, 50099, 51300, 50296)
      
      GCE: Read networkProjectID param
      
      Fixes #48515 
      
      /assign bowei
      
      The first commit is the original PR cherrypicked. The master's kubelet isn't provided a cloud config path, so the project is retrieved via instance metadata. In the GKE case, this project cannot be retrieved by the master and caused an error.
      
      **Release note**:
      ```release-note
      NONE
      ```
      d25a78a6
    • Kubernetes Submit Queue's avatar
      Merge pull request #50919 from wongma7/mount-options · ae17c1f2
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50919, 51410, 50099, 51300, 50296)
      
      Take mount options to GA by adding PV.spec.mountOptions
      
      **What this PR does / why we need it**: Implements https://github.com/kubernetes/community/pull/771
      
      issue: https://github.com/kubernetes/features/issues/168
      
      **Special notes for your reviewer**:
      
      TODO:
      - ~StorageClass mountOptions~
      
      As described in proposal, this adds PV.spec.mountOptions + mountOptions parameter to every plugin that is both provisionable & supports mount options.
      
      (personally, even having done all the work already, i don't agree w/ the proposal that mountOptions should be SC parameter but... :))
      
      **Release note**:
      
      ```release-note
      Add mount options field to PersistentVolume spec
      ```
      ae17c1f2
    • Kubernetes Submit Queue's avatar
      Merge pull request #51436 from liggitt/initializer-feature · 12d73c31
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51471, 50561, 50435, 51473, 51436)
      
      Feature gate initializers field
      
      The metadata.initializers field should be feature gated and disabled by default while in alpha, especially since enforcement of initializer permission that keeps users from submitting objects with their own initializers specified is done via an admission plugin most clusters do not enable yet.
      
      Not gating the field and tests caused tests added in https://github.com/kubernetes/kubernetes/issues/51429 to fail on clusters that don't enable the admission plugin.
      
      This PR:
      * adds an `Initializers` feature gate, auto-enables the feature gate if the admission plugin is enabled
      * clears the `metadata.initializers` field of objects on create/update if the feature gate is not set
      * marks the e2e tests as feature-dependent (will follow up with PR to test-infra to enable the feature and opt in for GCE e2e tests)
      
      ```release-note
      Use of the alpha initializers feature now requires enabling the `Initializers` feature gate. This feature gate is auto-enabled if the `Initialzers` admission plugin is enabled.
      ```
      12d73c31
    • Kubernetes Submit Queue's avatar
      Merge pull request #51473 from bboreham/cadvisor-consistent-labels · cc557e61
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51471, 50561, 50435, 51473, 51436)
      
      Fix inconsistent Prometheus cAdvisor metrics
      
      **What this PR does / why we need it**:
      
      We need this because otherwise kubelet is exposing different sets of Prometheus metrics that randomly include or do not include containers.
      
      See also https://github.com/google/cadvisor/issues/1704; quoting here:
      
      Prometheus requires that all metrics in the same family have the same labels, so we arrange to supply blank strings for missing labels
      
      The function `containerPrometheusLabels()` conditionally adds various metric labels from container labels - pod name, image, etc. However, when it receives the metrics, Prometheus [checks](https://github.com/prometheus/client_golang/blob/master/prometheus/registry.go#L665) that all metrics in the same family have the same label set, and [rejects](https://github.com/prometheus/client_golang/blob/master/prometheus/registry.go#L497) those that do not.
      
      Since containers are collected in (somewhat) random order, depending on which kind is seen first you get one set of metrics or the other.
      
      Changing the container labels function to always add the same set of labels, adding `""` when it doesn't have a real value, eliminates the issue in my testing.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      
      Fixes #50151
      
      **Special notes for your reviewer**:
      
      I have made the same fix in two places.  I am 98% sure the one in `cadvisor_linux.go` isn't used and indeed cannot be used, but have not gone fully down that rabbit-hole.
      
      **Release note**:
      ```release-note
      Fix inconsistent Prometheus cAdvisor metrics
      ```
      cc557e61
    • Kubernetes Submit Queue's avatar
      Merge pull request #50435 from NickrenREN/localstorage-downwardapi · 9f6c61bb
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51471, 50561, 50435, 51473, 51436)
      
      Add local storage to downwards API
      
      **Release note**:
      ```release-note
      Add local ephemeral storage to downward API 
      ```
      
      
      /assign @NickrenREN
      9f6c61bb
    • Kubernetes Submit Queue's avatar
      Merge pull request #50561 from cblecker/zsh-compinit · b5c5b4a4
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51471, 50561, 50435, 51473, 51436)
      
      Allow zsh completion to be autoloaded by compinit
      
      **What this PR does / why we need it**:
      Allows the kubectl zsh autocompletion to be auto loaded by compinit. Had to move the the boilerplate down into the specific shell functions as the compdef needs to be the first line in the definition file.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #50560
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      kubectl zsh autocompletion will work with compinit
      ```
      b5c5b4a4
    • Kubernetes Submit Queue's avatar
      Merge pull request #51471 from ixdy/gcloud-compute-managed-list · 83bff8df
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51471, 50561, 50435, 51473, 51436)
      
      Fix `gcloud compute instance-groups managed list` call
      
      **What this PR does / why we need it**: gcloud 168.0.0 makes the `gcloud compute instance-groups managed list --format='value(instanceGroup)'` call return a URL instead of just the name, which is causing `list-instances` to fail. Switching to `--format='value(name)'` seems to restore the old behavior.
      
      x-ref #49673 
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      
      /cc @wojtek-t @mwielgus @shyamjvs @jiayingz @mindprince
      83bff8df
    • Kubernetes Submit Queue's avatar
      Merge pull request #50705 from MrHohn/kube-proxy-ds · 04b3ab9a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50932, 49610, 51312, 51415, 50705)
      
      Allow running kube-proxy as a DaemonSet when using kube-up.sh on GCE
      
      **What this PR does / why we need it**:
      From #23225, this PR adds an option for user to run kube-proxy as a DaemonSet instead of static pods using GCE startup scripts. By default, kube-proxy will run as static pods.
      
      This is the first step for moving kube-proxy into a DaemonSet in GCE, remaining tasks will be tracked on #23225.
      
      **Special notes for your reviewer**:
      The last commit are purely for testing out kube-proxy as daemonset via CIs.
      
      cc @kubernetes/sig-network-misc @kubernetes/sig-cluster-lifecycle-misc 
      
      **Release note**:
      
      ```release-note
      When using kube-up.sh on GCE, user could set env `KUBE_PROXY_DAEMONSET=true` to run kube-proxy as a DaemonSet. kube-proxy is run as static pods by default.
      ```
      04b3ab9a
    • Kubernetes Submit Queue's avatar
      Merge pull request #51415 from jpbetz/timeout-param-minimal · 0b0b2a22
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50932, 49610, 51312, 51415, 50705)
      
      Add --request-timeout to kube-apiserver to make global request timeout configurable
      
      **What this PR does / why we need it**:
      
      Make the currently hard coded 60 global request timeout in apiserver configurable via a --request-timeout command line flag.
      
      **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/51355
      
      **Special notes for your reviewer**:
      
      We plan to backport this to 1.6 and 1.7. To ease the backport work, we've kept this change to a minimum. After this PR we will submit an additional PR to rename `--min-request-timeout` to something that more clearly describes it's purpose, such as `--long-running-request-timeout-min`.
      
      **Release note**:
      
      ```release-note
      Add --request-timeout to kube-apiserver to make global request timeout configurable.
      ```
      0b0b2a22
    • Kubernetes Submit Queue's avatar
      Merge pull request #51312 from andrewsykim/50986 · 7c70decd
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50932, 49610, 51312, 51415, 50705)
      
      Deprecation warnings for auto detecting cloud providers
      
      **What this PR does / why we need it**:
      Adds deprecation warnings for auto detecting cloud providers. As part of the initiative for out-of-tree cloud providers, this feature is conflicting since we're shifting the dependency of kubernetes core into cAdvisor. In the future kubelets should be using `--cloud-provider=external` or no cloud provider at all. 
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #50986
      
      **Special notes for your reviewer**:
      NOTE: I still have to coordinate with sig-node and kubernetes-dev to get approval for this deprecation, I'm only opening this PR since we're close to code freeze and it's something presentable.  
      
      **Release note**:
      ```release-note
      Deprecate auto detecting cloud providers in kubelet. Auto detecting cloud providers go against the initiative for out-of-tree cloud providers as we'll now depend on cAdvisor integrations with cloud providers instead of the core repo. In the near future, `--cloud-provider` for kubelet will either be an empty string or `external`. 
      ```
      7c70decd
    • Kubernetes Submit Queue's avatar
      Merge pull request #49610 from NickrenREN/local-isolation · fe365b88
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50932, 49610, 51312, 51415, 50705)
      
      Add local storage support in Quota
      
      Add local storage(scratch, overlay) support in quota
      
      **Release note**:
      ```release-note
      Add local ephemeral storage support to Quota
      ```
      
      /cc @ddysher  @jingxu97
      fe365b88
    • Kubernetes Submit Queue's avatar
      Merge pull request #50932 from yguo0905/stats-cadvisor · c27cdb11
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50932, 49610, 51312, 51415, 50705)
      
      Implement StatsProvider interface using cadvisor
      
      Ref: https://github.com/kubernetes/kubernetes/issues/46984
      
      - This PR changes the `StatsProvider` interface in `pkg/kubelet/server/stats` so that it can provide container stats from either cadvisor or CRI, and the summary API can consume the stats without knowing how they are provided.
      - The `StatsProvider` struct in the newly added package `pkg/kubelet/stats` implements part of the `StatsProvider` interface in `pkg/kubelet/server/stats`.
      - In `pkg/kubelet/stats`,
          - `stats_provider.go`: implements the node level stats and provides the entry point for this package.
          - `cadvisor_stats_provider.go`: implements the container level stats using cadvisor.
          - `cri_stats_provider.go`: implements the container level stats using CRI.
          - `helper.go`: utility functions shared by the above three components.
      - There should be no user visible behaviors change in this PR.
      - A follow up PR will implement the StatsProvider interface using CRI.
      
      **Release note**:
      ```
      None
      ```
      
      /assign @yujuhong 
      /assign @WIZARD-CXY
      c27cdb11
    • huangjiuyuan's avatar
      fixing package comment of v1 · 6e832e2f
      huangjiuyuan authored
      6e832e2f
    • Kubernetes Submit Queue's avatar
      Merge pull request #50717 from cblecker/git-util-func · c071a771
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Fix rsync issue when maintaining data containers
      
      **What this PR does / why we need it**:
      When we stopped syncing the full .git dir into the container and created a dummy git tree, an issue arose if you're maintaining a data dir volume. The git tree created in the container wouldn't be updated if we make more commits and sync them in, and would cause a dirty tree.
      
      This PR changes the rsync flags so that "H" filtered files are hidden from rsync on the source side, and if they exist on the destination side, they will be deleted.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes a bug introduced in #50417
      
      **Special notes for your reviewer**:
      /assign @sttts @dims @ixdy
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      c071a771
    • Pengfei Ni's avatar
      Admit NoNewPrivs for remote and rkt runtimes · fc8736fd
      Pengfei Ni authored
      fc8736fd
  2. 28 Aug, 2017 18 commits