Commit Graph

3098 Commits

Author SHA1 Message Date
k8s-merge-robot
cf38d68734 Merge pull request #23595 from vishh/image-accounting
Automatic merge from submit-queue

Collect and expose runtime's image storage usage via Kubelet's /stats/summary endpoint

This information is useful to users since docker images are typically not stored on the root filesystem.

Kubelet will also consume this feature in the future to decide is evicting images will help with disk usage on the nodes.

cc @kubernetes/sig-node
2016-04-25 21:34:30 -07:00
k8s-merge-robot
293b0d0815 Merge pull request #23493 from soltysh/move_job_internals
Automatic merge from submit-queue

Move internal types of job from pkg/apis/extensions to pkg/apis/batch

This addressed the job part of #23216, this is still WIP. Will notify once finished. I'd like to have it in before starting working on ScheduledJob. 

@lavalamp @erictune fyi
2016-04-25 20:58:49 -07:00
Vishnu kannan
e566948a75 Track image storage usage for docker containers
add image fs info to summary stats API.
Adding node e2e test for image stats.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-04-25 16:00:34 -07:00
deads2k
d3c6363093 use single writer to improve quota performance 2016-04-25 10:42:26 -04:00
Piotr Szczesniak
daf6be1a66 Merge pull request #24706 from jayunit100/redis-wait
Slow down redis polling to ensure no flakiness in kubectl
2016-04-25 12:13:01 +02:00
Wojciech Tyczynski
c0020aff59 Merge pull request #24539 from smarterclayton/unify_stream_and_serial
Unify Streaming and normal Serializers
2016-04-25 11:25:16 +02:00
Maciej Szulik
a3b4447305 Move internal types of job from pkg/apis/extensions to pkg/apis/batch 2016-04-25 11:03:54 +02:00
k8s-merge-robot
39f62240db Merge pull request #24499 from gmarek/load
Automatic merge from submit-queue

Add Services to Load test
2016-04-23 23:03:53 -07:00
k8s-merge-robot
5e16602b6c Merge pull request #24443 from Random-Liu/mirror-pod-node-e2e-test
Automatic merge from submit-queue

Add node e2e test for mirror pod.

This is a node e2e test for mirror pod.

After this get merged, I'll revisit the mirror pod manager PR. #18638

/cc @yujuhong
2016-04-23 15:54:46 -07:00
k8s-merge-robot
0057931f4e Merge pull request #24434 from gmarek/services
Automatic merge from submit-queue

Create multiple RCs in NC - prerequisite for adding services

WIP because I need to make the logs readable again.
2016-04-23 15:19:36 -07:00
k8s-merge-robot
de9c1a2a51 Merge pull request #24247 from sdminonne/service_loadbalancer_quotas
Automatic merge from submit-queue

Adding loadBalancer services to quota system

@derekwaynecarr follow up to #22154.
2016-04-23 10:22:45 -07:00
k8s-merge-robot
e61e396de7 Merge pull request #24291 from gmarek/gatherer
Automatic merge from submit-queue

Make resource gatherer work for Kubemark
2016-04-23 02:53:58 -07:00
k8s-merge-robot
71f0d058b6 Merge pull request #24542 from Random-Liu/versioned-perf-data
Automatic merge from submit-queue

Use mCPU as CPU usage unit, add version in PerfData, and fix memory usage bug.

Partially addressed #24436.

This PR:
1) Change the CPU usage unit to "mCPU"
2) Add version in PerfData, and perfdash will only support the newest version now.
3) Fix stupid mistake when calculating the memory usage average.

/cc @vishh
2016-04-23 01:17:59 -07:00
Jay Vyas
fcf254591f Slow down redis pod polling, ensure no flakiness in kubectl service
test.
2016-04-23 00:53:24 -04:00
k8s-merge-robot
aa4da07157 Merge pull request #24631 from goltermann/spell
Automatic merge from submit-queue

Fix a few typos in comments
2016-04-22 09:45:46 -07:00
Clayton Coleman
3111985564 Handle streaming serializers more consistently
Add tests to watch behavior in both protocols (http and websocket)
against all 3 media types. Adopt the
`application/vnd.kubernetes.protobuf;stream=watch` media type for the
content that comes back from a watch call so that it can be
distinguished from a Status result.
2016-04-22 11:07:24 -04:00
k8s-merge-robot
9a871ed554 Merge pull request #24284 from marun/e2e-conn-check-timeout
Automatic merge from submit-queue

