1. 06 Jun, 2017 2 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #42829 from msau42/multizone_pv_tests · 1c64f31f
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46972, 42829, 46799, 46802, 46844)
      
      Multizone static pv test
      
      **What this PR does / why we need it**:
      Adds an e2e test for checking that pods get scheduled to the same zone as statically created PVs.  This tests the PersistentVolumeLabel admission controller, which adds zone and region labels when PVs are created.  As part of this, I also had to make changes to volume test utility code to pass in a zone parameter for creating PDs, and also had to add an argument to the e2e test program to accept a list of zones.
      
      Fixes #46995
      
      **Special notes for your reviewer**:
      It's probably easier to review each commit separately.
      
      **Release note**:
      
      NONE
      1c64f31f
    • Kubernetes Submit Queue's avatar
      Merge pull request #46972 from liggitt/node-pod-delete-cache-miss · c8c4fff8
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Check live pod on cache miss before forbidding node deletion
      
      Fixes #46971 flake
      c8c4fff8
  2. 05 Jun, 2017 34 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #46460 from sakshamsharma/location_transformer · f893cddf
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46550, 46663, 46816, 46820, 46460)
      
      Add configuration for encryption providers
      
      ## Additions
      
      Allows providing a configuration file (using flag `--experimental-encryption-provider-config`) to use the existing AEAD transformer (with multiple keys) by composing mutable transformer, prefix transformer (for parsing providerId), another prefix transformer (for parsing keyId), and AES-GCM transformers (one for each key). Multiple providers can be configured using the configuration file.
      
      Example configuration:
      ```
      kind: EncryptionConfig
      apiVersion: v1
      resources:
        - resources:
          - namespaces
          providers:
          - aes:
              keys:
              - name: key1
                secret: c2vjcmv0iglzihnly3vyzq==
              - name: key2
                secret: dghpcybpcybwyxnzd29yza==
          - identity: {}
      ```
      
      Need for configuration discussed in:
      #41939
      [Encryption](https://github.com/destijl/community/blob/3418b4e4c6358f5dc747a37b90a97bc792f159ee/contributors/design-proposals/encryption.md)
      
      **Pathway of a read/write request**:
      1. MutableTransformer
      2. PrefixTransformer reads the provider-id, and passes the request further if that matches.
      3. PrefixTransformer reads the key-id, and passes the request further if that matches.
      4. GCMTransformer tries decrypting and authenticating the cipher text in case of reads. Similarly for writes.
      
      ## Caveats
      1. To keep the command line parameter parsing independent of the individual transformer's configuration, we need to convert the configuration to an `interface{}` and manually parse it in the transformer. Suggestions on better ways to do this are welcome.
      
      2. Flags `--encryption-provider` and `--encrypt-resource` (both mentioned in [this document](https://github.com/destijl/community/blob/3418b4e4c6358f5dc747a37b90a97bc792f159ee/contributors/design-proposals/encryption.md) ) are not supported in this because they do not allow more than one provider, and the current format for the configuration file possibly supersedes their functionality.
      
      3. Currently, it can be tested by adding `--experimental-encryption-provider-config=config.yml` to `hack/local-up-cluster.sh` on line 511, and placing the above configuration in `config.yml` in the root project directory.
      
      Previous discussion on these changes:
      https://github.com/sakshamsharma/kubernetes/pull/1
      
      @jcbsmpsn @destijl @smarterclayton
      
      ## TODO
      1. Investigate if we need to store keys on disk (per [encryption.md](https://github.com/destijl/community/blob/3418b4e4c6358f5dc747a37b90a97bc792f159ee/contributors/design-proposals/encryption.md#option-1-simple-list-of-keys-on-disk))
      2. Look at [alpha flag conventions](https://github.com/kubernetes/kubernetes/blob/master/pkg/features/kube_features.go)
      3. Need to reserve `k8s:enc` prefix formally for encrypted data. Else find a better way to detect transformed data.
      f893cddf
    • Kubernetes Submit Queue's avatar
      Merge pull request #46820 from ixdy/bazel-kubeproxy-debian-iptables · 7fb75873
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46550, 46663, 46816, 46820, 46460)
      
      bazel: base kube-proxy image on debian-iptables instead of busybox + iptables
      
      **What this PR does / why we need it**: the bazel-built kube-proxy image currently uses a custom base image made up of scratch + busybox + iptables + a few dependencies, while the official kube-proxy image is based off of the debian-iptables image.
      
      This difference seems to cause some weird issues such as #46103, since the container layout doesn't look the same.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #46103, probably?
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      
      /assign @mikedanese @spxtr @pipejakob 
      /cc @Q-Lee @thockin @cblecker
      7fb75873
    • Kubernetes Submit Queue's avatar
      Merge pull request #46816 from dashpole/update_godep · 39d548f4
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46550, 46663, 46816, 46820, 46460)
      
      Update cAdvisor version to v0.26.0
      
      issue: #46658
      
      I have requested a 1 day exception for code freeze.
      
      /assign @dchen1107 
      
      ```release-note
      Fix disk partition discovery for brtfs
      Add ZFS support
      Add overlay2 storage driver support
      ```
      39d548f4
    • Kubernetes Submit Queue's avatar
      Merge pull request #46663 from nicksardo/gce-internallb · 4faf7f1f
      Kubernetes Submit Queue authored
      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
      ```
      4faf7f1f
    • Kubernetes Submit Queue's avatar
      Merge pull request #46550 from DirectXMan12/feature/hpa-status-conditions · 7bbc615b
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      HPA Status Conditions
      
      This PR introduces conditions to the status of the HorizontalPodAutoscaler (in autoscaling/v2alpha1).  
      The conditions whether or not the autoscaler is actively scaling, and why.  This gives greater visibility
      into the *current* status of the autoscaler, similarly to how conditions work for pods, nodes, etc.
      
      `kubectl describe` has been updated to the display the conditions affecting a given HPA.
      
      Implements kubernetes/features#264 (alpha in 1.7)
      
      **Release note**:
      ```release-note
      Introduces status conditions to the HorizontalPodAutoscaler in autoscaling/v2alpha1, indicating the current status of a given HorizontalPodAutoscaler, and why it is or is not scaling.
      ```
      7bbc615b
    • Anirudh Ramanathan's avatar
      Merge pull request #46985 from deads2k/controller-09-agg-health · cc294cfb
      Anirudh Ramanathan authored
      make the health check wait for ready apiservices
      cc294cfb
    • deads2k's avatar
      make the health check wait for ready apiservices · 0ad98c29
      deads2k authored
      0ad98c29
    • Jordan Liggitt's avatar
    • Solly Ross's avatar
      Update generated autoscaling files · c8fdeb02
      Solly Ross authored
      This commit updates the generated autoscaling files to be up-to-date
      with the HPA status condition changes.
      c8fdeb02
    • Solly Ross's avatar
      Update kubectl to display HPA status conditions · 53dccdbb
      Solly Ross authored
      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.
      53dccdbb
    • Solly Ross's avatar
      Make HPA controller set HPA status conditions · 1334b81d
      Solly Ross authored
      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.
      1334b81d
    • Solly Ross's avatar
      Add HPA status conditions to API types · 26ef38fe
      Solly Ross authored
      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.
      26ef38fe
    • Kubernetes Submit Queue's avatar
      Merge pull request #46771 from n-marton/46770-permission-for-volume-binder · 0cff8393
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46734, 46810, 46759, 46259, 46771)
      
      Added node to persistent-volume-binder clusterrole
      
      **What this PR does / why we need it**: Added missing permission to volume-binder clusterrole
      
      **Which issue this PR fixes**: fixes #46770
      
      **Special notes for your reviewer**: Non
      
      **Release note**: Non
      0cff8393
    • Kubernetes Submit Queue's avatar
      Merge pull request #46259 from Q-Lee/kube-proxy · 0cfef01a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46734, 46810, 46759, 46259, 46771)
      
      Add iptables lock-file mount to kube-proxy manifest
      
      **What this PR does / why we need it**: kube-proxy is broken in make bazel-release. The new iptables binary uses a lockfile in "/run", but the directory doesn't exist. This causes iptables-restore to fail. We need to share the same lock-file amongst all containers, so mount the host /run dir.
      
      This is similar to #46132 but expediency matters, since builds are broken.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #46103
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      ```
      0cfef01a
    • Kubernetes Submit Queue's avatar
      Merge pull request #46759 from zjj2wry/kubelet · af64e0b8
      Kubernetes Submit Queue authored
      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
      ```
      af64e0b8
    • Kubernetes Submit Queue's avatar
      Merge pull request #46810 from vishh/gpu-cos-image-validation · 6fef1a1d
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46734, 46810, 46759, 46259, 46771)
      
      Update the COS kernel sha for node e2e gpu installer
      
      cc @mindprince
      
      Relevant COS image - https://github.com/kubernetes/kubernetes/blob/master/test/e2e_node/jenkins/image-config-serial.yaml#L19
      6fef1a1d
    • Kubernetes Submit Queue's avatar
      Merge pull request #46734 from mbohlool/aggr · a7296745
      Kubernetes Submit Queue authored
      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
      a7296745
    • Kubernetes Submit Queue's avatar
      Merge pull request #46804 from verult/gce-pdflake · d3146080
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 45871, 46498, 46729, 46144, 46804)
      
      PD e2e test: Ready node check now uses the most up-to-date node count.
      
      Follow-up to PR #46746 
      
      <!--  Steps to write your release note:
      1. Use the release-note-* labels to set the release note state (if you have access)
      2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`.
      d3146080
    • Kubernetes Submit Queue's avatar
      Merge pull request #46144 from janetkuo/kubectl-rollout-ds · bdf9dc16
      Kubernetes Submit Queue authored
      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
      ```
      bdf9dc16
    • Kubernetes Submit Queue's avatar
      Merge pull request #46729 from shyamjvs/kubemark-admission-plugin · 2fcadae1
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 45871, 46498, 46729, 46144, 46804)
      
      Enable some pod-related admission plugins for kubemark
      
      Ref https://github.com/kubernetes/kubernetes/issues/44701
      
      This should help reduce discrepancy in "list pods" latency wrt real cluster. Let's see.
      
      /cc @wojtek-t @gmarek
      2fcadae1
    • Kubernetes Submit Queue's avatar
      Merge pull request #46498 from zjj2wry/adherence · 62365227
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 45871, 46498, 46729, 46144, 46804)
      
      Fix some comments in dnsprovider
      
      **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**:
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      62365227
    • Kubernetes Submit Queue's avatar
      Merge pull request #45871 from YuPengZTE/devTestAddKnownTypesIdemPotent · 04acd91a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      delete the useless "gv" in Errorf
      Signed-off-by: 's avataryupengzte <yu.peng36@zte.com.cn>
      
      
      
      **What this PR does / why we need it**:
      Fix "no formatting directive in Errorf call"
      **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
      ```
      04acd91a
    • Kubernetes Submit Queue's avatar
      Merge pull request #44255 from zlabjp/bump-mapstructure · 45b7f5a4
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 43852, 44255)
      
      Bump github.com/mitchellh/mapstructure
      
      **What this PR does / why we need it**:
      
      This PR bump revision of github.com/mitchellh/mapstructure.
      The library is required by Gophercloud, also they has passed tests with the newer revision.
      So, since Gophercloud is update, please also renew this library.
      
      **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
      ```
      45b7f5a4
    • Kubernetes Submit Queue's avatar
      Merge pull request #43852 from ailusazh/AddSuccessfulMountVolumeMsgToEvent · 97460654
      Kubernetes Submit Queue authored
      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
      97460654
    • Phillip Wittrock's avatar
      Merge pull request #46943 from madhusudancs/fed-ns-delete-all-clusters · 2510dc0d
      Phillip Wittrock authored
      Delete federation system namespace from all the federated clusters.
      2510dc0d
    • mbohlool's avatar
      Update proto · 63e3e84e
      mbohlool authored
      63e3e84e
    • mbohlool's avatar
      Update Bazel · c2f2a33d
      mbohlool authored
      c2f2a33d
    • mbohlool's avatar
      Update OpenAPI spec · af445855
      mbohlool authored
      af445855
    • mbohlool's avatar
      Aggregate OpenAPI specs · 1a1d9a03
      mbohlool authored
      1a1d9a03
    • mbohlool's avatar
      fccff9ad
    • mbohlool's avatar
      0a886ffa
    • mbohlool's avatar
    • Madhusudan.C.S's avatar
      Delete cluster role and their bindings federated clusters. · c3d51133
      Madhusudan.C.S authored
      This is part of the namespace deletion big hammer. `kubefed join` not
      just creates federation-system namespace, but also cluster role and
      cluster role bindings in the joining clusters. Sometimes unjoin fails
      to delete them. So we use a big hammer here to delete them.
      
      This smells like a real problem in kubefed and needs investigation.
      This is a short term fix to unblock the submit queue.
      c3d51133
    • Madhusudan.C.S's avatar
      Delete federation system namespace from all the federated clusters. · c30afde3
      Madhusudan.C.S authored
      This is a big hammer. `kubefed join` creates federation-system namespace
      in the joining clusters if they don't already exist. This namespace
      usually exists in the host cluster and hence cannot be deleted while
      unjoining. So in order to be safe, we don't delete the federation-system
      namespace from any federated cluster while unjoining them. This causes
      a problem in our test environment if certain resources are left in the
      namespace. Therefore we are deleting all federation-system namespace in
      all the clusters.
      c30afde3
  3. 04 Jun, 2017 4 commits