Commit Graph

29239 Commits

Author SHA1 Message Date
Clayton Coleman
2c9b83f291 Disable ppc64le for now 2016-05-19 10:19:35 -04:00
Wojciech Tyczynski
9784dff94e Merge pull request #25871 from smarterclayton/retry_on_error
Fix the Retry-After code path to work for clients, and send correct bodies
2016-05-19 16:18:18 +02:00
k8s-merge-robot
044d55ed7d Merge pull request #24142 from rrati/controller-sync-interval-23394
Automatic merge from submit-queue

Separated resync and relist functionality in reflector #23394

controller-manager #23394
2016-05-19 07:10:00 -07:00
Huamin Chen
cc45f48bb7 persistent volume integration tests:
- create 100 PV, ranging from 0 to 99GB; create 1 PVC to claim 50GB. Verify only one PV is bound and rest are pending
- create 2 PVs with different access modes (RWM, RWO), 1 PVC to claim RWM PV. Verify RWM is bound and RWO is not bound.

Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-05-19 13:22:59 +00:00
k8s-merge-robot
d33fa39abf Merge pull request #23254 from jsafrane/devel/ulimited-aws-devices
Automatic merge from submit-queue

AWS: Move enforcement of attached AWS device limit from kubelet to scheduler

Limit of nr. of attached EBS volumes to a node is now enforced by scheduler. It can be adjusted by `KUBE_MAX_PD_VOLS` env. variable there. Therefore we don't need the same check in kubelet. If the system admin wants to attach more, we should allow it.

Kubelet limit is now 650 attached volumes ('ba'..'zz').

Note that the scheduler counts only *pods* assigned to a node. When a pod is deleted and a new pod is scheduled on a node, kubelet start (slowly) detaching the old volume and (slowly) attaching the new volume. Depending on AWS speed **it may happen that more than KUBE_MAX_PD_VOLS volumes are actually attached to a node for some time!** Kubelet will clean it up in few seconds / minutes (both attach/detach is quite slow).

Fixes #22994
2016-05-19 06:13:42 -07:00
k8s-merge-robot
d89d45a861 Merge pull request #25266 from smarterclayton/common_storage
Automatic merge from submit-queue

kube-apiserver options should be decoupled from impls

A few months ago we refactored options to keep it independent of the
implementations, so that it could be used in CLI tools to validate
config or to generate config, without pulling in the full dependency
tree of the master.  This change restores that by separating
server_run_options.go back to its own package.

Also, options structs should never contain non-serializable types, which
storagebackend.Config was doing with runtime.Codec. Split the codec out.

Fix a typo on the name of the etcd2.go storage backend.

Finally, move DefaultStorageMediaType to server_run_options.

@nikhiljindal as per my comment in #24454, @liggitt because you and I
discussed this last time
2016-05-19 06:13:38 -07:00
Clayton Coleman
eeb04e6826
Reset input buffer on retry
Retries were previously sending empty bodies to the server.
2016-05-19 09:08:57 -04:00
Clayton Coleman
a8ce27709c
Print more data about an error for debugging
Sometimes clients send unintelligible data to the server, provide a bit
more debugging in the returned error to make it easier to pin down where
the problem is from the user side.
2016-05-19 09:08:57 -04:00
Clayton Coleman
88b39cadf8
Have the service account controller force retry
Service account controller, when API token not found, now sends 500 with
Retry-After: 1s. Also change the apiserver to actually write the error.
2016-05-19 09:08:57 -04:00
Clayton Coleman
e5fbf86157
Allow StatusErrors to be modified after creation 2016-05-19 09:08:53 -04:00
Wojciech Tyczynski
f204a9f399 Merge pull request #25783 from zhouhaibing089/indexer-fix
Fix the Store to be Indexer in test/component/scheduler/perf
2016-05-19 14:55:24 +02:00
Clayton Coleman
e3c8c4c22b
Handle resource.Quantity changes in eviction thresholds 2016-05-19 08:41:43 -04:00
Clayton Coleman
5e4308f91d
Update use of Quantity in other classes 2016-05-19 08:41:43 -04:00
Clayton Coleman
b2a01d4d94
Add an int64 quantity implementation
Provides fast transformations of int64 scaled values with overflow to
inf.Dec as needed. Attempts to reduce allocations and expensive
operations in the critical path.