Add timeout to e2e network connectivity checks

Some e2e tests use wget to check connectivity, and the default e2e
timeout is 900s.  This change allows the timeout to be specified on a
check-by-check basis.  This will also make the check useful for negative
checks (like those used by openshift to validate isolation) since a
short timeout is suggested where connectivity is not expected.
2016-04-21 23:41:44 -07:00
Random-Liu
c74f199223 Add node e2e test for mirror pod. 2016-04-21 22:11:06 -07:00
Yu-Ju Hong
a29432163e node_e2e: disable serialized image pulls and increase test timeout 2016-04-21 15:34:28 -07:00
goltermann
dddc6cb6c8 Fix a few spellings. 2016-04-21 15:16:42 -07:00
gmarek
3627bb7be9 Add Services to Load test 2016-04-21 22:00:26 +02:00
k8s-merge-robot
85de6acadc Merge pull request #23208 from deads2k/fix-version-override
Automatic merge from submit-queue

make storage enablement, serialization, and location orthogonal

This allows a caller (command-line, config, code) to specify multiple separate pieces of config information regarding storage and have them properly composed at runtime.  The information provided is exposed through interfaces to allow alternate implementations, which allows us to change the expression of the config moving forward.  I also fixed up the types to be correct as I moved through.

The same options still exist, but they're composed slightly differently
 1. specify target etcd servers per Group or per GroupResource
 1. specify storage GroupVersions per Groups or per GroupResource
 1. specify etcd prefixes per GroupVersion or per GroupResource
 1. specify that multiple GroupResources share the same location in etcd
 1. enable GroupResources by GroupVersion or by GroupResource whitelist or GroupResource blacklist

The `storage.Interface` is built per GroupResource by:
 1. find the set of possible storage GroupResource based on the priority list of cohabitators
 1. choose a GroupResource from the set by looking at which Groups have the resource enabled
 1. find the target etcd server, etcd prefix, and storage encoding based on the GroupResource

The API server can have its resources separately enabled, but for now I've kept them linked.

@liggitt I think we need this (or something like it) to be able to go from config to these interfaces.  Given another round of refactoring, we may be able to reshape these to be more forward driving.

@smarterclayton this is important for rebasing and for a seamless 1.2 to 1.3 migration for us.
2016-04-21 08:24:29 -07:00
gmarek
d344c2e32b Create multiple RCs in NC - prerequisite for adding services 2016-04-21 17:20:05 +02:00
k8s-merge-robot
35ea9b87b8 Merge pull request #24185 from jsafrane/devel/stabilize-provisioning-e2e
Automatic merge from submit-queue

Increase provisioning test timeouts.

We've encountered flakes in our e2e infrastructure when kubelet took more than one minute to detach a volume used by a deleted pod.

Let's increase the wait period from 1 to 3 minutes. This slows down the test by 2 minutes, but it makes the test more stable.

In addition, when kubelet cannot detach a volume for 3 minutes, let the test wait for additional recycle controller retry interval (10 minutes) and hope the volume is deleted by then. This should not increase usual test time, it makes the test stable when kubelet is _extremely_ slow when releasing the volume.

Fixes: #24161
2016-04-21 06:03:37 -07:00
deads2k
6670b73b18 make storage enablement, serialization, and location orthogonal 2016-04-21 08:18:55 -04:00
deads2k
3be4b690ea create a negotiating serializer that wraps a single serializer 2016-04-21 07:51:59 -04:00
Prashanth Balasubramanian
0ac10c6cc2 PetSet type, apps apigroup 2016-04-20 18:49:31 -07:00
Random-Liu
7af6642e65 Use mCPU as CPU usage unit, add version in PerfData, fix memory usage bug. 2016-04-20 16:42:14 -07:00
k8s-merge-robot
8a76a1bd36 Merge pull request #24234 from goltermann/vetclean
Automatic merge from submit-queue

Enable go vet.
2016-04-20 14:50:37 -07:00
goltermann
3fa6c6f6d9 Enable vet 2016-04-20 09:48:24 -07:00
k8s-merge-robot
3753e2bded Merge pull request #24180 from AdoHe/reuse_node_port
Automatic merge from submit-queue

