1. 08 Sep, 2018 4 commits
  2. 07 Sep, 2018 12 commits
  3. 06 Sep, 2018 24 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #68191 from losipiuk/update-ca-1.12.0-beta.1-master · 659092d8
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 68119, 68191). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.
      
      Update cluster autoscaler to 1.12.0-beta.1
      
      Update Cluster Autoscaler to version 1.12.0-beta.1 which is compatible with k8s 1.12.
      Note: this is pre release version. Update to the final version of CA image will be done a week before k8s release deadline.
      
      Version skip from 1.3.x to 1.12.x is to synchronize version numbering between Cluster Autoscaler and k8s core.
      ```release-note
      NONE
      ```
      659092d8
    • Kubernetes Submit Queue's avatar
      Merge pull request #68119 from WanLinghao/token_controller_cachekey_fix · 4bb3712a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 68119, 68191). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.
      
      fix token controller keyFunc bug
      
      Currently, token manager use keyFunc like: `fmt.Sprintf("%q/%q/%#v", name, namespace, tr.Spec)`.
      Since tr.Spec contains point fields, new token request would not reuse the cache at all.
      This patch fix this, also adds unit test.
      
      ```release-note
      NONE
      ```
      4bb3712a
    • Kubernetes Submit Queue's avatar
      Merge pull request #68296 from liztio/fix-kubeadm-external-certs · dd14bc5a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 68087, 68256, 64621, 68299, 68296). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.
      
      Fixes using externally managed certs for kubeadm
      
      **What this PR does / why we need it**:
      The certificates overhaul caused a regression when using external certificates. This fixes that issue so external CAs no longer require a key if all certificates exist.
      
      Walk the certificate tree, at each step checking for a CACert.
      If the CACert is found, try to use it to generate certificates.
      Otherwise, generate a new CA cert.
      
      **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
      Fixes kubernetes/kubeadm#918
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      External CAs can now be used for kubeadm with only a certificate, as long as all required certificates already exist.
      ```
      dd14bc5a
    • Kubernetes Submit Queue's avatar
      Merge pull request #68299 from MrHohn/addon-manager-v-8-7 · 3811360d
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 68087, 68256, 64621, 68299, 68296). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.
      
      Bump addon-manager to v8.7
      
      **What this PR does / why we need it**:
      Major changes:
      - Support extra `--prune-whitelist` resources in kube-addon-manager.
      - Update kubectl to v1.10.7.
      
      Basically picking up https://github.com/kubernetes/kubernetes/pull/67743.
      
      **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
      Fixes #NONE
      
      **Special notes for your reviewer**:
      /assign @Random-Liu @mikedanese 
      
      **Release note**:
      
      ```release-note
      Bump addon-manager to v8.7
      - Support extra `--prune-whitelist` resources in kube-addon-manager.
      - Update kubectl to v1.10.7.
      ```
      3811360d
    • Kubernetes Submit Queue's avatar
      Merge pull request #64621 from RenaudWasTaken/pluginwatcher · 4da3bdc4
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 68087, 68256, 64621, 68299, 68296). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.
      
      Change plugin watcher registration mechanism
      
      **Which issue(s) this PR fixes**: #64637
      
      **Notes For Reviewers**:
      The current API the plugin watcher exposes to kubelet is the following:
      ```golang
      type RegisterCallbackFn func(pluginName string, endpoint string,
                                   versions []string, socketPath string) (error, chan bool)	
      ```
      
      The callback channel is here to signal the plugin watcher consumer when the plugin watcher API has notified the plugin of it's successful registration.
      In other words the current lifecycle of a plugin is the following:
      ```
      (pluginwatcher) GetInfo -> (pluginwatcher) NotifyRegistrationStatus -> (deviceplugin) ListWatch
      ```
      Rather than
      ```
      (pluginwatcher) GetInfo (race) -> (pluginwatcher) NotifyRegistrationStatus
                              (race) -> (deviceplugin) ListWatch
      ```
      
      This PR changes the callback/channel mechanism to a more explicit, interfaced based contract (and more maintainable than a function to which we add more channels for more lifecycle events).
      
      This PR also introduces three new states: {Init, Register, DeRegister}
      ```golang
      // PluginHandler is an interface a client of the pluginwatcher API needs to implement in
      // order to consume plugins
      // The PluginHandler follows the simple following state machine:
      //
      //                         +--------------------------------------+
      //                         |            ReRegistration            |
      //                         | Socket created with same plugin name |
      //                         |                                      |
      //                         |                                      |
      //    Socket Created       v                                      +        Socket Deleted
      // +------------------> Validate +----------> Init +---------> Register +------------------> DeRegister
      //                         +                   +                                                +
      //                         |                   |                                                |
      //                         | Error             | Error                                          |
      //                         |                   |                                                |
      //                         v                   v                                                v
      //                        Out                 Out                                              Out
      //
      // The pluginwatcher module follows strictly and sequentially this state machine for each *plugin name*.
      // e.g: If you are Registering a plugin foo, you cannot get a DeRegister call for plugin foo
      //      until the Register("foo") call returns. Nor will you get a Validate("foo", "Different endpoint", ...)
      //      call until the Register("foo") call returns.
      //
      // ReRegistration: Socket created with same plugin name, usually for a plugin update
      // e.g: plugin with name foo registers at foo.com/foo-1.9.7 later a plugin with name foo
      //      registers at foo.com/foo-1.9.9
      //
      // DeRegistration: When ReRegistration happens only the deletion of the new socket will trigger a DeRegister call
      
      type PluginHandler interface {
              // Validate returns an error if the information provided by
              // the potential plugin is erroneous (unsupported version, ...)
              ValidatePlugin(pluginName string, endpoint string, versions []string) error
              // Init starts the plugin (e.g: contact the gRPC client, gets plugin
              // specific information, ...) but if another plugin with the same name
              // exists does not switch to the newer one.
              // Any error encountered here can still be Notified to the plugin.
              InitPlugin(pluginName string, endpoint string) error
              // Register is called once the pluginwatcher has notified the plugin
              // of its successful registration.
              // Errors at this point can no longer be bubbled up to the plugin
              RegisterPlugin(pluginName, endpoint string)
              // DeRegister is called once the pluginwatcher observes that the socket has
              // been deleted.
              DeRegisterPlugin(pluginName string)
      }
      ```
      
      ```release-note
      NONE
      ```
      /sig node
      /area hw-accelerators
      
      /cc @jiayingz @vikaschoudhary16 @vishh @vladimirvivien @sbezverk @figo (ccing the main reviewers of the original PR, feel free to cc more people)
      4da3bdc4
    • Kubernetes Submit Queue's avatar
      Merge pull request #68256 from mikedanese/nourand · 5878b287
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 68087, 68256, 64621, 68299, 68296). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.
      
      gce: use getrandom instead of urandom for on node rng
      
      ```release-note
      NONE
      ```
      5878b287
    • Kubernetes Submit Queue's avatar
      Merge pull request #68087 from grayluck/refetch · f85d39ab
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.
      
      Let the service controller retry when presistUpdate returns a conflict error
      
      **What this PR does / why we need it**:
      If a load balancer is changed while provisioning, it will fall into an error state and will not self-recover.
      This PR picks up the conflict error and let serviceController retry in order to get the load balancer out of error state.
      
      **Special notes for your reviewer**:
      /assign @MrHohn @rramkumar1 
      
      **Release note**:
      
      ```release-note
      Let service controller retry creating load balancer when persistUpdate failed due to conflict.
      ```
      f85d39ab
    • Kubernetes Submit Queue's avatar
      Merge pull request #61097 from adelina-t/change_hardcoded_busybox_image_in_e2e_tests · 2a17ccb0
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.
      
      Replaced hardcoded busybox image in e2e tests
      
      Some e2e tests use hardcoded busybox image. Replaced it with the one defined in "k8s.io/kubernetes/test/utils/image". This is relevant to the work of porting e2e tests to Windows k8s clusters.
      
      Related to issue #60487
      
       ```release-note
      NONE
       ```
      2a17ccb0
    • Kubernetes Submit Queue's avatar
      Merge pull request #68280 from roberthbailey/cluster-deprecation-notice · 9dba077d
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.
      
      Cleaning up the cluster directory deprecation notice
      
      - Remove link to the kube-deploy repo
       - Remove link to SaltStack
      
      **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)*:
      Fixes #
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      9dba077d
    • Kubernetes Submit Queue's avatar
      Merge pull request #68360 from dims/attempt-to-fix-conversion-gen-issues-with-imports-that-are-same · d89d0d91
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.
      
      conversion-gen issues with import that are exactly the same
      
      Technically we don't need this. the instruction below:
      ```
      // +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1
      ```
      registers the apiserver/apimachinery packages in the "package universe"
      of the conversion-gen program per comment from lucas in PR 68233
      
      However it looks like some files that use both packages run into trouble
      and causes failures in CI harness. Attempting here to see if we fix the
      order by specifying them explicitly helps.
      
      Change-Id: I20e9c9256f0b7ffdf4e2101d0ca1fe5090e51344
      
      
      
      **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)*:
      Fixes #
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      d89d0d91
    • WanLinghao's avatar
      Currently, token manager use keyFunc like: `fmt.Sprintf("%q/%q/%#v", name, namespace, tr.Spec)`. · 794e665d
      WanLinghao authored
      Since tr.Spec contains point fields, new token request would not reuse
      the cache at all.  This patch fix this, also adds unit test.
      Signed-off-by: 's avatarMike Danese <mikedanese@google.com>
      794e665d
    • liz's avatar
      Fixes using externally managed certs for kubeadm · cda8c39f
      liz authored
      Walk the certificate tree, at each step checking for a CACert.
      If the CACert is found, try to use it to generate certificates.
      Otherwise, generate a new CA cert.
      cda8c39f
    • Timothy St. Clair's avatar
    • Davanum Srinivas's avatar
      conversion-gen issues with import that are exactly the same · 95c70ff6
      Davanum Srinivas authored
      Technically we don't need this. the instruction below:
      ```
      // +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1
      ```
      registers the apiserver/apimachinery packages in the "package universe"
      of the conversion-gen program per comment from lucas in PR 68233
      
      However it looks like some files that use both packages run into trouble
      and causes failures in CI harness. Attempting here to see if we fix the
      order by specifying them explicitly helps.
      
      Change-Id: I20e9c9256f0b7ffdf4e2101d0ca1fe5090e51344
      95c70ff6
    • Renaud Gaubert's avatar
      8dd1d27c
    • Renaud Gaubert's avatar
      Updated the CSI pluginwatcher handler · 78b55eb5
      Renaud Gaubert authored
      78b55eb5
    • Renaud Gaubert's avatar
      Update pluginwatcher tests · 29d225e9
      Renaud Gaubert authored
      29d225e9
    • Renaud Gaubert's avatar
      Refactor pluginwatcher to use the new API · 4d18aa63
      Renaud Gaubert authored
      4d18aa63
    • Renaud Gaubert's avatar
      Update the plugin watcher interface · 2eb91e89
      Renaud Gaubert authored
      2eb91e89
    • Lucas Käldström's avatar
      autogenerated bazel · 869d74f6
      Lucas Käldström authored
      869d74f6
    • Kubernetes Submit Queue's avatar
      Merge pull request #68239 from cuppett/issue-59015 · e5f55dd9
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.
      
      Resolves #59015, Scheduler: Add support for EBS types t3, r5, & z1d
      
      Fixes #59015
      
      The new t3, r5, r5d and z1 need matched as well according to this:
      
      From current AWS documentation:
      
      https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html
      
      T3, C5, C5d, M5, M5d, R5, R5d, and z1d instances support a maximum of
      28 attachments, and every instance has at least one network interface
      attachment. If you have no additional network interface attachments on
      these instances, you could attach 27 EBS volumes.
      
      **Release note**:
      
      ```NONE
      
      ```
      e5f55dd9
    • Lucas Käldström's avatar
    • Lucas Käldström's avatar
      b9ff2335
    • Lucas Käldström's avatar
      83d53ea1