1. 28 May, 2017 2 commits
  2. 27 May, 2017 24 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #45859 from DirectXMan12/refactor/protobuf-for-metrics · c2667203
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Protobuf generation for k8s.io/metrics
      
      This PR introduces protobuf generation for k8s.io/metrics.  Doing so required:
      
      - fixing a bug in `go-to-protobuf` causing the `cast{key,value,type}` values to not be quoted when coming from struct tags (and not auto-injection by `go-to-protobuf` itself).
      - Making sure the proto IDL in k8s.io/client-go had a package name of `k8s.io.client_go.xyz` and not `k8s.io.kubernetes.xyz`.
      
      Additionally, I updated `go-to-protobuf` to skip functions and non-public types when composing the import list, which cuts down on the more bizarre imports in the IDL (like importing the sample API package in every IDL file because it contained `addToScheme`, like every other API package).
      
      We use `castvalue` to force gogo-proto to realize that it should consider the value of the map which underlies `ResourceList` when calculating which imports need to be named.  Otherwise, it ignores the value's type, leading to compilation errors when it later can't find an import it assumed existed.  We accidentally didn't hit this in `k8s.io/kubernetes/pkg/api/v1` since another field coincidentally happens to directly use `resource.Quantity` (the value type of `ResourceList`).
      
      **Release note**:
      ```release-note
      NONE
      ```
      c2667203
    • Kubernetes Submit Queue's avatar
      Merge pull request #46555 from ixdy/bazel-sandbox-tmpfs-path · a41763b2
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Bazel: mount tmpfs on /tmp
      
      **What this PR does / why we need it**: our custom `go_genrule` assumes a hermetic `/tmp/` directory, but Bazel 0.5.0 just mounts the host `/tmp` read-write by default.
      
      As a result, we can run into build failures like:
      ```
      W0526 23:53:12.504] ERROR: /workspace/k8s.io/kubernetes/pkg/generated/openapi/BUILD:7:1: error executing shell command: 'set -e
      W0526 23:53:12.504] export GOROOT=$(pwd)/external/io_bazel_rules_go_toolchain/bin/..
      W0526 23:53:12.504] export GOPATH=/tmp/gopath
      W0526 23:53:12.505] export GO_WORKSPACE=${GOPATH}/src/k8s.io/kubernetes
      W0526 23:53:12.505] mkdir -p ${GO_WORKSPACE%/*}
      W0526 23:53:12.505] ln -s $(pwd) ${GO_W...' failed: bash failed: error executing command 
      W0526 23:53:12.506]   (exec env - \
      W0526 23:53:12.506]   /bin/bash -c 'set -e
      W0526 23:53:12.506] export GOROOT=$(pwd)/external/io_bazel_rules_go_toolchain/bin/..
      W0526 23:53:12.506] export GOPATH=/tmp/gopath
      W0526 23:53:12.506] export GO_WORKSPACE=${GOPATH}/src/k8s.io/kubernetes
      W0526 23:53:12.507] mkdir -p ${GO_WORKSPACE%/*}
      W0526 23:53:12.507] ln -s $(pwd) ${GO_WORKSPACE}
      W0526 23:53:12.507] export GENGOPATH=/tmp/gengopath
      W0526 23:53:12.508] export GENGO_WORKSPACE=${GENGOPATH}/src/k8s.io/kubernetes
      W0526 23:53:12.508] mkdir -p ${GENGO_WORKSPACE%/*}
      W0526 23:53:12.508] ln -s $(pwd)/bazel-out/local-fastbuild/genfiles ${GENGO_WORKSPACE}
      W0526 23:53:12.508] export GOPATH=${GOPATH}:${GENGOPATH}
      W0526 23:53:12.508] cd ${GO_WORKSPACE}
      W0526 23:53:12.510] bazel-out/host/bin/cmd/libs/go2idl/openapi-gen/openapi-gen --v 1 --logtostderr --go-header-file hack/boilerplate/boilerplate.go.txt --output-file-base zz_generated.openapi --output-package k8s.io/kubernetes/pkg/generated/openapi --input-dirs k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1,k8s.io/kubernetes/federation/apis/federation/v1beta1,k8s.io/kubernetes/pkg/api/v1,k8s.io/kubernetes/pkg/apis/abac/v0,k8s.io/kubernetes/pkg/apis/abac/v1beta1,k8s.io/kubernetes/pkg/apis/admission/v1alpha1,k8s.io/kubernetes/pkg/apis/admissionregistration/v1alpha1,k8s.io/kubernetes/pkg/apis/apps/v1beta1,k8s.io/kubernetes/pkg/apis/authentication/v1,k8s.io/kubernetes/pkg/apis/authentication/v1beta1,k8s.io/kubernetes/pkg/apis/authorization/v1,k8s.io/kubernetes/pkg/apis/authorization/v1beta1,k8s.io/kubernetes/pkg/apis/autoscaling/v1,k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1,k8s.io/kubernetes/pkg/apis/batch/v1,k8s.io/kubernetes/pkg/apis/batch/v2alpha1,k8s.io/kubernetes/pkg/apis/certificates/v1beta1,k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1,k8s.io/kubernetes/pkg/apis/extensions/v1beta1,k8s.io/kubernetes/pkg/apis/imagepolicy/v1alpha1,k8s.io/kubernetes/pkg/apis/policy/v1beta1,k8s.io/kubernetes/pkg/apis/rbac/v1alpha1,k8s.io/kubernetes/pkg/apis/rbac/v1beta1,k8s.io/kubernetes/pkg/apis/settings/v1alpha1,k8s.io/kubernetes/pkg/apis/storage/v1,k8s.io/kubernetes/pkg/apis/storage/v1beta1,k8s.io/kubernetes/pkg/version,k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource,k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1alpha1,k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime,k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/intstr,k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/version,k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/apis/audit/v1alpha1,k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/apis/example/v1,k8s.io/kubernetes/vendor/k8s.io/client-go/pkg/api/v1,k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/custom_metrics/v1alpha1,k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/metrics/v1alpha1 && cp pkg/generated/openapi/zz_generated.openapi.go bazel-out/local-fastbuild/genfiles/pkg/generated/openapi')
      ```
      
      By specifying this flag, we can restore the old behavior.
      /assign @mikedanese @spxtr 
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      a41763b2
    • Kubernetes Submit Queue's avatar
      Merge pull request #46558 from MrHohn/esipp-endpoint-waittime · f219f3c1
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Apply KubeProxyEndpointLagTimeout to ESIPP tests
      
      Fixes #46533.
      
      The previous construction of ESIPP tests is weird, so I redo it a bit.
      
      A 30 seconds `KubeProxyEndpointLagTimeout` is introduced, as these tests ain't verifying performance, may be better to not make it too tight.
      
      /assign @thockin 
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      f219f3c1
    • Kubernetes Submit Queue's avatar
      Merge pull request #46496 from carlory/fix · fc618eb4
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      fix typo in build.sh
      
      **What this PR does / why we need it**:
      fix typo in build.sh
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      NONE
      **Special notes for your reviewer**:
      NONE
      **Release note**:
      
      ```release-note
      NONE
      ```
      fc618eb4
    • Solly Ross's avatar
      Regenerate protobuf and client-go · 8d03536d
      Solly Ross authored
      This commit regenerates the protobuf as per the recent generation
      changes (removing erroneous imports, adding k8s.io/metrics), and
      syncs the changes to client-go (which also ensures that client-go
      protobuf IDL has the correct package names).
      8d03536d
    • Kubernetes Submit Queue's avatar
      Merge pull request #46554 from thockin/kubelet-masq-flag · b58c7ec4
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46302, 44597, 44742, 46554)
      
      Do not install do-nothing iptables rules
      
      Deprecate kubelet non-masquerade-cidr.
      Do not install iptables rules if it is set to 0.0.0.0/0.
      
      Fixes #46553
      b58c7ec4
    • Kubernetes Submit Queue's avatar
      Merge pull request #44742 from cheftako/aggregate · fdb4fa68
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46302, 44597, 44742, 46554)
      
      Change to aggregator so it calls a user apiservice via its pod IP.
      
      proxy_handler now does a sideways call to lookup the pod IPs for aservice.
      It will then pick a random pod IP to forward the use apiserver request to.
      
      **What this PR does / why we need it**: It allows the aggregator to work without setting up the full network stack on the kube master (i.e. with kube-dns or kube-proxy)
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #44619
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      ```
      fdb4fa68
    • Kubernetes Submit Queue's avatar
      Merge pull request #44597 from mengqiy/replacekeys · 6927e706
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46302, 44597, 44742, 46554)
      
      support replaceKeys patch strategy
      
      Implementing according to [this proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/add-new-patchStrategy-to-clear-fields-not-present-in-patch.md).
      The revision is in kubernetes/community#620.
      
      ```release-note
      support replaceKeys patch strategy and directive for strategic merge patch
      ```
      6927e706
    • Kubernetes Submit Queue's avatar
      Merge pull request #46302 from caesarxuchao/acc-configuration-manager · 94312a0c
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Configuration manager for dynamic admission control registration
      
      Implementing this [section](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/dynamic-admission-control-configuration.md#synchronization-of-admission-control-configurations) of https://github.com/kubernetes/community/pull/611
      
      Adding a configuration manager that reads the ExternalAdmissionHookConfigurations and InitializerConfigurations periodically, and returns the merged configuration.
      
      cc @smarterclayton @whitlockjc
      94312a0c
    • Kubernetes Submit Queue's avatar
      Merge pull request #46522 from MrHohn/fix-proxy-healthz · bf60e7e2
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46252, 45524, 46236, 46277, 46522)
      
      Add /healthz back to kube-proxy metrics server
      
      Fixes #46447.
      
      /healthz is removed from kube-proxy metrics server by #44968 and that breaks our upgrade test, which run 1.6 tests on 1.7 cluster. It seems harmless to continue holding /healthz on metrics server as well, so that we won't break other potential users.
      
      /assign @bowei 
      cc @dchen1107 
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      bf60e7e2
    • Kubernetes Submit Queue's avatar
      Merge pull request #46277 from zjj2wry/credentials · 1720e200
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46252, 45524, 46236, 46277, 46522)
      
      add test in create authinfo
      
      **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**:
      
      ```release-note
      NONE
      ```
      1720e200
    • Kubernetes Submit Queue's avatar
      Merge pull request #46236 from abgworrall/abw-45738 · 761a7521
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46252, 45524, 46236, 46277, 46522)
      
      Support sandbox images from private registries
      
      **What this PR does / why we need it**:
      
      The --pod-infra-container-image parameter allows the user to specify
      an arbitrary image to be used as the pod infra container (AKA
      sandbox), an internal piece of the dockershim implementation of the
      Container Runtime Interface.
      
      The dockershim does not have access to any of the pod-level image pull
      credentials configuration, so if the user specifies an image from a
      private registry, the image pull will fail.
      
      This change allows the dockershim to read local docker configuration
      (e.g. /root/.docker/config.json) and use it when pulling the pod infra
      container image.
      
      **Which issue this PR fixes**: fixes #45738
      
      **Special notes for your reviewer**:
      The changes to fake_client for writing local config files deserve some
      attention.
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      761a7521
    • Kubernetes Submit Queue's avatar
      Merge pull request #45524 from MrHohn/l4-lb-healthcheck · daee6d48
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46252, 45524, 46236, 46277, 46522)
      
      Make GCE load-balancers create health checks for nodes
      
      From #14661. Proposal on kubernetes/community#552. Fixes #46313.
      
      Bullet points:
      - Create nodes health check and firewall (for health checking) for non-OnlyLocal service.
      - Create local traffic health check and firewall (for health checking) for OnlyLocal service.
      - Version skew: 
         - Don't create nodes health check if any nodes has version < 1.7.0.
         - Don't backfill nodes health check on existing LBs unless users explicitly trigger it.
      
      **Release note**:
      
      ```release-note
      GCE Cloud Provider: New created LoadBalancer type Service now have health checks for nodes by default.
      An existing LoadBalancer will have health check attached to it when:
      - Change Service.Spec.Type from LoadBalancer to others and flip it back.
      - Any effective change on Service.Spec.ExternalTrafficPolicy.
      ```
      daee6d48
    • Kubernetes Submit Queue's avatar
      Merge pull request #46252 from perotinus/cs · f8c90e04
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46252, 45524, 46236, 46277, 46522)
      
      [Federation] Refactor the cluster selection logic in the sync controller
      
      This is intended to make it easier to define the interaction between cluster selection and scheduling preferences in the sync controller when used for workload types.
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      f8c90e04
    • Kubernetes Submit Queue's avatar
      Merge pull request #46367 from bobveznat/master · ef1febf7
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46450, 46272, 46453, 46019, 46367)
      
      Move MountVolume.SetUp succeeded to debug level
      
      This message is verbose and repeated over and over again in log files
      creating a lot of noise. Leave the message in, but require a -v in
      order to actually log it.
      
      **What this PR does / why we need it**: Moves a verbose log message to actually be verbose.
      
      **Which issue this PR fixes** fixes #46364
      Fixes #29059
      ef1febf7
    • Kubernetes Submit Queue's avatar
      Merge pull request #46019 from YuPengZTE/devAnalysePods · b30ed6d7
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46450, 46272, 46453, 46019, 46367)
      
      check err
      Signed-off-by: 's avataryupengzte <yu.peng36@zte.com.cn>
      
      
      
      **What this PR does / why we need it**:
      When the err in not nil, the podStatus is nil, it is dangerous "podStatus[cluster.Name].RunningAndReady".
      **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**:
      
      ```release-note
      ```
      b30ed6d7
    • Kubernetes Submit Queue's avatar
      Merge pull request #46453 from emaildanwilson/fedClusterSelectorIngress · 63857a35
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46450, 46272, 46453, 46019, 46367)
      
      Add ClusterSelector to Ingress Controller
      
      This pull request adds ClusterSelector to the Federated Ingress Controller ref: design #29887 
      This back ports the same functionality from the sync controller (merged pull #40234) in order to make this feature available across all Controllers for the 1.7 release.
      
      cc: @kubernetes/sig-federation-pr-reviews @shashidharatd
      
      **Release note**:
      ```
      The annotation `federation.alpha.kubernetes.io/cluster-selector` can be used with Ingress objects to target federated clusters by label.
      ```
      63857a35
    • Kubernetes Submit Queue's avatar
      Merge pull request #46272 from zjj2wry/selector · 72a39824
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46450, 46272, 46453, 46019, 46367)
      
      add test for set selector
      
      **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**:
      
      ```release-note
      NONE
      ```
      72a39824
    • Kubernetes Submit Queue's avatar
      Merge pull request #46450 from MrHohn/fix-proxy-healthcheck-nilpointer · 25dc892a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46450, 46272, 46453, 46019, 46367)
      
      Fix potential nil pointer dereference for kube-proxy healthcheck
      
      Found error log from https://storage.googleapis.com/kubernetes-jenkins/logs/ci-kubernetes-e2e-gce-slow/5222:
      ```
      I0524 20:22:35.554156       7 healthcheck.go:226] Not saving endpoints for unknown healthcheck "kube-system/kubernetes-dashboard"
      I0524 20:22:35.554172       7 proxier.go:923] syncProxyRules took 40.047209ms
      I0524 20:22:35.554218       7 healthcheck.go:175] Healthcheck "e2e-tests-esipp-f7djn/external-local" closed: accept tcp [::]:32027: use of closed network connection
      I0524 20:22:37.416133       7 logs.go:41] http: panic serving 169.254.169.254:49216: runtime error: invalid memory address or nil pointer dereference
      goroutine 1623 [running]:
      net/http.(*conn).serve.func1(0xc420b27220)
      	/usr/local/go_k8s_patched/src/net/http/server.go:1721 +0xd0
      panic(0x1c07e40, 0x2b11ee0)
      	/usr/local/go_k8s_patched/src/runtime/panic.go:489 +0x2cf
      k8s.io/kubernetes/pkg/proxy/healthcheck.hcHandler.ServeHTTP(0xc4201aea60, 0x15, 0xc4203233a0, 0xe, 0xc4203aa280, 0x2ab51a0, 0xc420ae4d20, 0xc4202e7a00)
      	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/proxy/healthcheck/healthcheck.go:200 +0x86
      k8s.io/kubernetes/pkg/proxy/healthcheck.(*hcHandler).ServeHTTP(0xc420798390, 0x2ab51a0, 0xc420ae4d20, 0xc4202e7a00)
      	<autogenerated>:8 +0x87
      net/http.serverHandler.ServeHTTP(0xc4208d0210, 0x2ab51a0, 0xc420ae4d20, 0xc4202e7a00)
      	/usr/local/go_k8s_patched/src/net/http/server.go:2568 +0x92
      net/http.(*conn).serve(0xc420b27220, 0x2ab66e0, 0xc420945380)
      	/usr/local/go_k8s_patched/src/net/http/server.go:1825 +0x612
      created by net/http.(*Server).Serve
      	/usr/local/go_k8s_patched/src/net/http/server.go:2668 +0x2ce
      ```
      
      So seems like it's possible healthcheck server is still serving traffic after service entry is removed.
      
      /assign @freehan 
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      25dc892a
    • Zihong Zheng's avatar
      e3328286
    • Kubernetes Submit Queue's avatar
      Merge pull request #46545 from nicksardo/gce-reviewers · 58e98cfc
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Add reviewers for GCE cloud provider
      
      **Release note**:
      ```release-note
      NONE
      ```
      58e98cfc
    • Kubernetes Submit Queue's avatar
      Merge pull request #46485 from zjj2wry/spark · 1c15d1c2
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Fix  spelling in example/spark
      
      **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**:
      
      ```release-note
      NONE
      ```
      1c15d1c2
    • Jeff Grafton's avatar
      Bazel: mount tmpfs on /tmp · 12249962
      Jeff Grafton authored
      12249962
    • Tim Hockin's avatar
      Deprecate kubelet non-masquerade-cidr · 252646b8
      Tim Hockin authored
      Also do not install iptables rules if it is set to 0.0.0.0/0
      252646b8
  3. 26 May, 2017 14 commits
    • Solly Ross's avatar
      [k8s.io/metrics] proto tags for metrics/v1alpha1 · d72cbcb3
      Solly Ross authored
      This commit adds proto tags to
      `k8s.io/metrics/pkg/apis/metrics/v1alpha1`.  The tags are more-or-less
      what's suggested by `go-to-protobuf`, with the exception of the use of
      `castvalue`.
      
      `castvalue` is used to force gogo-proto to realize that the value of
      `ResourceList` (which is `map[ResourceName]Quantity`) is actually a type
      that it should consider when recording which packages are used.
      Otherwise, it ignores the type, using an unnamed import for the
      `k8s.io/apimachinery/pkg/api/resource`, which causes compilation errors.
      d72cbcb3
    • Solly Ross's avatar
      [go-to-protobuf] Quote tag cast{key,value,type} · 85c3ca10
      Solly Ross authored
      When using a `cast{key,value,type}` that was injected via struct tag, we
      need to make sure to quote the value when transfering it over to proto
      tags.  Otherwise, it'll come through as unquoted, resulting in invalid
      proto.
      
      This was previously not a problem, since all values of `castkey` and
      `casttype` were actually coming from the auto-injecting code which deals
      with maps and aliases, which does correctly quote values.
      85c3ca10
    • Solly Ross's avatar
      [go-to-protobuf] generate proto for k8s.io/metrics · 7b8e572d
      Solly Ross authored
      This commit adds the `k8s.io/metrics` APIs to the list of packages for
      which to generate protobuf.  Additionally, it adds
      `k8s.io/client-go/pkg/apis/v1` as a non-generated (referenced) package.
      7b8e572d
    • Kubernetes Submit Queue's avatar
      Merge pull request #45614 from yujuhong/container-metrics · e903c58c
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 45809, 46515, 46484, 46516, 45614)
      
      CRI: add methods for container stats
      
      **What this PR does / why we need it**:
      Define methods in CRI to get container stats.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 
      Part of  https://github.com/kubernetes/features/issues/290; addresses #27097
      
      **Special notes for your reviewer**:
      This PR defines the *minimum required* container metrics for the existing components to function, loosely based on the previous discussion on [core metrics](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/core-metrics-pipeline.md) as well as the existing cadvisor/summary APIs.
       
      Two new RPC calls are added to the RuntimeService: `ContainerStats` and `ListContainerStats`. The former retrieves stats for a given container, while the latter gets stats for all containers in one call.
       
      The stats gathering time of each subsystem can vary substantially (e.g., cpu vs. disk), so even though the on-demand model preferred due to its simplicity, we’d rather give the container runtime more flexibility to determine the collection frequency for each subsystem*. As a trade-off, each piece of stats for the subsystem must contain a timestamp to let kubelet know how fresh/recent the stats are. In the future, we should also recommend a guideline for how recent the stats should be in order to ensure the reliability (e.g., eviction) and the responsiveness (e.g., autoscaling) of the kubernetes cluster.
       
      The next step is to plumb this through kubelet so that kubelet can choose consume container stats from CRI or cadvisor. 
       
      **Alternatively, we can add calls to get stats of individual subsystems. However, kubelet does not have the complete knowledge of the runtime environment, so this would only lead to unnecessary complexity in kubelet.*
      
      
      **Release note**:
      
      ```release-note
      Augment CRI to support retrieving container stats from the runtime.
      ```
      e903c58c
    • Solly Ross's avatar
      [update-staging] convert package name in IDL · 64b51245
      Solly Ross authored
      This commit converts the package names in the proto IDL in client-go.
      This allows third parties (and repositories in staging) who make use of
      types in client-go to generate proto IDL themselves properly.
      64b51245
    • Kubernetes Submit Queue's avatar
      Merge pull request #46516 from derekwaynecarr/kubelet-neg-allocatable · 71e0204f
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 45809, 46515, 46484, 46516, 45614)
      
      kubelet was sending negative allocatable values
      
      **What this PR does / why we need it**:
      if you set reservations > node capacity, the node sent negative values for allocatable values on create.  setting negative values on update is rejected.
      
      **Which issue this PR fixes**
      xref https://bugzilla.redhat.com/show_bug.cgi?id=1455420
      
      **Special notes for your reviewer**:
      at this time, the node is allowed to set status on create.  without this change, a node was being registered with negative allocatable values.  i think we need to revisit letting node set status on create, and i will send a separate pr to debate the merits of that point.
      
      ```release-note
      Prevent kubelet from setting allocatable < 0 for a resource upon initial creation.
      ```
      71e0204f
    • Solly Ross's avatar
      [go-to-protobuf] Skip private types and functions · fb40658f
      Solly Ross authored
      Since go-to-protobuf doesn't care about functions or private types (only
      public types), we can skip them.  This helps to clean up the generated
      IDL: previously, the IDL contained erroneous imports due to matching
      functions and private types which were not actually converted to protobuf,
      but which were the same as functions and private types in other packages.
      fb40658f
    • Kubernetes Submit Queue's avatar
      Merge pull request #46484 from guoyunxian/remove · 2b084af6
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 45809, 46515, 46484, 46516, 45614)
      
      Remove the reduplicated case judement
      
      This patch remove the  reduplicated case judgement
      2b084af6
    • Kubernetes Submit Queue's avatar
      Merge pull request #46515 from ncdc/vet · bd1311a0
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 45809, 46515, 46484, 46516, 45614)
      
      Fix incorrect printf format
      
      **What this PR does / why we need it**: changes `%s` to `%d` for something that is actually an `int` (found via `make vet`).
      
      **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**:
      
      ```release-note
      NONE
      ```
      bd1311a0
    • Kubernetes Submit Queue's avatar
      Merge pull request #45809 from CaoShuFeng/non-resource-url-create-rolebinding · 899b6c00
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      support NonResourceURL for kubectl create clusterrole
      
      Release note:
      ```release-note
      add --non-resource-url to kubectl create clusterrole
      ```
      899b6c00
    • Nick Sardo's avatar
      Add approvers for GCE cloud provider · 5b00c38f
      Nick Sardo authored
      5b00c38f
    • Walter Fender's avatar
      Change to aggregator so it calls a user apiservice via its pod IP. · ad8a83a7
      Walter Fender authored
      proxy_handler now uses the endpoint router to map the cluster IP to
      appropriate endpoint (Pod) IP for the given resource.
      Added code to allow aggregator routing to be optional.
      Updated bazel build.
      Fixes to cover JLiggit comments.
      Added util ResourceLocation method based on Listers.
      Fixed issues from verification steps.
      Updated to add an interface to obfuscate some of the routing logic.
      Collapsed cluster IP resolution in to the aggregator routing
      implementation.
      Added 2 simple unit tests for ResolveEndpoint
      ad8a83a7
    • Chao Xu's avatar
      generated · dce3f69b
      Chao Xu authored
      dce3f69b
    • Kubernetes Submit Queue's avatar
      Merge pull request #46417 from resouer/fix-digest-nit · 6d641317
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 42256, 46479, 45436, 46440, 46417)
      
      Log out digest when digest is invalid
      
      Notice this in frakti: missing image ref when logging it out.
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      6d641317