1. 12 Jan, 2018 5 commits
  2. 11 Jan, 2018 18 commits
  3. 10 Jan, 2018 17 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #58107 from ironcladlou/quota-controller-deadlock · 15b1d165
      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 quota controller worker deadlock
      
      The resource quota controller worker pool can deadlock when:
      
      * Worker goroutines are idle waiting for work from queues
      * The Sync() method detects discovery updates to apply
      
      The problem is workers acquire a read lock while idle, making write lock
      acquisition dependent upon the presence of work in the queues.
      
      The Sync() method blocks on a pending write lock acquisition and won't unblock
      until every existing worker processes one item from their queue and releases
      their read lock. While the Sync() method's lock is pending, all new read lock
      acquisitions will block; if a worker does process work and release its lock, it
      will then become blocked on a read lock acquisition; they become blocked on
      Sync(). This can easily deadlock all the workers processing from one queue while
      any workers on the other queue remain blocked waiting for work.
      
      Fix the deadlock by refactoring workers to acquire a read lock *after* work is
      popped from the queue. This allows writers to get locks while workers are idle,
      while preserving the worker pause semantics necessary to allow safe sync.
      
      ```release-note
      Fixes an infrequent problem causing the resource quota controller to become stuck in clusters with low ResourceQuota churn, potentially preventing quota from being recalculated until the controller is restarted or until bursts of diverse quota activity unstick the controller.
      ```
      
      /cc @kubernetes/sig-api-machinery-bugs
      15b1d165
    • Eric Chiang's avatar
      ce0a8303
    • Kubernetes Submit Queue's avatar
      Merge pull request #58095 from liggitt/fix-cadvisor · 81192eaf
      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 cadvisor flag registration for cross build
      
      Fixed cross build by only importing linux-only cadvisor packages on linux (unconditional import added in https://github.com/kubernetes/kubernetes/pull/57613)
      
      Fixes https://github.com/kubernetes/kubernetes/issues/58106
      
      ```release-note
      NONE
      ```
      81192eaf
    • Kubernetes Submit Queue's avatar
      Merge pull request #58063 from monotek/detect-exceptions · a2b56ba7
      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>.
      
      added fluentd detect-exceptions plugin to fluentd-es-image for multiline logging
      
      **What this PR does / why we need it**:
      This PR adds proper multiline logging (java stacktraces for example) to fluentd-es docker image by adding the fluentd detect-exceptions plugin.
      
      Plugin: https://github.com/GoogleCloudPlatform/fluent-plugin-detect-exceptions
      
      Its also used in GCP and it also works outside of Kubernetes, so it should be safe to use it here too.
      
      
      **Release note**:
      ```release-note
      fluentd-es addon: multiline stacktraces are now grouped into one entry automatically
      ```
      a2b56ba7
    • Dan Mace's avatar
      Fix quota controller worker deadlock · 010a1273
      Dan Mace authored
      The resource quota controller worker pool can deadlock when:
      
      * Worker goroutines are idle waiting for work from queues
      * The Sync() method detects discovery updates to apply
      
      The problem is workers acquire a read lock while idle, making write lock
      acquisition dependent upon the presence of work in the queues.
      
      The Sync() method blocks on a pending write lock acquisition and won't unblock
      until every existing worker processes one item from their queue and releases
      their read lock. While the Sync() method's lock is pending, all new read lock
      acquisitions will block; if a worker does process work and release its lock, it
      will then become blocked on a read lock acquisition; they become blocked on
      Sync(). This can easily deadlock all the workers processing from one queue while
      any workers on the other queue remain blocked waiting for work.
      
      Fix the deadlock by refactoring workers to acquire a read lock *after* work is
      popped from the queue. This allows writers to get locks while workers are idle,
      while preserving the worker pause semantics necessary to allow safe sync.
      010a1273
    • Kubernetes Submit Queue's avatar
      Merge pull request #54752 from mtanino/pr/BlockVolumesSupport-iscsi · 2f17d782
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54230, 58100, 57861, 54752). 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>.
      
      Block volumes Support: iSCSI plugin update
      
      **What this PR does / why we need it**:
      
      Add interface changes to iSCSI volume plugin to enable block volumes support feature.
      
      **Which issue this PR fixes**: 
      Based on this proposal (kubernetes/community#805 & kubernetes/community#1265) and this feature issue: kubernetes/features#351
      
      **Special notes for your reviewer**:
      
      This PR temporarily includes following changes except iSCSI plugin change for reviewing purpose.
      These changes will be removed from the PR once they are merged.
      - (#50457) API Change 
      - (#51494) Container runtime interface change, volumemanager changes, operationexecutor changes
      
      There are another PRs related to this functionality.
      (#50457) API Change
      (#53385) VolumeMode PV-PVC Binding change
      (#51494) Container runtime interface change, volumemanager changes, operationexecutor changes
      (#55112) Block volume: Command line printer update
      Plugins
      (#51493) Block volumes Support: FC plugin update
      (#54752) Block volumes Support: iSCSI plugin update
      
      **Release note**:
      
      ```
      NONE
      ```
      2f17d782
    • Kubernetes Submit Queue's avatar
      Merge pull request #57861 from nicksardo/existing-sub · 8c22277f
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54230, 58100, 57861, 54752). 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>.
      
      GCE: Use existing subnetwork of ILB forwarding rule
      
      Fixes #57860
      
      **Test Cases**:
      Clusters using auto network with existence of a manual subnet in same region.
      - [x] Upgrade 1.7 cluster with existing ILBs to latest. Confirm existing ILBs still are synced.
        Version 1.7 does not attempt to fill in the subnetwork, so the forwarding rule was created with the correct subnetwork. 
      - [x] Upgrade 1.8 cluster with existing ILBs to latest. Confirm existing ILBs (using wrong subnet) still are synced. 
      - [x]  Latest version creates ILBs using the correct subnet.
      
      
      Clusters with manual subnets have always and will continue to use the subnet specified in gce.conf.
      - [x] Upgrade 1.8 cluster with existing ILBs to latest. Confirm existing ILBs (using manual subnet) still are synced. 
      
      
      Clusters with legacy networks have always and will continue to use an empty subnet. 
      - [x] Upgrade 1.8 cluster with existing ILBs to latest. Confirm existing ILBs (using legacy network) still are synced. 
      
      
      **Release note**:
      ```release-note
      GCE: Allows existing internal load balancers to continue using an outdated subnetwork 
      ```
      8c22277f
    • Kubernetes Submit Queue's avatar
      Merge pull request #58100 from verb/feature-shared-pid · 99221727
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54230, 58100, 57861, 54752). 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 a feature flag for sharing process namespace between containers in a pod
      
      **What this PR does / why we need it**:
      This adds a feature flag for the feature described in kubernetes/features#495.
      
      **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**:
      /assign @dchen1107 
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      99221727
    • Kubernetes Submit Queue's avatar
      Merge pull request #54230 from jsafrane/ceph-test-sleep · c0c6b082
      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>.
      
      Allow Ceph server some time to start
      
      Ceph server needs to create our "foo" volume on startup. It keeps the image small, however it makes the server container start slow.
      
      Add sleep before the server is usable. Without this PR, all pods that use Ceph fail to start for couple of seconds with cryptic "image foo not found" error and it clutters logs and pod logs and makes it harder to spot real errors.
      
      ```release-note
      NONE
      ```
      
      /sig storage
      /sig testing
      /assign @jeffvance @copejon
      c0c6b082
    • Kubernetes Submit Queue's avatar
      Merge pull request #57020 from dixudx/imagegc_ignore_inuse · 07e4939b
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 57823, 58091, 58093, 58096, 57020). 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>.
      
      ignore images in used by running containers when GC
      
      **What this PR does / why we need it**:
      Let kubelet not attempt to remove images being used by running containers.
      
      **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 #57006
      
      **Special notes for your reviewer**:
      @kubernetes/sig-node-pr-reviews 
      
      **Release note**:
      
      ```release-note
      ignore images in used by running containers when GC
      ```
      07e4939b
    • Kubernetes Submit Queue's avatar
      Merge pull request #58096 from mikedanese/rm-photon · 97de8c13
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 57823, 58091, 58093, 58096, 57020). 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>.
      
      remove deprecated photon controller kube-up
      
      This kube-up hasn't been maintained for over a year and has been deprecated for > 6 months.
      
      see #49213 
      
      ```release-note
      Remove deprecated and unmaintained photon-controller kube-up.sh. 
      ```
      97de8c13
    • Kubernetes Submit Queue's avatar
      Merge pull request #58093 from verb/kubelet-pid-flag · 72eccc7c
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 57823, 58091, 58093, 58096, 57020). 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>.
      
      Mark kubelet PID namespace flag as deprecated
      
      **What this PR does / why we need it**:
      
      The `--docker-disable-shared-pid` flag will be removed once per-pod configurable process namespace sharing becomes available. Mark it deprecated to notify cluster admins of the upcoming change.
      
      **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
      WIP #41938
      
      **Special notes for your reviewer**:
      /assign @yujuhong 
      
      **Release note**:
      
      ```release-note
      The kubelet flag to run docker containers with a process namespace that is shared between all containers in a pod is now deprecated and will be replaced by a new field in `v1.Pod` that configures this behavior.
      ```
      72eccc7c
    • Kubernetes Submit Queue's avatar
      Merge pull request #58091 from deads2k/client-01-scale · eba10f1e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 57823, 58091, 58093, 58096, 57020). 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>.
      
      manually handle encoding and decoding in the scale client
      
      @p0lyn0mial I think this resolves the problems you're seeing in https://github.com/kubernetes/kubernetes/pull/57843 by manually controlling the encode and decode in the client itself.
      
      
      
      /assign @DirectXMan12
      eba10f1e
    • Kubernetes Submit Queue's avatar
      Merge pull request #57823 from mlmhl/rbd_device_mount_path · 70ee7d82
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 57823, 58091, 58093, 58096, 57020). 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 rbd ConstructVolumeSpec bug
      
      **What this PR does / why we need it**:
      
      Fix rbd `ConstructVolumeSpec` bug as its global device mount path is not canonical. Full details are in #57744 .
      
      **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 #57744 
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      
      /sig storage
      /kind bug
      70ee7d82
    • Kubernetes Submit Queue's avatar
      Merge pull request #58062 from lcfang/fixurl-0110 · bc56a90e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 58025, 57112, 57879, 57571, 58062). 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>.
      
      fixed some bad url
      
      **What this PR does / why we need it**:
      
      fixed some bad url
      
      **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
      ```
      bc56a90e
    • Kubernetes Submit Queue's avatar
      Merge pull request #57571 from spiffxp/mk-staging-repos-authoritative · 4bc286f0
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 58025, 57112, 57879, 57571, 58062). 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>.
      
      Treat staging repos as authoritative source for all files
      
      Add CONTRIBUTING.md files to remind people not to PR directly into the published repos.
      
      /hold
      I believe this requires removing these files from the published repos if any copies exist there
      
      ref: kubernetes/kubernetes#57559
      4bc286f0
    • Kubernetes Submit Queue's avatar
      Merge pull request #57879 from bowei/gce-gen · b873fc44
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 58025, 57112, 57879, 57571, 58062). 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>.
      
      Code generation for GCE compute interface
      
      Use code generation to "write" most of the GCE cloud provider library. This enables the following:
      
      - Consistent interfaces, including handling of the different API versions (GA, alpha, beta)
      - Efficient implementation of cross cutting features such as metrics, logging, tracing etc. Adding such features has in the past been a tedious and error prone endeavor. 
      - High fidelity mocks for all of the compute API. What this means is that most of our controller logic can be tested as unit tests in a consistent way without creating individual mocks by hand.
      
      ```release-note
      NONE
      ```
      b873fc44