1. 14 Nov, 2017 26 commits
    • Clayton Coleman's avatar
      b366afa0
    • Kubernetes Submit Queue's avatar
      Merge pull request #55466 from x13n/addon-manager · 95b43128
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Use results of kube-controller-manager leader election in addon manager
      
      **What this PR does / why we need it**:
      This adds leader election-like mechanism to addon manager. Currently, in a multi-master setup, upgrading one master will trigger a fight between addon managers on different masters, each forcing its own versions of addons. This leads to pod unavailability until all masters are upgraded to new version.
      
      To avoid implementing leader election in bash, results of leader election in kube-controller-manager are used. Long term, addon manager probably should be rewritten in a real prgramming language (probably Go), and then, real leader election should be implemented there.
      
      **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
      I don't think there was an issue for this specifically, but this PR is related to https://github.com/kubernetes/kubernetes/issues/473
      
      **Special notes for your reviewer**:
      
      **Release note**:
      ```release-note
      Addon manager supports HA masters.
      ```
      95b43128
    • Kubernetes Submit Queue's avatar
      Merge pull request #55641 from sjenning/remove-corrupt-checkpoints · b983cee8
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      dockershim: remove corrupt checkpoints immediately upon detection
      
      Fixes https://github.com/kubernetes/kubernetes/issues/55620
      
      The current checkpoint abstraction leaks the handling of corrupt checkpoints to the user.
      
      If the user does a `GetCheckpoint()` and the checkpoint is corrupt, the corrupt checkpoint is returned to the user (why??) with an error indicating the corruption.  It is then up to the user to detect the corruption via the error msg and call `RemoveCheckpoint()` to remove the corrupted checkpoint.
      
      The checkpoint abstraction should not expose corruption to the user.  If it is corrupt, it is as good as not found to the user.  The checkpoint code should handle cleanup of corrupt entries and report "not found" to the user.
      
      @derekwaynecarr @eparis @dcbw @freehan
      b983cee8
    • Kubernetes Submit Queue's avatar
      Merge pull request #55605 from bskiba/e2e-fix · 48d06272
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Regional support in Cluster Autoscaler e2e tests.
      
      **What this PR does / why we need it**:
      
      When calling GKE API and gcloud in Autoscaling e2 tests, take into account that clusters can be regional.
      This currently uses MultiZonal as an indicator that cluster is regional, which is suboptimal, but considering that our tests do not work with multizonal clusters at the moment, there is no regression.This should be changed once there is an indicator available that the cluster is regional.
      
      **Release note**:
      ```
      NONE
      ```
      48d06272
    • Kubernetes Submit Queue's avatar
      Merge pull request #55128 from foxyriver/fix-timer · 8bdd6614
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54602, 54877, 55243, 55509, 55128). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      stop timer
      
      **What this PR does / why we need it**:
      
      stop the timer after using it
      8bdd6614
    • Kubernetes Submit Queue's avatar
      Merge pull request #55509 from tallclair/psp-addons · b2125f5a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54602, 54877, 55243, 55509, 55128). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      PodSecurityPolicies for addons
      
      **What this PR does / why we need it**:
      
      1. Colocate addon PodSecurityPolicy config with the addons (in a `podsecuritypolicies` subdirectory). 
      2. Add policies for addons that are currently missing policies (not in the default GCE suite)
      3. Remove HostPath SSL certs from several heapster deployments, so that heapster doesn't require a special PSP
      
      **Which issue(s) this PR fixes**:
      #43538
      
      **Release note**:
      ```release-note
      - Add PodSecurityPolicies for cluster addons
      - Remove SSL cert HostPath volumes from heapster addons
      ```
      b2125f5a
    • Kubernetes Submit Queue's avatar
      Merge pull request #55243 from porridge/cert-errors · 330a6154
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54602, 54877, 55243, 55509, 55128). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Add some error handling in place of ilusory one.
      
      **What this PR does / why we need it**:
      
      TL;DR: "set -e" is ignored inside function foo when it's called like
      "foo || something".
      
      See https://github.com/kubernetes/kubernetes/issues/55229 for details.
      
      This is a short-term hack that will hopefully let us at least see the
      error messages whenever we hit intermittent certificate setup errors
      next time. Once we know what fails there, we can start working on an
      actual fix, which may very well involve rewriting this in a language
      other than shell, with better error handling.
      
      **Which issue(s) this PR fixes**
      Partially addresses #55229
      
      **Release note**:
      ```release-note
      NONE
      ```
      330a6154
    • Kubernetes Submit Queue's avatar
      Merge pull request #54877 from… · e7253617
      Kubernetes Submit Queue authored
      Merge pull request #54877 from juanvallejo/jvallejo/move-PrintResourceInfoRorCommand-cmdutil-factory
      
      Automatic merge from submit-queue (batch tested with PRs 54602, 54877, 55243, 55509, 55128). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      move cmd/util/printing.go#PrintResourceInfoForCommand -> factory…
      
      **Release note**:
      ```release-note
      NONE
      ```
      
      This patch is one in a series of patches that aims to move all
      printing functions to the `cmdutil.Factory` in order to make
      the factory the one-stop shop for accessing printers in the client.
      
      This PR is related to https://github.com/kubernetes/kubernetes/pull/50113 and aims to break the set of changes
      introduced in this commit in order to make them easier to review.
      
      @fabianofranz @mengqiy @shiywang @seans3
      e7253617
    • Kubernetes Submit Queue's avatar
      Merge pull request #54602 from huzhengchuan/fix/typeos_kubelet · 2785ba8e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Fix incorrect parameter tip
      
      **What this PR does / why we need it**:
      run kubelet set --init-config-dir=xxx, kubelet not work. see the error log need to open KubeletConfigFile feature gates.
      But 
      kubelet --help 
            --init-config-dir string                                   The Kubelet will look in this directory for the init configuration. The path may be absolute or relative; relative paths start at the Kubelet's current working directory. Omit this argument to use the built-in default configuration values. Presently, you must also enable the `DynamicKubeletConfig` feature gate to pass this flag.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes ##55666
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```
      NONE
      ```
      2785ba8e
    • Kubernetes Submit Queue's avatar
      Merge pull request #54509 from vmware/node_poweroff_test · ea66c005
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      E2E test to verify pod failover during node power-off
      
      **What this PR does / why we need it**:
      
      This PR adds test to verify volume status after the node where the pod got provisioned being powered off and failed over to a different node.
      
      Test performs following tasks:
      
      1. Create a StorageClass
      2. Create a PVC with the StorageClass
      3. Create a Deployment with 1 replica, using the PVC
      4. Verify the pod got provisioned on a node
      5. Verify the volume is attached to the node
      6. Power off the node where pod got provisioned
      7. Verify the pod got provisioned on a different node
      8. Verify the volume is attached to the new node
      9. Verify the volume is detached from the previous node
      10. Power on the previous node
      11. Delete the Deployment
      12. Delete the PVC
      13. Delete the StorageClass
      
      **Which issue this PR fixes**:
      
      Fixes https://github.com/vmware/kubernetes/issues/272
      
      **Special notes for your reviewer**:
      
      Test logs:
      ```
      # go run hack/e2e.go --check-version-skew=false --v --test --test_args='--ginkgo.focus=Node\sPoweroff'
      flag provided but not defined: -check-version-skew
      Usage of /tmp/go-build212295472/command-line-arguments/_obj/exe/e2e:
        -get
                      go get -u kubetest if old or not installed (default true)
        -old duration
                      Consider kubetest old if it exceeds this (default 24h0m0s)
      2017/10/24 11:48:28 e2e.go:55: NOTICE: go run hack/e2e.go is now a shim for test-infra/kubetest
      2017/10/24 11:48:28 e2e.go:56:   Usage: go run hack/e2e.go [--get=true] [--old=24h0m0s] -- [KUBETEST_ARGS]
      2017/10/24 11:48:28 e2e.go:57:   The separator is required to use --get or --old flags
      2017/10/24 11:48:28 e2e.go:58:   The -- flag separator also suppresses this message
      2017/10/24 11:48:28 e2e.go:77: Calling kubetest --check-version-skew=false --v --test --test_args=--ginkgo.focus=Node\sPoweroff...
      2017/10/24 11:48:28 util.go:154: Running: ./cluster/kubectl.sh --match-server-version=false version
      2017/10/24 11:48:28 util.go:156: Step './cluster/kubectl.sh --match-server-version=false version' finished in 350.700421ms
      2017/10/24 11:48:28 util.go:154: Running: ./hack/e2e-internal/e2e-status.sh
      Skeleton Provider: prepare-e2e not implemented
      Client Version: version.Info{Major:"1", Minor:"9+", GitVersion:"v1.9.0-alpha.1.1627+54fc02df4a3a2a", GitCommit:"54fc02df4a3a2a12e14fb72d84a1aaa658ba6689", GitTreeState:"clean", BuildDate:"2017-10-24T18:33:37Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
      Server Version: version.Info{Major:"1", Minor:"9+", GitVersion:"v1.9.0-alpha.1.1437+ba66fcb6", GitCommit:"ba66fcb6", GitTreeState:"clean", BuildDate:"2017-10-20T07:16:05Z", GoVersion:"go1.9.1", Compiler:"gc", Platform:"linux/amd64"}
      2017/10/24 11:48:28 util.go:156: Step './hack/e2e-internal/e2e-status.sh' finished in 315.334518ms
      2017/10/24 11:48:28 util.go:154: Running: ./hack/ginkgo-e2e.sh --ginkgo.focus=Node\sPoweroff
      Conformance test: not doing test setup.
      Oct 24 11:48:30.391: INFO: Overriding default scale value of zero to 1
      Oct 24 11:48:30.391: INFO: Overriding default milliseconds value of zero to 5000
      I1024 11:48:30.637436     409 e2e.go:378] Starting e2e run "ed9fdfc7-b8eb-11e7-a595-0050569c26b8" on Ginkgo node 1
      Running Suite: Kubernetes e2e suite
      ===================================
      Random Seed: 1508870909 - Will randomize all specs
      Will run 1 of 717 specs
       
      Oct 24 11:48:30.678: INFO: >>> kubeConfig: /root/.kube/config
      Oct 24 11:48:30.685: INFO: Waiting up to 4h0m0s for all (but 0) nodes to be schedulable
      Oct 24 11:48:30.719: INFO: Waiting up to 10m0s for all pods (need at least 0) in namespace 'kube-system' to be running and ready
      Oct 24 11:48:30.857: INFO: 17 / 17 pods in namespace 'kube-system' are running and ready (0 seconds elapsed)
      Oct 24 11:48:30.857: INFO: expected 4 pod replicas in namespace 'kube-system', 4 are Running and Ready.
      Oct 24 11:48:30.863: INFO: Waiting for pods to enter Success, but no pods in "kube-system" match label map[name:e2e-image-puller]
      Oct 24 11:48:30.863: INFO: Dumping network health container logs from all nodes...
      Oct 24 11:48:30.877: INFO: Client version: v1.9.0-alpha.1.1627+54fc02df4a3a2a
      Oct 24 11:48:30.879: INFO: Server version: v1.9.0-alpha.1.1437+ba66fcb6
      SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
      ------------------------------
      [sig-storage] Node Poweroff [Feature:vsphere] [Slow] [Disruptive]
        verify volume status after node power off
        /root/divyenp/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/storage/vsphere_volume_node_poweroff.go:149
      [BeforeEach] [sig-storage] Node Poweroff [Feature:vsphere] [Slow] [Disruptive]
        /root/divyenp/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/framework/framework.go:133
      STEP: Creating a kubernetes client
      Oct 24 11:48:30.885: INFO: >>> kubeConfig: /root/.kube/config
      STEP: Building a namespace api object
      STEP: Waiting for a default service account to be provisioned in namespace
      [BeforeEach] [sig-storage] Node Poweroff [Feature:vsphere] [Slow] [Disruptive]
        /root/divyenp/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/storage/vsphere_volume_node_poweroff.go:64
      Oct 24 11:48:30.984: INFO: Waiting up to 4h0m0s for all (but 0) nodes to be schedulable
      [It] verify volume status after node power off
        /root/divyenp/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/storage/vsphere_volume_node_poweroff.go:149
      STEP: Creating a Storage Class
      STEP: Creating PVC using the Storage Class
      STEP: Waiting for PVC to be in bound phase
      Oct 24 11:48:31.141: INFO: Waiting up to 5m0s for PersistentVolumeClaim pvc-zxz56 to have phase Bound
      Oct 24 11:48:31.150: INFO: PersistentVolumeClaim pvc-zxz56 found but phase is Pending instead of Bound.
      Oct 24 11:48:33.155: INFO: PersistentVolumeClaim pvc-zxz56 found and phase=Bound (2.013403698s)
      STEP: Creating a Deployment
      I1024 11:48:33.180161     409 deployment_util.go:254] Waiting deployment "deployment-ef6b820e-b8eb-11e7-a595-0050569c26b8" to complete
      Oct 24 11:48:33.192: INFO: deployment status: v1beta1.DeploymentStatus{ObservedGeneration:0, Replicas:0, UpdatedReplicas:0, ReadyReplicas:0, AvailableReplicas:0, UnavailableReplicas:0, Conditions:[]v1beta1.DeploymentCondition(nil), CollisionCount:(*int32)(nil)}
      Oct 24 11:48:35.197: INFO: deployment status: v1beta1.DeploymentStatus{ObservedGeneration:1, Replicas:1, UpdatedReplicas:1, ReadyReplicas:0, AvailableReplicas:0, UnavailableReplicas:1, Conditions:[]v1beta1.DeploymentCondition{v1beta1.DeploymentCondition{Type:"Available", Status:"True", LastUpdateTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, LastTransitionTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, Reason:"MinimumReplicasAvailable", Message:"Deployment has minimum availability."}}, CollisionCount:(*int32)(nil)}
      Oct 24 11:48:37.197: INFO: deployment status: v1beta1.DeploymentStatus{ObservedGeneration:1, Replicas:1, UpdatedReplicas:1, ReadyReplicas:0, AvailableReplicas:0, UnavailableReplicas:1, Conditions:[]v1beta1.DeploymentCondition{v1beta1.DeploymentCondition{Type:"Available", Status:"True", LastUpdateTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, LastTransitionTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, Reason:"MinimumReplicasAvailable", Message:"Deployment has minimum availability."}}, CollisionCount:(*int32)(nil)}
      Oct 24 11:48:39.196: INFO: deployment status: v1beta1.DeploymentStatus{ObservedGeneration:1, Replicas:1, UpdatedReplicas:1, ReadyReplicas:0, AvailableReplicas:0, UnavailableReplicas:1, Conditions:[]v1beta1.DeploymentCondition{v1beta1.DeploymentCondition{Type:"Available", Status:"True", LastUpdateTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, LastTransitionTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, Reason:"MinimumReplicasAvailable", Message:"Deployment has minimum availability."}}, CollisionCount:(*int32)(nil)}
      Oct 24 11:48:41.197: INFO: deployment status: v1beta1.DeploymentStatus{ObservedGeneration:1, Replicas:1, UpdatedReplicas:1, ReadyReplicas:0, AvailableReplicas:0, UnavailableReplicas:1, Conditions:[]v1beta1.DeploymentCondition{v1beta1.DeploymentCondition{Type:"Available", Status:"True", LastUpdateTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, LastTransitionTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, Reason:"MinimumReplicasAvailable", Message:"Deployment has minimum availability."}}, CollisionCount:(*int32)(nil)}
      Oct 24 11:48:43.197: INFO: deployment status: v1beta1.DeploymentStatus{ObservedGeneration:1, Replicas:1, UpdatedReplicas:1, ReadyReplicas:0, AvailableReplicas:0, UnavailableReplicas:1, Conditions:[]v1beta1.DeploymentCondition{v1beta1.DeploymentCondition{Type:"Available", Status:"True", LastUpdateTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, LastTransitionTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, Reason:"MinimumReplicasAvailable", Message:"Deployment has minimum availability."}}, CollisionCount:(*int32)(nil)}
      Oct 24 11:48:45.197: INFO: deployment status: v1beta1.DeploymentStatus{ObservedGeneration:1, Replicas:1, UpdatedReplicas:1, ReadyReplicas:0, AvailableReplicas:0, UnavailableReplicas:1, Conditions:[]v1beta1.DeploymentCondition{v1beta1.DeploymentCondition{Type:"Available", Status:"True", LastUpdateTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, LastTransitionTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, Reason:"MinimumReplicasAvailable", Message:"Deployment has minimum availability."}}, CollisionCount:(*int32)(nil)}
      Oct 24 11:48:47.198: INFO: deployment status: v1beta1.DeploymentStatus{ObservedGeneration:1, Replicas:1, UpdatedReplicas:1, ReadyReplicas:0, AvailableReplicas:0, UnavailableReplicas:1, Conditions:[]v1beta1.DeploymentCondition{v1beta1.DeploymentCondition{Type:"Available", Status:"True", LastUpdateTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, LastTransitionTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, Reason:"MinimumReplicasAvailable", Message:"Deployment has minimum availability."}}, CollisionCount:(*int32)(nil)}
      Oct 24 11:48:49.198: INFO: deployment status: v1beta1.DeploymentStatus{ObservedGeneration:1, Replicas:1, UpdatedReplicas:1, ReadyReplicas:0, AvailableReplicas:0, UnavailableReplicas:1, Conditions:[]v1beta1.DeploymentCondition{v1beta1.DeploymentCondition{Type:"Available", Status:"True", LastUpdateTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, LastTransitionTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, Reason:"MinimumReplicasAvailable", Message:"Deployment has minimum availability."}}, CollisionCount:(*int32)(nil)}
      Oct 24 11:48:51.196: INFO: deployment status: v1beta1.DeploymentStatus{ObservedGeneration:1, Replicas:1, UpdatedReplicas:1, ReadyReplicas:0, AvailableReplicas:0, UnavailableReplicas:1, Conditions:[]v1beta1.DeploymentCondition{v1beta1.DeploymentCondition{Type:"Available", Status:"True", LastUpdateTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, LastTransitionTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, Reason:"MinimumReplicasAvailable", Message:"Deployment has minimum availability."}}, CollisionCount:(*int32)(nil)}
      Oct 24 11:48:53.197: INFO: deployment status: v1beta1.DeploymentStatus{ObservedGeneration:1, Replicas:1, UpdatedReplicas:1, ReadyReplicas:0, AvailableReplicas:0, UnavailableReplicas:1, Conditions:[]v1beta1.DeploymentCondition{v1beta1.DeploymentCondition{Type:"Available", Status:"True", LastUpdateTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, LastTransitionTime:v1.Time{Time:time.Time{sec:63644467713, nsec:0, loc:(*time.Location)(0x5db10c0)}}, Reason:"MinimumReplicasAvailable", Message:"Deployment has minimum availability."}}, CollisionCount:(*int32)(nil)}
      STEP: Get pod from the deployement
      STEP: Verify disk is attached to the node: kubernetes-node5
      STEP: Power off the node: kubernetes-node5
      Oct 24 11:49:07.337: INFO: Waiting for pod to be failed over from "kubernetes-node5"
      Oct 24 11:49:17.336: INFO: Waiting for pod to be failed over from "kubernetes-node5"
      Oct 24 11:49:27.340: INFO: Waiting for pod to be failed over from "kubernetes-node5"
      Oct 24 11:49:37.340: INFO: The pod has been failed over from "kubernetes-node5" to "kubernetes-node7"
      STEP: Waiting for disk to be attached to the new node: kubernetes-node7
      Oct 24 11:49:47.534: INFO: Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" has successfully attached to "kubernetes-node7".
      STEP: Waiting for disk to be detached from the previous node: kubernetes-node5
      Oct 24 11:49:57.707: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:50:07.702: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:50:17.710: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:50:27.733: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:50:37.713: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:50:47.723: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:50:57.705: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:51:07.710: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:51:17.719: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:51:27.716: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:51:37.717: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:51:47.712: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:51:57.707: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:52:07.724: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:52:17.716: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:52:27.711: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:52:37.716: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:52:47.709: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:52:57.714: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:53:07.715: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:53:17.711: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:53:27.714: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:53:37.713: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:53:47.705: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:53:57.711: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:54:07.712: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:54:17.705: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:54:27.712: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:54:37.707: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:54:47.698: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:54:57.705: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:55:07.711: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:55:17.699: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:55:27.702: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:55:37.704: INFO: Waiting for Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" to detach from "kubernetes-node5".
      Oct 24 11:55:47.703: INFO: Volume "[vsanDatastore] 165fee59-08d0-b42e-e5c4-020047ab7bb1/kubernetes-dynamic-pvc-ee347cf2-b8eb-11e7-8558-005056a2ed7b.vmdk" has successfully detached from "kubernetes-node5".
      STEP: Power on the previous node: kubernetes-node5
      Oct 24 11:55:49.168: INFO: Deleting PersistentVolumeClaim "pvc-zxz56"
      [AfterEach] [sig-storage] Node Poweroff [Feature:vsphere] [Slow] [Disruptive]
        /root/divyenp/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/framework/framework.go:134
      Oct 24 11:55:49.253: INFO: Waiting up to 3m0s for all (but 0) nodes to be ready
      STEP: Destroying namespace "e2e-tests-node-poweroff-l245b" for this suite.
      Oct 24 11:55:57.630: INFO: namespace: e2e-tests-node-poweroff-l245b, resource: bindings, ignored listing per whitelist
      Oct 24 11:55:57.643: INFO: namespace e2e-tests-node-poweroff-l245b deletion completed in 8.379395732s
       
      • [SLOW TEST:446.758 seconds]
      [sig-storage] Node Poweroff [Feature:vsphere] [Slow] [Disruptive]
      /root/divyenp/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/storage/framework.go:22
        verify volume status after node power off
        /root/divyenp/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/storage/vsphere_volume_node_poweroff.go:149
      ------------------------------
      SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSOct 24 11:55:57.647: INFO: Running AfterSuite actions on all node
      Oct 24 11:55:57.647: INFO: Running AfterSuite actions on node 1
       
      Ran 1 of 717 Specs in 446.969 seconds
      SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 716 Skipped PASS
       
      Ginkgo ran 1 suite in 7m27.797177022s
      Test Suite Passed
      2017/10/24 11:55:57 util.go:156: Step './hack/ginkgo-e2e.sh --ginkgo.focus=Node\sPoweroff' finished in 7m28.760818768s
      2017/10/24 11:55:57 e2e.go:81: Done
      ```
      VMware Reviewers: @divyenpatel @pshahzeb 
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      ea66c005
    • Daniel Kłobuszewski's avatar
      ae6e506f
    • Kubernetes Submit Queue's avatar
      Merge pull request #55533 from janetkuo/hook-e2e-multi · c1cd70ad
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 55009, 55532, 55601, 52569, 55533). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Webhook e2e test: PUT and PATCH operations
      
      **What this PR does / why we need it**:
      
      **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
      Ref: https://github.com/kubernetes/features/issues/492
      
      **Special notes for your reviewer**: ~depends on #55127~ (merged)
      @kubernetes/sig-api-machinery-api-reviews 
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      c1cd70ad
    • Kubernetes Submit Queue's avatar
      Merge pull request #52569 from tmjd/add-proxy-forward-rules · 2f622b2a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 55009, 55532, 55601, 52569, 55533). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Kube-proxy adds forward rules to ensure NodePorts work
      
      **What this PR does / why we need it**:
      Updates kube-proxy to set up proper forwarding so that NodePorts work with docker 1.13 without depending on iptables FORWARD being changed manually/externally.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #39823
      
      **Special notes for your reviewer**:
      @thockin I used option number 2 that I mentioned in the #39823 issue, please let me know what you think about this change.  If you are happy with the change then I can try to add tests but may need a little direction about what and where to add them.
      
      **Release note**:
      
      ```release-note
      Add iptables rules to allow Pod traffic even when default iptables policy is to reject.
      ```
      2f622b2a
    • Kubernetes Submit Queue's avatar
      Merge pull request #55601 from m1093782566/getlocalips · cae7240c
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 55009, 55532, 55601, 52569, 55533). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Fix ipvs/proxy getLocalIPs inconsistency with iptables/proxy
      
      **What this PR does / why we need it**:
      
      * Fix ipvs/proxy `getLocalIPs()` inconsistency with iptables/proxy
      
      * validate the ip address before pkg/proxy/util IPPart() return ip string.
      
      **Which issue(s) this PR fixes** :
      Fixes #55612
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      cae7240c
    • Kubernetes Submit Queue's avatar
      Merge pull request #55532 from ianchakeres/validate-greater-than-zero-pv-pvc · 3479549a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 55009, 55532, 55601, 52569, 55533). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Validate that PV capacity and PVC capacity requests are positive, greater than 0
      
      **What this PR does / why we need it**:  Zero (0) capacity PVs cause related pods to fail, and zero (0) capacity PVCs create zero (0) capacity PVs.
      
      **Which issue(s) this PR fixes** :
      Fixes #55553
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      Validate positive capacity for PVs and PVCs.
      ```
      3479549a
    • Kubernetes Submit Queue's avatar
      Merge pull request #55009 from bradtopol/addhosteventsemptyconform2 · 51c8e929
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 55009, 55532, 55601, 52569, 55533). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Add empty dir and host related conformance annotations
      Signed-off-by: 's avatarBrad Topol <btopol@us.ibm.com>
      
      Add empty dir and host related conformance annotations
      
      /sig testing
      /area conformance
      @sig-testing-pr-reviews
      
      This PR adds pod related conformance annotations to the e2e test suite.
      
      The PR fixes a portion of #53822. It focuses on adding conformance annotations as defined by the Kubernetes Conformance Workgroup for a subset of the empty dir and host based e2e conformance tests.
      
      Special notes for your reviewer:
      Please see https://docs.google.com/spreadsheets/d/1WWSOqFaG35VmmPOYbwetapj1VPOVMqjZfR9ih5To5gk/edit#gid=62929400
      for the list of SIG Arch approved test names and descriptions that I am using.
      
      
      
      **Release note**:
      
      ```release-note NONE
      
      ```
      51c8e929
    • Shaomin Chen's avatar
      3db4f2b8
    • Kubernetes Submit Queue's avatar
      Merge pull request #53541 from jiayingz/e2e-stats · 710523ed
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Extend test/e2e/scheduling/nvidia-gpus.go to track resource usage of
      
      installer and device plugin containers.
      To support this, exports certain functions and fields in
      framework/resource_usage_gatherer.go so that it can be used in any
      e2e test to track any specified pod resource usage with the specified
      probe interval and duration.
      
      
      
      **What this PR does / why we need it**:
      We need to quantify the resource usage of the device plugin DaemonSet to make sure it can run reliably on nodes with GPUs.
      We also want to measure gpu driver installer resource usage to track any unexpected resource consumption during driver installation.
      For the later part, see a related issue https://github.com/kubernetes/features/issues/368.
      
      Example resource summary output:
      Oct  6 12:35:07.289: INFO: Printing summary: ResourceUsageSummary
      Oct  6 12:35:07.289: INFO: ResourceUsageSummary JSON
      {
        "100": [
          {
            "Name": "nvidia-device-plugin-6kqxp/nvidia-device-plugin",
            "Cpu": 0.000507167,
            "Mem": 2134016
          },
          {
            "Name": "nvidia-device-plugin-6kqxp/nvidia-driver-installer",
            "Cpu": 1.915508718,
            "Mem": 663330816
          },
          {
            "Name": "nvidia-device-plugin-l28zc/nvidia-device-plugin",
            "Cpu": 0.000836256,
            "Mem": 2211840
          },
          {
            "Name": "nvidia-device-plugin-l28zc/nvidia-driver-installer",
            "Cpu": 1.916886293,
            "Mem": 691449856
          },
          {
            "Name": "nvidia-device-plugin-xb4vh/nvidia-device-plugin",
            "Cpu": 0.000515103,
            "Mem": 2265088
          },
          {
            "Name": "nvidia-device-plugin-xb4vh/nvidia-driver-installer",
            "Cpu": 1.909435982,
            "Mem": 832430080
          }
        ],
        "50": [
          {
      ...
      
      **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
      ```
      710523ed
    • Seth Jennings's avatar
    • Janet Kuo's avatar
      Webhook e2e test: PUT and PATCH operations · 7ffaa06a
      Janet Kuo authored
      7ffaa06a
    • Kubernetes Submit Queue's avatar
      Merge pull request #53440 from jsafrane/mount-container4-10-03 · 2d64ce5e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54005, 55127, 53850, 55486, 53440). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Containerized mount utilities
      
      This is implementation of https://github.com/kubernetes/community/pull/589
      
      @tallclair @vishh @dchen1107 PTAL
      @kubernetes/sig-node-pr-reviews 
      
      **Release note**:
      ```release-note
      Kubelet supports running mount utilities and final mount in a container instead running them on the host.
      ```
      2d64ce5e
    • Kubernetes Submit Queue's avatar
      Merge pull request #55486 from sttts/sttts-psp-admission-annotation · 560a3109
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54005, 55127, 53850, 55486, 53440). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      admission: don't update psp annotation on update
      
      Follow-up of https://github.com/kubernetes/kubernetes/pull/54689.
      
      Related to https://github.com/kubernetes/kubernetes/issues/55435 as istio-like initializer-based container injection cannot contribute to SC mutations.
      
      ```release-note
      The PodSecurityPolicy annotation `kubernetes.io/psp` on pods is only set once on create.
      ```
      560a3109
    • Kubernetes Submit Queue's avatar
      Merge pull request #53850 from dougm/api-fixed-int · 2fc108b8
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54005, 55127, 53850, 55486, 53440). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Enforce use of fixed size int types in the API
      
      Changes 'int' to 'int32', enforced by import_known_versions_test
      
      Follow up to PR #53402
      
      
      
      **What this PR does / why we need it**:
      
      This PR changes a few fields within the API from 'int' to 'int32' and is now enforced by import_known_versions_test.  We need this so integer fields are the same size regardless of $GOARCH.
      
      **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
      ```
      2fc108b8
    • Kubernetes Submit Queue's avatar
      Merge pull request #55127 from caesarxuchao/webhook-do-conversion · cba5aa05
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54005, 55127, 53850, 55486, 53440). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Validation webhook plugin converts objects to the external version before sending to webhooks
      
      **What this PR does / why we need it**:
      
      
      **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
      
      https://github.com/kubernetes/features/issues/492
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      The apiserver sends external versioned object to the admission webhooks now. Please update the webhooks to expect admissionReview.spec.object.raw to be serialized external versions of objects. 
      ```
      cba5aa05
    • Kubernetes Submit Queue's avatar
      Merge pull request #54005 from deads2k/rbac-02-aggregation · f575c555
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54005, 55127, 53850, 55486, 53440). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      aggregate cluster roles
      
      xref https://github.com/kubernetes/community/pull/1219 https://github.com/kubernetes/features/issues/502
      
      This is a pull with API types, a controller, and a demonstration of how to move admin, edit, and view.  Once we agree on the shape, I'll 
      
      
      I added 
      ```yaml
      aggregationRule:
        clusterRoleSelectors:
        - matchLabels:
            rbac.authorization.k8s.io/aggregate-to-admin: true
      ```
      to the `ClusterRole`.  A controller then goes and gathers all the matching ClusterRoles and sets the `rules` to the union of matching cluster roles.
      
      @kubernetes/sig-auth-pr-reviews 
      
      ```release-note
      RBAC ClusterRoles can now select other roles to aggregate
      ```
      f575c555
    • Jiaying Zhang's avatar
      Extend test/e2e/scheduling/nvidia-gpus.go to track resource usage of · ae36f8ee
      Jiaying Zhang authored
      installer and device plugin containers.
      To support this, exports certain functions and fields in
      framework/resource_usage_gatherer.go so that it can be used in any
      e2e test to track any specified pod resource usage with the specified
      probe interval and duration.
      ae36f8ee
  2. 13 Nov, 2017 14 commits