Alters the public signature of Quantity to encourage more efficient use
2016-05-19 08:41:39 -04:00
Robert Rati
e388c137bb Separate sync and list functionality in the reflector. #23394 2016-05-19 07:41:24 -04:00
Jan Safranek
0ee9160f88 volume recycler: Don't start a new recycler pod if one already exists.
Recycling is a long duration process and when the recycler controller is
restarted in the meantime, it should not start a new recycler pod if there is
one already running.

This means that the recycler pod must have deterministic name based on name
of the recycled PV, we then get name conflicts when creating the pod.

Two things need to be changed:
- recycler controller and recycler plugins must pass the PV.Name to place,
  where the pod is created.

- create recycler pod with deterministic name and check "already exists" error.

When at it, remove useless 'resourceVersion' argument and make log messages
starting with lowercase.
2016-05-19 12:58:25 +02:00
Jan Safranek
61d630ddf7 volume controller: Fix method name in a log message
It's deleteVolume, not deleteClaim.
2016-05-19 12:54:17 +02:00
Jan Chaloupka
6bfc80166a e2e test: [k8s.io] SchedulerPredicates [Serial] validates resource limits of pods that are allowed to run [Conformance]
Be more verbose about requested resource and say it is cpu in mili units
2016-05-19 12:25:41 +02:00
k8s-merge-robot
c63ac4e664 Merge pull request #24331 from jsafrane/devel/refactor-binder
Automatic merge from submit-queue

Refactor persistent volume controller

Here is complete persistent controller as designed in https://github.com/pmorie/pv-haxxz/blob/master/controller.go

It's feature complete and compatible with current binder/recycler/provisioner. No new features, it *should* be much more stable and predictable.

Testing
--
The unit test framework is quite complicated, still it was necessary to reach reasonable coverage (78% in `persistentvolume_controller.go`). The untested part are error cases, which are quite hard to test in reasonable way - sure, I can inject a VersionConflictError on any object update and check the error bubbles up to appropriate places, but the real test would be to run `syncClaim`/`syncVolume` again and check it recovers appropriately from the error in the next periodic sync. That's the hard part.

Organization
---
The PR starts with `rm -rf kubernetes/pkg/controller/persistentvolume`. I find it easier to read when I see only the new controller without old pieces scattered around.
[`types.go` from the old controller is reused to speed up matching a bit, the code looks solid and has 95% unit test coverage].

I tried to split the PR into smaller patches, let me know what you think.

~~TODO~~
--

* ~~Missing: provisioning, recycling~~.
* ~~Fix integration tests~~
* ~~Fix e2e tests~~

@kubernetes/sig-storage

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24331)
<!-- Reviewable:end -->

Fixes #15632
2016-05-19 03:06:46 -07:00
k8s-merge-robot
4f09f51486 Merge pull request #24800 from thockin/validation_pt8-3
Automatic merge from submit-queue

Make name validators return string slices

Part of the larger validation PR, broken out for easier review and merge.  Builds on previous PRs in the series.
2016-05-19 02:15:27 -07:00
Paul Morie
451c7f28b2 Clearly identify errors killing pods in events and logs 2016-05-19 03:21:39 -04:00
Daniel Smith
f538d6019d Merge pull request #25857 from kubernetes/revert-25425-real-gci
Revert "Add support for running GCI on the GCE cloud provider"
2016-05-18 21:31:56 -07:00
Daniel Smith
40f53b1765 Revert "Add support for running GCI on the GCE cloud provider" 2016-05-18 21:31:28 -07:00
Janet Kuo
4332472bde Add 'kubectl set image' 2016-05-18 21:23:17 -07:00
Daniel Smith
28333a0041 Merge pull request #25672 from ihmccreery/fix-link
Fix link to Jenkins
2016-05-18 17:56:08 -07:00
Daniel Smith
c443329d67 Merge pull request #25607 from dagnello/vsphere-cpi-init-logging
Adding error check when read instance id failed
2016-05-18 17:31:44 -07:00
Daniel Smith
92f34ca83e Merge pull request #25365 from brendandburns/deps
update the go-restful dependency.
2016-05-18 17:30:14 -07:00
Daniel Smith
98c91b9787 Merge pull request #25733 from wojtek-t/metric_by_content_type
Split request_count metric by contentType
2016-05-18 17:29:57 -07:00
Daniel Smith
aabc0a3df7 Merge pull request #25425 from andyzheng0831/real-gci
Add support for running GCI on the GCE cloud provider
2016-05-18 17:28:32 -07:00
Daniel Smith
0bda969cd5 Merge pull request #25261 from jayunit100/readySched
Support GetReadySchedulable pods for all node selecting tests.
2016-05-18 17:24:09 -07:00
Daniel Smith
c4889dd826 Merge pull request #25781 from pwittrock/issue-25657
Clean up kubectl test to use the blessed e2e test redis configs and t…
2016-05-18 17:22:54 -07:00
Bobby Rullo
f575f89cd7 add tests for the OIDC WrapTransport
tests that tokens gets refreshed, passed along as bearers, etc.
2016-05-18 17:03:12 -07:00
Bobby Rullo
94ffa344a8 OIDC authprovider more testable, and add backoff
* Use an interface for OIDC Client, so that we're testing the behavior
  of the client, not the go-oidc package itself
