1. 07 Dec, 2016 21 commits
  2. 06 Dec, 2016 19 commits
    • mbohlool's avatar
      Update generated swagger/OpenAPI spec · c0cfcc6c
      mbohlool authored
      c0cfcc6c
    • Kubernetes Submit Queue's avatar
      Merge pull request #38203 from mwielgus/fix-labeling · b3ca990c
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Skip not registered nodes in labeling in CA e2e tests
      
      This PR fixes problems with querying for not yet registered nodes. The underlying problem is related to the way the test is written. So we apply labels to the existing nodes, create pods that require N+1 nodes  with the labels and expect a new node to be added. But the new node is created without the labels. As soon as the node is spotted it is labeled. But sometimes it is too late. CA notices that the new node doesn't solve the problem and ask for another, hoping that this time it will get the node with the labels.  The node is added by MIG but it takes a minute or more for the node to start and register in kubernetes. At this moment the labeling is started. The list of nodes to be labeled is taken from MIG. The extra node is there. But it is not in kubernetes yet. So 404 error is returned on labeling attempt and test fails.
      
      This PR filters the list of nodes to be labeled and applies the labels only on the fully registered nodes.
      
      Fixes 404 in #33754
      
      cc: @jszczepkowski @piosz @fgrzadkowski
      b3ca990c
    • Kubernetes Submit Queue's avatar
      Merge pull request #38218 from vendrov/patch-1 · 94051999
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      enable the kubernetes-metadata-plugin in a case of daemonSet
      
      <!--  Thanks for sending a pull request!  Here are some tips for you:
      1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
      2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
      3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
      -->
      
      **What this PR does / why we need it**:
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      
      **Special notes for your reviewer**:
      
      **Release note**:
      <!--  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
      ```
      
      instruction to users that would like to enable the fluentd kubernetes-metadata plugin.
      Relevant only if you are using daemon-set
      94051999
    • Kubernetes Submit Queue's avatar
      Merge pull request #38136 from deads2k/auth-11-join-certs · d4071098
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 36990, 37494, 38152, 37561, 38136)
      
      join client CA bundles
      
      Last commit grabs client CA bundles from disparate parts of the auth config and makes a pool that contains all of them.
      
      I suspect a rebase broke this because of ordering.  I'll keep these separate to make it easier for me to debug.
      d4071098
    • Kubernetes Submit Queue's avatar
      Merge pull request #37561 from deads2k/fed-01-types · f600c94e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 36990, 37494, 38152, 37561, 38136)
      
      api federation types
      
      First commit adds types that can back the kubernetes-discovery server with an `kubectl` compatible way of adding federated servers.  Second commit is just generated code.
      
      After we have types, I'd like to start splitting `kubernetes-discovery` into a "legacy" mode which will support what we have today and a "normal" mode which will provide an API federation server like this: https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/federated-api-servers.md that includes both discovery and proxy in a single server.  Something like this: https://github.com/openshift/kube-aggregator .
      
      @kubernetes/sig-api-machinery @nikhiljindal
      f600c94e
    • Kubernetes Submit Queue's avatar
      Merge pull request #38152 from Random-Liu/move-ssh-into-separate-file · bbd3f682
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 36990, 37494, 38152, 37561, 38136)
      
      Node E2E: Move ssh related functions into ssh.go.
      
      This PR moves all ssh related functions and variables into a separate file `ssh.go`.
      
      This is a minor cleanup preparing for my test framework refactoring work. Will send out the refactor PR later.
      
      /cc @kubernetes/sig-node
      bbd3f682
    • Kubernetes Submit Queue's avatar
      Merge pull request #37494 from kad/issue-36573 · 6331bec5
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 36990, 37494, 38152, 37561, 38136)
      
      Pass proxy environment variables to static pods
      
      **What this PR does / why we need it**:
      
      To access outside world or cloud provider APIs it might be
      required to use proxy. kubeadm will be passing proxy variables to static pods during init stage.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes kubernetes/kubernetes#36573, kubernetes/kubeadm#5
      
      **Special notes for your reviewer**:
      
      **Release note**:
      ```release-note
      - kubeadm will pass proxy environment variables to static pods.
      ```
      6331bec5
    • Kubernetes Submit Queue's avatar
      Merge pull request #36990 from bboreham/never-hairpin-all-interfaces · 3c1a8f05
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 36990, 37494, 38152, 37561, 38136)
      
      Never set hairpin mode on every interface
      
      <!--  Thanks for sending a pull request!  Here are some tips for you:
      1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
      2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
      3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
      -->
      
      **What this PR does / why we need it**:
      
      Abandon setting hairpin mode if finding the peer interface fails; simply return an error.
      
      There are many reasons why finding the peer could fail - "`ethtool` not installed" is popular.  Going ahead and changing the hairpin setting on every bridge-connected interface on the machine may have unwanted effects on other things installed on the machine (e.g. https://github.com/kubernetes/kops/issues/879)
      
      **Which issue this PR fixes** : fixes #19766
      
      **Special notes for your reviewer**:
      
      **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
      Kubelet will no longer set hairpin mode on every interface on the machine when an error occurs in setting up hairpin for a specific interface.
      ```
      
      /cc @thockin who appears to have requested this implementation at https://github.com/kubernetes/kubernetes/pull/13628#issuecomment-138128180
      3c1a8f05
    • Ryan Hitchman's avatar
    • mbohlool's avatar
    • keglevich3's avatar
      enable the kubernetes-metadata-plugin · b68e4c0a
      keglevich3 authored
      instruction to users that would like to enable the fluentd kubernetes-metadata plugin.
      Relevant only if you are using daemon-set
      b68e4c0a
    • Kubernetes Submit Queue's avatar
      Merge pull request #29683 from xiangpengzhao/add-make-help · 23d7615e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Add "make help" to list all make targets and help info
      
      As discussed in [PR#29320comment](https://github.com/kubernetes/kubernetes/pull/29320#issuecomment-234420145), add a `make help` to make the use of `make` easy. Though it works well on my Ubuntu now (see the output as below, not sure if it still works on other systems), I believe the scripts are somewhat ugly, so, any suggestion for optimization is welcome.
      
      BTW, I intended to list targets by groups, but it's hard to do that automatically. So I just list them in alphabetical order. I think this may be enough.
      
      There are still some TODOs (also mentioned in the Makefile):
      1. make EXCLUDE_TARGET auto-generated when there are other files in cmd/
      2. should we exclude the target "cmd/libs" but include "cmd/libs/go2idl/*"?
      3. should we let `help` be the first/default target? It will show the help when we just type `make`.
      
      1 and 2 are to exclude the invalid targets generated by `$(notdir $(abspath $(wildcard cmd/*/)))`:
      - OWNERS is just a file, it can't be a target
      - libs itself cannot be built
      
      /cc @thockin @jfrazelle @MHBauer @dims 
      
      Output:
      
      ```
      root@vm:/home/paas/zxp/code/k8s/fork/kubernetes# make help
      --------------------------------------------------------------------------------
      all
      # Build code.
      #
      # Args:
      #   WHAT: Directory names to build.  If any of these directories has a 'main'
      #     package, the build will produce executable files under _output/go/bin.
      #     If not specified, "everything" will be built.
      #   GOFLAGS: Extra flags to pass to 'go' when building.
      #   GOLDFLAGS: Extra linking flags passed to 'go' when building.
      #   GOGCFLAGS: Additional go compile flags passed to 'go' when building.
      #
      # Example:
      #   make
      #   make all
      #   make all WHAT=cmd/kubelet GOFLAGS=-v
      #   make all GOGCFLAGS="-N -l"
      #     Note: Use the -N -l options to disable compiler optimizations an inlining.
      #           Using these build options allows you to subsequently use source
      #           debugging tools like delve.
      ---------------------------------------------------------------------------------
      check
      # Build and run tests.
      #
      # Args:
      #   WHAT: Directory names to test.  All *_test.go files under these
      #     directories will be run.  If not specified, "everything" will be tested.
      #   TESTS: Same as WHAT.
      #   GOFLAGS: Extra flags to pass to 'go' when building.
      #   GOLDFLAGS: Extra linking flags to pass to 'go' when building.
      #   GOGCFLAGS: Additional go compile flags passed to 'go' when building.
      #
      # Example:
      #   make check
      #   make test
      #   make check WHAT=pkg/kubelet GOFLAGS=-v
      ---------------------------------------------------------------------------------
      clean
      # Remove all build artifacts.
      #
      # Example:
      #   make clean
      #
      # TODO(thockin): call clean_generated when we stop committing generated code.
      ---------------------------------------------------------------------------------
      clean_generated
      # Remove all auto-generated artifacts.
      #
      # Example:
      #   make clean_generated
      ---------------------------------------------------------------------------------
      clean_meta
      # Remove make-related metadata files.
      #
      # Example:
      #   make clean_meta
      ---------------------------------------------------------------------------------
      cross
      # Cross-compile for all platforms
      #
      # Example:
      #   make cross
      ---------------------------------------------------------------------------------
      federation-apiserver
      federation-controller-manager
      genfeddocs
      # Add rules for all directories in federation/cmd/
      #
      # Example:
      #   make federation-apiserver federation-controller-manager
      ---------------------------------------------------------------------------------
      gendocs
      genkubedocs
      genman
      genswaggertypedocs
      genutils
      genyaml
      hyperkube
      kube-apiserver
      kube-controller-manager
      kubectl
      kube-dns
      kubelet
      kubemark
      kube-proxy
      kubernetes-discovery
      libs
      linkcheck
      mungedocs
      # Add rules for all directories in cmd/
      #
      # Example:
      #   make kubectl kube-proxy
      ---------------------------------------------------------------------------------
      generated_files
      # Produce auto-generated files needed for the build.
      #
      # Example:
      #   make generated_files
      ---------------------------------------------------------------------------------
      ginkgo
      # Build ginkgo
      #
      # Example:
      # make ginkgo
      ---------------------------------------------------------------------------------
      help
      # Print make targets and help info
      #
      # Example:
      # make help
      ---------------------------------------------------------------------------------
      quick-release
      # Build a release, but skip tests
      #
      # Example:
      #   make release-skip-tests
      ---------------------------------------------------------------------------------
      release
      # Build a release
      #
      # Example:
      #   make release
      ---------------------------------------------------------------------------------
      release-skip-tests
      # Build a release, but skip tests
      #
      # Example:
      #   make release-skip-tests
      ---------------------------------------------------------------------------------
      test
      # Build and run tests.
      #
      # Args:
      #   WHAT: Directory names to test.  All *_test.go files under these
      #     directories will be run.  If not specified, "everything" will be tested.
      #   TESTS: Same as WHAT.
      #   GOFLAGS: Extra flags to pass to 'go' when building.
      #   GOLDFLAGS: Extra linking flags to pass to 'go' when building.
      #   GOGCFLAGS: Additional go compile flags passed to 'go' when building.
      #
      # Example:
      #   make check
      #   make test
      #   make check WHAT=pkg/kubelet GOFLAGS=-v
      ---------------------------------------------------------------------------------
      test-cmd
      # Build and run cmdline tests.
      #
      # Example:
      #   make test-cmd
      ---------------------------------------------------------------------------------
      test-e2e
      # Build and run end-to-end tests.
      #
      # Example:
      #   make test-e2e
      ---------------------------------------------------------------------------------
      test-e2e-node
      # Build and run node end-to-end tests.
      #
      # Args:
      #  FOCUS: Regexp that matches the tests to be run.  Defaults to "".
      #  SKIP: Regexp that matches the tests that needs to be skipped.  Defaults
      #    to "".
      #  RUN_UNTIL_FAILURE: If true, pass --untilItFails to ginkgo so tests are run
      #    repeatedly until they fail.  Defaults to false.
      #  REMOTE: If true, run the tests on a remote host instance on GCE.  Defaults
      #    to false.
      #  IMAGES: For REMOTE=true only.  Comma delimited list of images for creating
      #    remote hosts to run tests against.  Defaults to a recent image.
      #  LIST_IMAGES: If true, don't run tests.  Just output the list of available
      #    images for testing.  Defaults to false.
      #  HOSTS: For REMOTE=true only.  Comma delimited list of running gce hosts to
      #    run tests against.  Defaults to "".
      #  DELETE_INSTANCES: For REMOTE=true only.  Delete any instances created as
      #    part of this test run.  Defaults to false.
      #  ARTIFACTS: For REMOTE=true only.  Local directory to scp test artifacts into
      #    from the remote hosts.  Defaults to ""/tmp/_artifacts".
      #  REPORT: For REMOTE=false only.  Local directory to write juntil xml results
      #    to.  Defaults to "/tmp/".
      #  CLEANUP: For REMOTE=true only.  If false, do not stop processes or delete
      #    test files on remote hosts.  Defaults to true.
      #  IMAGE_PROJECT: For REMOTE=true only.  Project containing images provided to
      #  IMAGES.  Defaults to "kubernetes-node-e2e-images".
      #  INSTANCE_PREFIX: For REMOTE=true only.  Instances created from images will
      #    have the name "-".  Defaults to "test".
      #  INSTANCE_METADATA: For REMOTE=true and running on GCE only.
      #
      # Example:
      #   make test-e2e-node FOCUS=Kubelet SKIP=container
      #   make test-e2e-node REMOTE=true DELETE_INSTANCES=true
      #   make test-e2e-node TEST_ARGS="--cgroups-per-qos=true"
      # Build and run tests.
      ---------------------------------------------------------------------------------
      test-integration
      # Build and run integration tests.
      #
      # Example:
      #   make test-integration
      ---------------------------------------------------------------------------------
      verify
      # Runs all the presubmission verifications.
      #
      # Args:
      #   BRANCH: Branch to be passed to verify-godeps.sh script.
      #
      # Example:
      #   make verify
      #   make verify BRANCH=branch_x
      ---------------------------------------------------------------------------------
      vet
      # Run 'go vet'.
      #
      # Args:
      #   WHAT: Directory names to vet.  All *.go files under these
      #     directories will be vetted.  If not specified, "everything" will be
      #     vetted.
      #
      # Example:
      #   make vet
      #   make vet WHAT=pkg/kubelet
      ---------------------------------------------------------------------------------
      ```
      23d7615e
    • Jing Xu's avatar
      Fix unmount issue cuased by GCI mounter · 896e0b86
      Jing Xu authored
      this is a workaround for the unmount device issue caused by gci mounter. In GCI cluster, if gci mounter is used for mounting, the container started by mounter script will cause additional mounts created in the container. Since these mounts are irrelavant to the original mounts, they should be not considered when checking the mount references. By comparing the mount path prefix, those additional mounts can be filtered out.
      
      Plan to work on better approach to solve this issue.
      896e0b86
    • Marcin Wielgus's avatar
      1266ee7a
    • deads2k's avatar
      add apiregistration types · 0a6193fb
      deads2k authored
      0a6193fb
    • Mike Danese's avatar
      autogenerated · 3352fd16
      Mike Danese authored
      3352fd16
    • Mike Danese's avatar
      add a configuration for kubelet to register as a node with taints · e225625a
      Mike Danese authored
      and deprecate register-schedulable
      e225625a
    • deads2k's avatar
      generated · 583dfbb0
      deads2k authored
      583dfbb0
    • Hongchao Deng's avatar
      7a0176da