1. 30 Aug, 2016 2 commits
  2. 26 Aug, 2016 22 commits
  3. 25 Aug, 2016 16 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #31363 from rmmh/5day-update · 610a978e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Get 5 days of test history when updating test owners.
      610a978e
    • Kubernetes Submit Queue's avatar
      Merge pull request #31390 from hongchaodeng/fix · 40efde7e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      return destroy func to clean up internal resources of storage
      
      What?
      Provide a destroy func to clean up internal resources of storage.
      It changes **unit tests** to clean up resources. (Maybe fix integration test in another PR.)
      
      Why?
      Although apiserver is designed to be long running, there are some cases that it's not.
      See https://github.com/kubernetes/kubernetes/issues/31262#issuecomment-242208771
      We need to gracefully shutdown and clean up resources.
      40efde7e
    • AdoHe's avatar
      10440ed4
    • Chao Xu's avatar
      minor client-go doc change · 0c88db3f
      Chao Xu authored
      0c88db3f
    • Kubernetes Submit Queue's avatar
      Merge pull request #30551 from david-mcmahon/job-cache · a953eb42
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Construct a valid json file for the job cache.
      a953eb42
    • Kubernetes Submit Queue's avatar
      Merge pull request #31367 from Amey-D/gci-kubelet · f090fd15
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      gci: decouple from the built-in kubelet version
      
      Prior to this change, configure.sh would:
      (1) compare versions of built-in kubelet and downloaded kubelet, and
      (2) bind-mount downloaded kubelet at /usr/bin/kubelet in case of
      version mismatch
          
      With this change, configure.sh:
      (1) compares the two versions only on test clusters, and
      (2) uses the actual file paths to start kubelet w/o any bind-mounting
          
      To allow (2), this change also provides its own version of kubelet
      systemd service file.
          
      Effectively with this change we will always use the downloaded kubelet
      binary along with its own systemd service file on non-test clusters.  The
      main advantage is this change does not rely on the kubelet being built in to
      the OS image.
      
      @dchen1107 @wonderfly  can you please review
      
      cc/ @kubernetes/goog-image FYI
      f090fd15
    • Yifan Gu's avatar
    • Kubernetes Submit Queue's avatar
      Merge pull request #31445 from pmorie/goroutinemap-godoc · 75fba4c9
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Improve godoc for goroutinemap
      
      Improves the godoc of goroutinemap; found while preparing to use this type in another PR.
      
      @saad-ali
      75fba4c9
    • Kubernetes Submit Queue's avatar
      Merge pull request #31409 from Random-Liu/fix-verify-golint-sort-hint · a143cdd0
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Fix sort hint in `hack/verify-golint.sh`
      
      The `verify-golint.sh` sorts all items with `LANG=C sort`, but it only hints developers to use `sort`, which causes a little trouble for me.
      
      /cc @jfrazelle  @sttts
      a143cdd0
    • Kubernetes Submit Queue's avatar
      Merge pull request #30540 from Random-Liu/refactor-node-e2e-framework · 863dd10a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Node Conformance Test: Refactor node e2e framework
      
      For #30122, #30174.
      Based on #30348.
      
      **Please only review the last 3 commits.**
      
      This PR is part of our roadmap to package node conformance test.
      The 1st commit is from #30348, it removed unnecessary dependencies in the node e2e test framework, because we've statically linked these dependencies.
      
      The PR refactored the node e2e framework. Moving different utilities into different packages under `pkg/`.
      
      We need to do this because:
      1) Files like e2e_remote.go and e2e_build.go should only be used by runner, but they were compiled into the test suite because they were placed in the same package. The worst thing is that it will introduce some never used flags in the test suite binary.
      2) Make the directory structure more clear. Only test should be placed in `test/e2e_node`, other utilities should be placed in different packages in `pkg/`.
      
      @dchen1107 @vishh 
      /cc @kubernetes/sig-node @kubernetes/sig-testing
      863dd10a
    • Kubernetes Submit Queue's avatar
      Merge pull request #29216 from mtaufen/kconf-refactor · df54a283
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Refactor to simplify the hard-traveled path of the KubeletConfiguration object
      
      ### There are two main goals of this PR:
      - Make `NewMainKubelet` take `KubeletConfiguration` and `KubeletDeps` as its only arguments.
      - Finally eliminate the legacy `KubeletConfig` type.
      
      ### Why am I doing this?
      Long story short, I started adding an endpoint to the Kubelet to display the *current* config that the Kubelet was running with, and I realized a few things:
      - There were so many transformations to the configuration, in so many different places, before it was used that I wasn't confident the values initially passed in on the `KubeletConfiguration` would be the correct values to report by the time someone used the endpoint to check on them.
      - Trying to reconstruct a `KubeletConfiguration` object from a mix of the `Kubelet` object and the legacy `KubeletConfig` object would just add to the mess (not to mention maintenance burden), and it would be much easier if we passed the `KubeletConfiguration` all the way down to where we construct the `Kubelet` object, and then just store a reference to the `KubeletConfiguration` object on the `Kubelet` for later retrieval. 
      - My hope is that by eliminating unnecessary internal transformations to the config information, and by consolidating the remaining ones in a single place (`NewMainKubelet`), we can have a much clearer understanding of what happens to the config before it makes it to the `Kubelet` object, and also a better ability to report up-to-date information on the status of the Kubelet. 
      
      So I started cleaning things up :-). 
      
      ### Discussion points
      
      It was relatively simple to get `NewMainKubelet` to just take the legacy `KubeletConfig` as its only argument, because most of its arguments were just passing through `KubeletConfig` fields or passing information that was generated solely from `KubeletConfig` fields.
      
      Completely eliminating the legacy `KubeletConfig` type has been more difficult, because the fields of the `KubeletConfiguration` do not have a one-to-one relationship with the fields of the `KubeletConfig`. While I was able to eliminate many of the `KubeletConfig` fields, I'm starting to get into the nontrivial stuff and I'd like to get a discussion started on what should happen with the remaining fields (pending cherry-picking notwithstanding). 
      
      On my `kconf-refactor` branch, the legacy `KubeletConfig` object is down to the following 27 fields (from the initial 93). I'd really appreciate any guidance people have on what should happen with these fields.
      ```
      type KubeletConfig struct {
      	Auth                    server.AuthInterface
      	AutoDetectCloudProvider bool
      	Builder                 KubeletBuilder
      	CAdvisorInterface       cadvisor.Interface
      	Cloud                   cloudprovider.Interface
      	ContainerManager        cm.ContainerManager
      	DockerClient            dockertools.DockerInterface
      	EventClient             *clientset.Clientset
      	Hostname                string
      	HostNetworkSources      []string
      	HostPIDSources          []string
      	HostIPCSources          []string
      	KubeClient              *clientset.Clientset
      	Mounter                 mount.Interface
      	NetworkPlugins          []network.NetworkPlugin
      	NodeName                string
      	OOMAdjuster             *oom.OOMAdjuster
      	OSInterface             kubecontainer.OSInterface
      	PodConfig               *config.PodConfig
      	Recorder                record.EventRecorder
      	Reservation             kubetypes.Reservation
      	TLSOptions              *server.TLSOptions
      	Writer                  kubeio.Writer
      	VolumePlugins           []volume.VolumePlugin
      	EvictionConfig          eviction.Config
      	ContainerRuntimeOptions []kubecontainer.Option
      	Options                 []Option
      }
      ```
      
      The patterns I've seen so far with respect to eliminating `KubeletConfig` fields may be of some help:
      - Some fields could just be eliminated, because they were either the same on `KubeletConfiguration` or just a typecast away from being the same. 
      - Some fields from `KubeletConfiguration` just ended up in substructures of `KubeletConfig`; it was easy to just remove those substructure fields from `KubeletConfig` and construct them using local vars in `NewMainKubelet` instead. 
      - Some fields, e.g. `Runonce`, were able to move into the `KubeletConfiguration`.
      
      
      **P.S.** Part of the way I'm making the transition is by adding an extra `KubeletConfiguration` argument to functions that originally took a `KubeletConfig`, and field-by-field, switching those functions over to using information from the `KubeletConfiguration`. Once the `KubeletConfig` is gone, I'll remove the `KubeletConfig` argument, and the transition will be complete.
      
      **Final note:**
      Please try to keep in mind that this is not a general Kubelet cleanup effort, it is just me cleaning things up that are directly in the path of what I'm trying to do. Let's keep this focused on cleanup related to the path that config takes on it's way to the Kubelet.
      
      
      **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`. 
      -->
      ```
      Removed Flags
      - Removes the --auth-path flag. This has been deprecated in favor of --kubeconfig for two releases.
      ```
      df54a283
    • David McMahon's avatar
      Update CHANGELOG.md for v1.4.0-alpha.3. · 8f0109ea
      David McMahon authored
      8f0109ea
    • Kubernetes Submit Queue's avatar
      Merge pull request #31426 from mwielgus/ns-e2e-fix3 · 20e078fd
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Use deleteTimestamp in federated ns e2e tests
      
      Fixes: #31317
      20e078fd
    • Kubernetes Submit Queue's avatar
      Merge pull request #31354 from janetkuo/sj-replace-e2e · a4665cff
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Update sj on UpdateStatus return value
      
      Fixes #30542, #30549
      
      cc @erictune
      a4665cff
    • Paul Morie's avatar
      Improve godoc for goroutinemap · 12942674
      Paul Morie authored
      12942674
    • Kubernetes Submit Queue's avatar
      Merge pull request #30738 from caesarxuchao/copy-keep-vendor · d836b248
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Keep vendor/ and Godep/ when creating the staging client, add a readme
      
      In copy.sh, instead of removing the vendor/, moving it to _vendor. vendor/ is needed when we publish the staging client to its own repository.
      d836b248