Commit Graph

3864 Commits

Author SHA1 Message Date
k8s-merge-robot
32121e344b Merge pull request #24514 from derekwaynecarr/pod_quota_fix
Automatic merge from submit-queue

Quota ignores pod compute resources on updates

Scenario:

1. define a quota Q that tracks memory and cpu
2. create pod P that uses memory=100Mi, cpu=100m
3. update pod P to use memory=50Mi,cpu=10m

Expected Results:
Step 3 should fail with validation error.
Quota Q should not have changed.

Actual Results:
Step 3 fails validation, but quota Q is decremented to have memory usage down 50Mi and cpu usage down 40m.  This is because the quota was getting updated even though the pod was going to fail validation.

Fix:
Quota should only support modifying pod compute resources when pods themselves support modifying their compute resources.

This also fixes https://github.com/kubernetes/kubernetes/issues/24352

/cc @smarterclayton - this is what we discussed.

fyi: @kubernetes/rh-cluster-infra
2016-04-27 06:27:51 -07:00
Erick Fejta
08c5af6e45 Use tagged redis image for kubectl test, move json test file out of deprecated examples 2016-04-26 21:43:19 -07:00
k8s-merge-robot
af71fa72e7 Merge pull request #23574 from deads2k/add-extra
Automatic merge from submit-queue

add user.Info.GetExtra

I found myself wanting this field (or something like it), when trying to plumb the information about which scopes a particular token has.

Only the token authenticators have that information and I don't want tokens to leak past the authenticator.  I thought about extending the `authenticator.Token` interface to include scopes (`[]string`), but that felt a little specific for what I wanted to do.  I came up with this as an alternative.

It allows the token authenticator to fill in the information and authorizers already get handed the `user.Info`.  It means that implementors can choose to tie the layers together if they wish, using whatever data they think is best.  

@kubernetes/kube-iam
2016-04-26 21:14:53 -07:00
Joe Finney
7059717c78 Use zone from the test context for static IPs. 2016-04-26 17:39:48 -07:00
Minhan Xia
1993bf901a reuse goproxy pod and avoid race between kubectl exec and goproxy readiness 2016-04-26 16:45:10 -07:00
Yu-Ju Hong
bdadaefe3b e2e: add a dummy environment variable in the service tests
This works around the docker bug:
https://github.com/docker/docker/issues/14203
2016-04-26 16:25:26 -07:00
Jay Vyas
95e315e427 E2E Network performance run which uses iperf.
generic pod-per-node functionality for testing - 2 node test only
- update framework to decompose pod vs svc creation for composition.
- remove hard coded 2 and pointer to --scale
2016-04-26 18:42:19 -04:00
deads2k
e8ce9852e1 deflake quota master init order 2016-04-26 16:37:56 -04:00
deads2k
b4ebfd47c5 add user.Info.GetExtra 2016-04-26 15:08:34 -04:00
deads2k
622932422d enable resource name and service account cases for impersonation 2016-04-26 09:31:43 -04:00
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
Jeff Lowdermilk
9b91750284 add e2e test for same-image rolling-update 2016-04-25 13:38:45 -07:00
Euan Kemp
d76d2442e7 test/e2e/addon_update: Respect KUBE_SSH_USER 2016-04-25 12:28:33 -07:00
zhouhaibing089
bf1a3f99c0 Uncomment the code that cause by #19254 2016-04-25 23:21:31 +08: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
Prashanth Balasubramanian
1f4e48ba59 E2E changes to support templated addon 2016-04-20 16:15:26 -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
Maru Newby
3a28868eb9 Remove flaky tag from e2e net granular
The tests are running reliably on every origin merge and can be verified
similarly reliable on kube.
2016-04-20 17:53:05 +00: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