Fix unintended change of Service.spec.ports[].nodePort during kubectl apply

Please refer #23551 for more detail. @bgrant0607 I think this simple fix should be ok to reuse nodePort. @thockin ptal.

Release note: Fix unintended change of `Service.spec.ports[].nodePort` during `kubectl apply`.
2016-04-20 08:51:40 -07:00
k8s-merge-robot
f3f6ffaa28 Merge pull request #24524 from wojtek-t/fix_scheduler_2
Automatic merge from submit-queue

Add RC and container pors to scheduler benchmark

Fix #23263

Ref  #24408
However - scheduler throughput is still ~140 initially, whereas in reality we have 35-40. There are still significant difference we should understand.

@hongchaodeng @xiang90
2016-04-20 07:18:20 -07:00
Wojciech Tyczynski
a4b3f47347 Add RC and container pors to scheduler benchmark 2016-04-20 15:10:57 +02:00
k8s-merge-robot
15ed9dbd02 Merge pull request #23771 from jayunit100/ClusterVerificationFramework
Automatic merge from submit-queue

Cluster Verification Framework

I've spent the last few days looking at the general patterns of verification we have that we tend to reuse in the e2es.  Basically, we need 
 
- label filters
- forEach and WaitFor (where forEach doesn't necessarily waitFor anything).
- timeouts
- multiple phases (reusable definition of state)
- an extensible way to define cluster state that can evolve over time in a data object rather than as a set of parameters that have magic semantics

This PR 
- implements the abstract above functionality declaratively, and w/o hidden semantics.
- addresses the sprawling duplicate methods in #23540, so that we can phase out the wrapper methods and replace them with well defined, extensible semantics for cluster state.
- fixes the recently discovered #23730 issue (where kubectl.go is relying on examples.go, which is obviously wacky) by using the new framework to implement forEachPod in just a couple of lines and migrating the wrapper function into framework.go.

There is some cleanup to do here, but this is seemingly working for a couple of use cases that are important (spark,cassandra,...,kubectl) tests. - i played with a few different ideas and this wound up seeming to be the most natural implementation from a usability standpoint... 

in any case, just thought id push this up as a first iteration, open to feedback.

@kubernetes/sig-testing @timothysc
2016-04-20 04:23:21 -07:00
k8s-merge-robot
1c80864913 Merge pull request #24257 from zmerlynn/1000nodes
Automatic merge from submit-queue

Fix DNS test for larger clusters

On GKE, we scale the number of DNS pods based on the cluster size. For
testing on larger clusters, relax the DNS pod check.
2016-04-20 03:49:40 -07:00
AdoHe
16960d3ad2 fix reuse nodePort issue 2016-04-20 02:30:03 -04:00
k8s-merge-robot
86544c2288 Merge pull request #24426 from pwittrock/flaky
Automatic merge from submit-queue

Incremental improvements to kubelet e2e tests

- Add keep-alive to ssh connection
- Don't try to stop services on image-based runs
- Increase jenkins ci timeout to 90 minutes to accomadate unpredictable go build times
- Remove spammy log statement
2016-04-19 22:36:40 -07:00
k8s-merge-robot
4638f2f355 Merge pull request #24466 from wojtek-t/fix_scheduler_benchmark
Automatic merge from submit-queue

Improve script for running scheduler benchmarks

Without this change, this script didn't work in my environment - it's making more consistent with other scripts.

@hongchaodeng @xiang90
2016-04-19 08:43:50 -07:00
Wojciech Tyczynski
762bfa3d97 Improve script for running scheduler benchmarks 2016-04-19 16:23:23 +02:00
k8s-merge-robot
db28f73c3b Merge pull request #24282 from goltermann/spelling
Automatic merge from submit-queue

Fix misspellings in comments
2016-04-19 03:47:07 -07:00
k8s-merge-robot
56d7579bfd Merge pull request #24359 from janetkuo/rollover-e2e-no-events
Automatic merge from submit-queue

Avoid relying on events in deployment rollover e2e test

Fixes #22028

@kubernetes/sig-config
2016-04-18 16:51:22 -07:00
Phillip Wittrock
90d2f9ad5e Incremental improvements to kubelet e2e tests
- Add keep-alive to ssh connection
- Don't try to stop services on image-based runs
- Increase jenkins ci timeout to 90 minutes to accomadate unpredictable go build times
- Remove spammy log statement
2016-04-18 13:56:07 -07:00
k8s-merge-robot
5ad27f2720 Merge pull request #23575 from deads2k/shared-cache
Automatic merge from submit-queue

shared controller informers

Related to https://github.com/kubernetes/kubernetes/issues/14978

This demonstrates how controllers which use an `Informer`, would be able to share the same watch and store.  A similar "setup and run" approach could be done for an `IndexInformer` to share that cache.  I found adding listeners here to be easier than intercepting at the watch interface (problems with resourceVersion) or the reflector (same plumbing, but you have to fan out to multiple stores).

We could also use the cache we build here to back several of the admission plugins that currently run their own lookup caches today.

If there's interest, I can finish out the `SharedInformer` and switch the low hanging fruit over.  

@kubernetes/rh-cluster-infra @smarterclayton @liggitt @wojtek-t
2016-04-18 07:48:29 -07:00
k8s-merge-robot
d37e6ad332 Merge pull request #24126 from Random-Liu/fix-pull-image
Automatic merge from submit-queue

Fix PullImage and add corresponding node e2e test

Fixes #24101. This is a bug introduced by #23506, since ref #23563.

The root cause of #24101 is described [here](https://github.com/kubernetes/kubernetes/issues/24101#issuecomment-208547623).

This PR
1) Fixes #24101 by decoding the messages returned during pulling image, and return error if any of the messages contains error.
2) Add the node e2e test to detect this kind of failure.
3) Get present check out of `ConformanceImage.Remove()` and `ConformanceImage.Pull()`. Because sometimes we may expect error to occur in `PullImage()` and `RemoveImage()`, but even that doesn't happen, the `Present()` check will still return error and let the test pass.