* add backoff and retry when server rejects token
2016-05-18 17:03:12 -07:00
Bobby Rullo
e85940ed17 add tests for newOIDCAuthProvider 2016-05-18 17:03:11 -07:00
Bobby Rullo
c990462d0f Refactor test oidc provider into its own package
This makes it easier to test other OIDC code.
2016-05-18 17:03:11 -07:00
Bobby Rullo
f2135bdf90 Implement new OIDC client AuthProvider
This commit handles:
     * Passing ID Token as Bearer token
     * Refreshing of tokens using refresh-tokens
     * Persisting refreshed tokens
     * ability to add arbitrary extra scopes via config
       * this is what enables the cross-client/azp stuff
2016-05-18 17:02:48 -07:00
Derek Parker
f307e97f87 kubelet: Add --exit-on-lock-contention flag
This patch adds the --exit-on-lock-contention flag, which must be used
in conjunction with the --lock-file flag. When provided, it causes the
kubelet to wait for inotify events for that lock file. When an 'open'
event is received, the kubelet will exit.
2016-05-18 16:21:47 -07:00
David Oppenheimer
35c9ca853a Merge pull request #24134 from Huawei-PaaS/taints-tolerations
Implement taints and tolerations
2016-05-18 18:18:18 -05:00
chrislovecnm
98cafe64ac More updates to docker, including more env overrides. For example you can now set cluster name.
someone tell me if this is wrong, but I do not think "examples/cassandra/image/run.sh:    cluster_name \" should have been found
2016-05-18 17:03:46 -06:00
chrislovecnm
aca07ebb6a added better logging and different type of exception handling when we do not have k8s 2016-05-18 17:00:53 -06:00
chrislovecnm
9a1ea5cf42 updating images to v9 2016-05-18 17:00:53 -06:00
Andy Zheng
a737e1eba1 Add support for running GCI on the GCE cloud provider 2016-05-18 15:15:05 -07:00
Daniel Smith
01cf9869fc Merge pull request #25504 from andyzheng0831/binary
GCI: Ensure that the right version of kubelet is used
2016-05-18 15:04:32 -07:00
Daniel Smith
6dc1437015 Merge pull request #25671 from deads2k/fix-add-indexer
make addIndexers safe for sharedInformer
2016-05-18 14:48:43 -07:00
Daniel Smith
ae27975300 Merge pull request #25743 from wojtek-t/test_upgrade_protobufs
Test storage upgrade to protobufs
2016-05-18 14:44:16 -07:00
k8s-merge-robot
ff37fb6df8 Merge pull request #25785 from kubernetes/revert-25711-patch-1
Automatic merge from submit-queue

Revert "Update cassandra.list"

Reverts kubernetes/kubernetes#25711

https://github.com/kubernetes/kubernetes/pull/25711#issuecomment-219911835
2016-05-18 14:31:28 -07:00
k8s-merge-robot
0e03e83592 Merge pull request #24154 from caseydavenport/network-policy-proposal
Automatic merge from submit-queue

Network policy proposal

This proposal attempts to add a v1beta API for network policy to Kubernetes, as discussed and designed within the networking SIG.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24154)
<!-- Reviewable:end -->
2016-05-18 13:30:29 -07:00
CJ Cullen
57f96a932f Add expiration LRU cache for webhook token authenticator. 2016-05-18 11:58:11 -07:00
Andy Zheng
25c9764f29 e2e: use amd64 kubectl for simple pod HTTP proxy test 2016-05-18 10:29:00 -07:00
Casey Davenport
872d2b71c6 NetworkPolicy proposal 2016-05-18 10:14:33 -07:00