1. 12 Apr, 2016 6 commits
    • Alex Robinson's avatar
      Merge pull request #24075 from a-robinson/multizone · 80a75ff7
      Alex Robinson authored
      Add an e2e test suite for multi-zone GKE clusters.
      80a75ff7
    • k8s-merge-robot's avatar
      Merge pull request #20204 from HaiyangDING/predlib · e93c0d72
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      Move predicates into library
      
      This PR tries to implement #12744 
      
      Any suggestions/ideas are welcome. @davidopp 
      
      current state: integration test fails if including podCount check in Kubelet.
          
      DONE:
          1. refactor all predicates: predicates return fitOrNot(bool) and error(Error) in which the latter is of type PredicateFailureError or InsufficientResourceError
          2. GeneralPredicates() is a predicate function, which includes serveral other predicate functions (PodFitsResource, PodFitsHost, PodFitsHostPort). It is registered as one of the predicates in DefaultAlgorithmProvider, and is also called in canAdmitPod() in Kubelet and should be called by other components (like rescheduler, etc if necessary. See discussion in issue #12744
      TODO:
          1. determine which predicates should be included in GeneralPredicates()
          2. separate GeneralPredicates() into: a.) GeneralPredicatesEvictPod() and b.) GeneralPredicatesNotEvictPod()
          3. DaemonSet should use GeneralPredicates()
      e93c0d72
    • k8s-merge-robot's avatar
      Merge pull request #16964 from liggitt/json_precision · fcddb9cb
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      Preserve int data when unmarshaling
      
      There are several places we use `json.Unmarshal` into an unstructured map (StrategicMergePatch, UnstructuredJSONScheme, many others).
      
      In this scenario, the json package converts all numbers to float64. This exposes many of the int64 fields in our API types to corruption when the unstructured map is marshalled back to json.
      
      A simple example is a pod with an `"activeDeadlineSeconds": 1000000`. Trying to use `kubectl label`, `annotate`, `patch`, etc results in that int64 being converted to a float64, submitted to the server, and the server rejecting it with an error about "cannot unmarshal number 1e+6 into Go value of type int64"
      
      The json package provides a way to defer conversion of numbers (`json.Decoder#UseNumber`), but does not actually do conversions to int or float. This PR makes use of that feature, and post-processes the unmarshalled map to convert json.Number objects to either int64 or float64 values
      fcddb9cb
    • k8s-merge-robot's avatar
      Merge pull request #23660 from goltermann/vetclean · acf9492c
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      Additional go vet fixes
      
      Mostly:
      - pass lock by value
      - bad syntax for struct tag value
      - example functions not formatted properly
      acf9492c
    • k8s-merge-robot's avatar
      Merge pull request #24015 from yujuhong/rss_memory · fda8ec2f
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      kubele: add RSS memroy to the summary API
      fda8ec2f
    • k8s-merge-robot's avatar
      Merge pull request #23763 from david-mcmahon/build-regex · af1803bf
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      Fix valid CI version regex in parse_and_validate_release_version().
      
      Ref: #23759
      cc @ihmccreery 
      af1803bf
  2. 11 Apr, 2016 14 commits
  3. 10 Apr, 2016 2 commits
    • HaiyangDING's avatar
      move predicates into library (address #12744) · 41ed8547
      HaiyangDING authored
      DONE:
      1. refactor all predicates: predicates return fitOrNot(bool) and error(Error) in which the latter is of type
      	PredicateFailureError or InsufficientResourceError. (For violation of either MaxEBSVolumeCount or
              MaxGCEPDVolumeCount, returns one same error type as ErrMaxVolumeCountExceeded)
      2. GeneralPredicates() is a predicate function, which includes serveral other predicate functions (PodFitsResource,
              PodFitsHost, PodFitsHostPort). It is registered as one of the predicates in DefaultAlgorithmProvider, and
              is also called in canAdmitPod() in Kubelet and should be called by other components (like rescheduler, etc)
              if necessary. See discussion in issue #12744
      3. remove podNumber check from GeneralPredicates
      4. HostName is now verified in Kubelet's canAdminPod(). add TestHostNameConflicts in kubelet_test.go
      5. add getNodeAnyWay() method in Kubelet to get node information in standaloneMode
      
      TODO:
      1. determine which predicates should be included in GeneralPredicates()
      2. separate GeneralPredicates() into:
      	a. GeneralPredicatesEvictPod() and
      	b. GeneralPredicatesNotEvictPod()
      3. DaemonSet should use GeneralPredicates()
      41ed8547
    • k8s-merge-robot's avatar
      Merge pull request #23962 from fejta/test-cmd · e3117721
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      Update hack/test-cmd.sh to use tagged, gcr.io images
      
      Migrate hack/test-cmd.sh and related test data to use tagged, gcr.io versions of the images for #13288 and #20836
      e3117721
  4. 09 Apr, 2016 9 commits
  5. 08 Apr, 2016 9 commits