@yujuhong @freehan @liangchenye 

Also /cc @resouer, because he is doing the image related functions refactoring.
2016-04-18 07:05:44 -07:00
Jay Vyas
632a0a81d4 Cluster verification framework supporting declarative definition and iteration against pod spectrum
- rebase: ForEach only on Running pods
- add waitFor step in guestbook describe and wrapper
- simplify logs in polling, make panic immediate, give rolluped stats in
the logs.

Improve logging for failure on ForEach
2016-04-18 10:01:10 -04:00
deads2k
f0c33d65b6 start sharing the pod cache and list/watch 2016-04-18 08:51:55 -04:00
Jan Safranek
3137b4cd02 Increase provisioning test timeouts.
We've encountered flakes in our e2e infrastructure when kubelet took more than
one minute to detach a volume used by a deleted pod.

Let's increase the wait period from 1 to 3 minutes. This slows down the test
by 2 minutes, but it makes the test more stable.

In addition, when kubelet cannot detach a volume for 3 minutes, let the test
wait for additional recycle controller retry interval (10 minutes) and hope the
volume is deleted by then. This should not increase usual test time, it makes
the test stable when kubelet is _extremely_ slow when releasing the volume.
2016-04-18 13:06:09 +02:00
k8s-merge-robot
b73164792f Merge pull request #24098 from rootfs/e2e-test
Automatic merge from submit-queue

some enhancement to run volume e2e tests
2016-04-17 23:19:10 -07:00
k8s-merge-robot
934d7ebb33 Merge pull request #23968 from yujuhong/privileged_containers
Automatic merge from submit-queue

e2e_node: port privileged pod tests from test/e2e/priviliged.go

The ported test is functionally the same as the original test.
The main difference between the two tests is that the original test relies on
`kubectl` to exec into the container, while the latter directly uses the REST
client of the apiserver. This avoids the need to copy kubectl to the node under
test.
2016-04-17 12:37:12 -07:00
k8s-merge-robot
2b9637da6a Merge pull request #23945 from smarterclayton/move_reset_metrics
Automatic merge from submit-queue

Move /resetMetrics to DELETE /metrics

Reduces the surface area of the API server slightly and allows
downstream components to have deleteable metrics. After this change
genericapiserver will *not* have metrics unless the caller defines it
(allows different apiserver implementations to make that choice on their
own).

@wojtek-t
2016-04-17 05:58:26 -07:00