1. 04 Nov, 2016 10 commits
    • Clayton Coleman's avatar
      SetSelfLink is inefficient · 4f363f54
      Clayton Coleman authored
      Generating self links, especially for lists, is inefficient.  Replace
      use of net.URL.String() with direct encoding that reduces number of
      allocations. Switch from calling meta.ExtractList|SetList to a function
      that iterates over each object in the list.
      
      In steady state for nodes performing frequently small get/list
      operations, and for larger LISTs significantly reduces CPU and
      allocations.
      4f363f54
    • Kubernetes Submit Queue's avatar
      Merge pull request #36175 from jingxu97/Nov/nfs-3 · b4e84d3e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Enable NFS volume test
      
      This PR fixes the dockerfile for NFS server image and enable NFSv4.
      After using containeried mounts approach on GCI, this test should pass.
      b4e84d3e
    • Kubernetes Submit Queue's avatar
      Merge pull request #36199 from foxish/fix-flake-node-resize · cf732221
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Fix flake resize node test
      
      **What this PR does / why we need it**: Fixes flake blocking cutting of the release branch
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes https://github.com/kubernetes/kubernetes/issues/27233
      
      **Special notes for your reviewer**:
      
      Previously, the NC would watch for deleted instances and clean up up pods and nodes together when it found one. Now (as part of https://github.com/kubernetes/kubernetes/issues/35145), we simply wait for the PodGC to see that the node is now deleted and clean up the pods. This may take a while and hence we add a 1 minute timeout. 
      P1 because it is blocking @saad-ali from cutting a 1.5 branch.
      
      **Release note**:
      <!--  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`. 
      -->
      ```release-note
      NONE
      ```
      
      cc @saad-ali
      cf732221
    • Kubernetes Submit Queue's avatar
      Merge pull request #35220 from MrHohn/kubectl-apply-type · e4edd817
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Implement --prune-whitelist(-w) flag to overwrite default whitelist for --prune
      
      From #34274.
      
      Updates:
      
      As suggested, the new commits implement a default whitelist for `kubectl apply --prune`, which could be overwritten by using `--prune-whitelist`or `-w` flag. The default whitelist and example as below.
      
      Also supports `--dry-run` for `--prune` to fix #35222.
      
      whitelist:
      
      ```
      type pruneResource struct {
          group      string
          version    string
          kind       string
          namespaced bool
      }
      
      *pruneResources = []pruneResource{
          {"", "v1", "ConfigMap", true},
          {"", "v1", "Endpoints", true},
          {"", "v1", "Namespace", false},
          {"", "v1", "PersistentVolumeClaim", true},
          {"", "v1", "PersistentVolume", false},
          {"", "v1", "Pod", true},
          {"", "v1", "ReplicationController", true},
          {"", "v1", "Secret", true},
          {"", "v1", "Service", true},
          {"batch", "v1", "Job", true},
          {"extensions", "v1beta1", "DaemonSet", true},
          {"extensions", "v1beta1", "Deployment", true},
          {"extensions", "v1beta1", "HorizontalPodAutoscaler", true},
          {"extensions", "v1beta1", "Ingress", true},
          {"extensions", "v1beta1", "ReplicaSet", true},
          {"apps", "v1beta1", "StatefulSet", true},
      }
      ```
      
      example:
      
      ```
      $ kubectl apply -f /path/to/file --prune -l test=true \
            -w core/v1/Pod \
            -w core/v1/Service \
            -w extensions/v1beta1/Deployment 
      ```
      
      @mikedanese
      e4edd817
    • Kubernetes Submit Queue's avatar
      Merge pull request #35908 from evolvah/patch-2 · 70a8ea58
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Editorial: An orphaned "which" deleted.
      
      **What this PR does / why we need it**:
      A minor improvement to the documentation.
      
      **Which issue this PR fixes**:
      No issue filed.
      
      **Special notes for your reviewer**:
      N/A
      
      **Release note**:
      ```release-note
      NONE
      ```
      70a8ea58
    • Kubernetes Submit Queue's avatar
      Merge pull request #36017 from foxish/kubectl-new-2 · f2b56005
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Set reason and message on Pod during nodecontroller eviction
      
      **What this PR does / why we need it**: Pods which are evicted by the nodecontroller due to network partition, or unresponsive kubelet should be differentiated from termination initiated by other sources. The reason/message are consumed by kubectl to provide a better summary using get/describe.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #35725 
      
      **Release note**:
      ```release-note
      Pods that are terminating due to eviction by the nodecontroller (typically due to unresponsive kubelet, or network partition) now surface in `kubectl get` output 
      as being in state "Unknown", along with a longer description in `kubectl describe` output.
      ```
      f2b56005
    • Saad Ali's avatar
      Merge pull request #36202 from bprashanth/config_helper_debug · fabe5a9f
      Saad Ali authored
      Add debug logging to gci startup
      fabe5a9f
    • bprashanth's avatar
      Add debug logging to gci startup · 28e880b6
      bprashanth authored
      28e880b6
    • Kubernetes Submit Queue's avatar
      Merge pull request #36160 from kargakis/make-update · 710c8406
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Add make update to update most generated stuff
      
      Closes https://github.com/kubernetes/kubernetes/issues/24737
      
      @ixdy ptal
      710c8406
    • Kubernetes Submit Queue's avatar
      Merge pull request #36148 from kargakis/edit-list · 6ac5887e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      kubectl: make edit work with lists again
      
      @kubernetes/kubectl this is fixing https://github.com/kubernetes/kubernetes/issues/20519 and slightly changes the behavior of --recursive when the directory that is being edited has files with errors. Previously since `edit` was working on an object basis, bad objects would be skipped and the editor would load the next object. We want to load multiple objects in the same list and it's impossible to load invalid objects in a list so --recursive will not work if there is any error in the directory. I think this is an acceptable trade-off.
      
      Review here: https://github.com/kubernetes/kubernetes/pull/36148/files?w=1
      6ac5887e
  2. 03 Nov, 2016 30 commits
    • Anirudh's avatar
      Added a sleep for the podGC to catch up. · 9d0f1c24
      Anirudh authored
      The functionality used to exist entirely in the NC which would
      previously clean up pods and nodes together. Now, we simply
      wait for the PodGC to see that the node is now deleted and clean up the
      pods. This may take a while and hence we set a 1 minute timeout.
      9d0f1c24
    • Kubernetes Submit Queue's avatar
      Merge pull request #35715 from apelisse/owners-pkg-kubectl · 27118fe2
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Curating Owners: pkg/kubectl
      
      In an effort to expand the existing pool of reviewers and establish a
      two-tiered review process (first someone lgtms and then someone
      experienced in the project approves), we are adding new reviewers to
      existing owners files.
      ## If You Care About the Process:
      
      We did this by algorithmically figuring out who’s contributed code to
      the project and in what directories.  Unfortunately, that doesn’t work
      well: people that have made mechanical code changes (e.g change the
      copyright header across all directories) end up as reviewers in lots of
      places.
      
      Instead of using pure commit data, we generated an excessively large
      list of reviewers and pruned based on all time commit data, recent
      commit data and review data (number of PRs commented on).
      
      At this point we have a decent list of reviewers, but it needs one last
      pass for fine tuning.
      ## TLDR:
      
      As an owner of a sig/directory and a leader of the project, here’s what
      we need from you:
      1. Comment on the pull-request explaining the changes you want. I'll
         take care of doing them (unless you want to modify the pull-request
         yourself).
      2. OWNERS files in subdirectory can be removed if they are redundant with
         top-directory files.
      3. Please use the ALIAS feature if you want to re-use a list of persons
         in different files.
      27118fe2
    • Kubernetes Submit Queue's avatar
      Merge pull request #35567 from mwielgus/allowed_disruptions_b2 · f0ca9fbd
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Switch DisruptionBudget api from bool to int allowed disruptions [only v1beta1]
      
      Continuation of #34546. Apparently it there is some bug that prevents us from having 2 different incompatibile version of API in integration tests. So in this PR v1alpha1 is removed until testing infrastructure is fixed.
      
      Base PR comment:
      
      Currently there is a single bool in disruption budget api that denotes whether 1 pod can be deleted or not. Every time a pod is deleted the apiserver filps the bool to false and the disruptionbudget controller sets it to true if more deletions are allowed. This works but it is far from optimal when the user wants to delete multiple pods (for example, by decreasing replicaset size from 10000 to 8000).
      This PR adds a new api version v1beta1 and changes bool to int which contains a number of pods that can be deleted at once.
      
      cc: @davidopp @mml @wojtek-t @fgrzadkowski @caesarxuchao
      f0ca9fbd
    • Kubernetes Submit Queue's avatar
      Merge pull request #36181 from yujuhong/get_logs · 32bc46a2
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Node e2e: collect logs if the test fails unexpectedly
      32bc46a2
    • Kubernetes Submit Queue's avatar
      Merge pull request #36103 from Crassirostris/kibana-image-fix · 05a08399
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Fixed kibana image and controller to work through proxy
      
      As described in #34969, new kibana image doesn't work properly with proxies without additional configuration.
      
      @piosz
      05a08399
    • Kubernetes Submit Queue's avatar
      Merge pull request #36096 from rmmh/disable-verify-owners · 04a74570
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Disable the test-owners verify step until the merge conflicts are resolved
      
      It's causing more pain than it's preventing currently. There should be some simpler ways to fix this.
      04a74570
    • Kubernetes Submit Queue's avatar
      Merge pull request #35859 from madhusudancs/federation-kubefed-init-02 · fc6db328
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      [Federation][init-02] Stop passing command factory to the init command.
      
      Please review only the last commit here. This is based on PR #35856 which will be reviewed independently.
      
      Design Doc: PR #34484
      
      cc @kubernetes/sig-cluster-federation @nikhiljindal
      fc6db328
    • Anirudh's avatar
      Update bazel · 6d7213dd
      Anirudh authored
      6d7213dd
    • Anirudh's avatar
      8fd7de5f
    • Anirudh's avatar
      Set reason and message on Pod during nodecontroller eviction · a5bdc5f5
      Anirudh authored
      Pods which are evicted by the nodecontroller due to network
      malfunction, or unresponsive kubelet should be differentiated
      from termination initiated by other sources. The reason/message
      are consumed by kubectl to provide a better summary using get/describe.
      a5bdc5f5
    • Jing Xu's avatar
      Enable NFS volume test · ceb2de29
      Jing Xu authored
      This PR fixes the dockerfile for NFS server image and enable NFSv4.
      After using containeried mounts approach on GCI, this test should pass.
      ceb2de29
    • Kubernetes Submit Queue's avatar
      Merge pull request #36147 from jsafrane/fix-local-up · c4eb04af
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Fix typo in local-up-cluster
      
      Use curly braces instead of round ones for bash variable expansion. The
      script complains about unknown ROOT_CA_FILE when running with
      KUBE_ENABLE_CLUSTER_DNS=true.
      c4eb04af
    • Yu-Ju Hong's avatar
      Node e2e: collect logs if the test fails unexpectedly · 97a34806
      Yu-Ju Hong authored
      This only works for nodes with journald.
      97a34806
    • Saad Ali's avatar
      Merge pull request #36163 from sjenning/fix-cm-crossbuild · 01c295e5
      Saad Ali authored
      fix cross build for kubelet/cm
      01c295e5
    • Kubernetes Submit Queue's avatar
      Merge pull request #35856 from madhusudancs/federation-kubefed-init-01 · 758c56cc
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      [Federation] Add unit tests for `kubefed init`'s certificate generator.
      
      Please review only the last commit here. This is based on PR #35594 which will be reviewed independently.
      
      These are a subset of unit tests for code introduced in PR #35594
      
      Design Doc: PR #34484
      
      cc @kubernetes/sig-cluster-federation @quinton-hoole
      758c56cc
    • Kubernetes Submit Queue's avatar
      Merge pull request #35810 from deads2k/client-18-decode-status · 7c391158
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      always allow decoding of status when returned from the API
      
      `unversioned.Status` should be able to come back from any API version and still be properly decoded.  This doesn't happen today by default.
      
      @smarterclayton  Our projectrequest endpoint returns a `Status` object on a 200 return from list to indicate everything went well.  This (or something like it) is needed to make the API accepted by `kubectl`.  Alternatively, we change the API to return a different (still not a `Project`) value from list, which still feels wrong.
      7c391158
    • Marcin's avatar
      Remove policy/v1alpha1 from docs · 9e40c116
      Marcin authored
      9e40c116
    • Marcin's avatar
      Autogenerated code and docs · 3872a470
      Marcin authored
      3872a470
    • Kubernetes Submit Queue's avatar
      Merge pull request #35624 from gmarek/nodeinfo · c83a9246
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Scheduler Reduce function can use nodeNameToNodeInfo map
      c83a9246
    • Kubernetes Submit Queue's avatar
      Merge pull request #25532 from mkulke/resolve-nodename-in-kubelet-comm · 43b79d66
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Populate Node.Status.Addresses with Hostname
      
      This PR is supposed to address #22063 
      
      Currently `NodeName` has to be a resolvable dns address on the master to allow apiserver -> kubelet communication (exec, log, port-forward operations on a pod). In some situations this is unfortunate (see the discussions on the issue).
      
      The PR aims to do the following:
      - Populate the `Type: Hostname` in the `Node.Status.Addresses` array, the type is already defined, but was not used so far.
      - Add logic to resolve a Node's Hostname when the apiserver initiates communication with the Kubelet, instead of using the Nodename string as Hostname.
      
      ```release-note
      The hostname of the node (as autodetected by the kubelet, specified via --hostname-override, or determined by the cloudprovider) is now recorded as an address of type "Hostname" in the status of the Node API object. The hostname is expected to be resolveable from the apiserver.
      ```
      43b79d66
    • Kubernetes Submit Queue's avatar
      Merge pull request #36166 from yujuhong/remove_mount_rootfs_flag · bcfb4366
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      cr2 e2e: remove experimental-mounter-rootfs flag
      bcfb4366
    • Seth Jennings's avatar
      fix cross build for kubelet/cm · 05bb2702
      Seth Jennings authored
      05bb2702
    • Kubernetes Submit Queue's avatar
      Merge pull request #35900 from deads2k/api-34-healthz · 909e19b8
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      promote /healthz and /metrics to genericapiserver
      
      Promotes `/healthz` to genericapiserver with methods to add healthz checks before running.
      
      Promotes `/metrics` to genericapiserver gated by config flag.
      
      @lavalamp adds the healthz checks linked to `postStartHooks` as promised.
      909e19b8
    • Yu-Ju Hong's avatar
      cr2 e2e: remove experimental-mounter-rootfs flag · 722ecfb2
      Yu-Ju Hong authored
      The commit was reverted and the flag no longer exists.
      722ecfb2
    • Kubernetes Submit Queue's avatar
      Merge pull request #35799 from deads2k/client-17-negotiation · f91cd178
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      clean up client version negotiation to handle no legacy API
      
      Version negotiation fails if the legacy API endpoint isn't available.
      
      This tightens up the negotiation interface based to more clearly express what each stage is doing and what the constraints on negotiation are.  This is needed to speak to generic API servers.
      
      @kubernetes/kubectl
      f91cd178
    • Kubernetes Submit Queue's avatar
      Merge pull request #33270 from hpcloud/bug/33128 · 3fe8db86
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Don't rely on device name provided by Cinder
      
      See issue #33128
      
      We can't rely on the device name provided by Cinder, and thus must perform
      detection based on the drive serial number (aka It's cinder ID) on the
      kubelet itself.
      
      This patch re-works the cinder volume attacher to ignore the supplied
      deviceName, and instead defer to the pre-existing GetDevicePath method to
      discover the device path based on it's serial number and /dev/disk/by-id
      mapping.
      
      This new behavior is controller by a config option, as falling back
      to the cinder value when we can't discover a device would risk devices
      not showing up, falling back to cinder's guess, and detecting the wrong
      disk as attached.
      3fe8db86
    • Michail Kargakis's avatar
      2bc5f452
    • Kubernetes Submit Queue's avatar
      Merge pull request #35292 from sttts/sttts-bindnetwork · 356b28b7
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Add BindNetwork to genericapiserver Config
      
      This is needed for downstream use:
      
      `BindNetwork` is the type of network to bind to - defaults to "tcp4", accepts "tcp", "tcp4", and "tcp6".
      356b28b7
    • Kubernetes Submit Queue's avatar
      Merge pull request #33768 from hpcloud/bug/33759 · 95eef6e4
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Corect filtering of OpenStack LBaaS resources to delete
      
      Neutron's API ignores unknown parameters. When listing pools etc, K8
      attempts to filter on "LoadBalancerID", which is not a valid filter.
      As such, it is ignored by Neutron, and a list of all pools is
      returned. K8 then proceeds to delete each of the pools.
      
      Instead, we now double check the resources really belong to the LB
      we're trying to delete.
      
      Fixes issue #33759
      95eef6e4
    • Marcin's avatar
      Temporairly remove disruption e2e · d413f697
      Marcin authored
      d413f697