Commit Graph

29380 Commits (55fdc1c036df7fa2b22cd475aa597990c6e29491)

Author SHA1 Message Date
Daniel Wang 967b869c67 Jenkins: start using base images for Trusty tests 2016-05-19 15:23:30 -07:00
Clayton Coleman 997d55d796
Conversions were mutating the internal object
Internal objects can be shared, it is not allowed to mutate an internal
object in conversion.
2016-05-19 18:01:35 -04:00
k8s-merge-robot 1cce156597 Merge pull request #24801 from thockin/validation_pt8-4
Automatic merge from submit-queue

Make DNS validators return error strings

Part of the larger validation PR, broken out for easier review and merge.  Builds on previous PRs in the series.
2016-05-19 14:49:00 -07:00
Andy Goldstein 6744a7417a Fix detection of docker cgroup on RHEL
Check docker's pid file, then fallback to pidof when trying to determine the pid for docker. The
latest docker RPM for RHEL changes /usr/bin/docker from an executable to a shell script (to support
/usr/bin/docker-current and /usr/bin/docker-latest). The pidof check for docker fails in this case,
so we check /var/run/docker.pid first (the default location), and fallback to pidof if that fails.
2016-05-19 16:42:52 -04:00
k8s-merge-robot ef952efb82 Merge pull request #25800 from ingvagabund/mounttest-use-stats-instead-of-lstat-to-read-symlinks
Automatic merge from submit-queue

gcr.io/google_containers/mounttest: use Stat instead of Lstat

The current ``mt.go`` implementation use ``os.Lstat`` instead of ``os.Stat`` which does not read symlinks. Since implementation of ``AtomicWriter`` (which relies on existence of symlinks), the updated implementation of secret volume using the ``AtomicWriter`` can not be tested for secret file permission. Replacing ``Lstat`` with ``Stat`` allows to read symlinks and return permissions of target file. The change affects ``--file_perm`` and ``--file_mode`` options only.

``mounttest`` image is currently used by:

##### downwardapi_volume.go
- e2e: Downward API volume
- version: 0.6
- args: --file_content, --break_on_expected_content, --retry_time, --file_content_in_loop

##### empty_dir.go
- e2e: EmptyDir volumes
- version: 0.5
- args: --file_perm, --file_perm, ...

##### host_path.go
- e2e: hostPath
- version: 0.6
- args: --file_mode, ...

##### configmap.go
- e2e: ConfigMap
- version: 0.6
- args: --file_content, --break_on_expected_content, --retry_time, --file_content_in_loop

##### service_accounts.go
- e2e: ServiceAccounts
- version: 0.2
- args: --file_content

Some of the e2e tests use at least one of the affected options. Locally, I have updated all version of mounttest images to 0.7. All e2e tests pass with the new image.
2016-05-19 13:15:24 -07:00
Yu-Ju Hong b57fbee557 check pid in oomscoreadj 2016-05-19 12:21:27 -07:00
Piotr Szczesniak eea3a4e5fb Bumped Heapster to v1.1.0-beta2 2016-05-19 20:43:30 +02:00
Yu-Ju Hong e3e1c7a6a1 kubelet: Don't attempt to apply the oom score if the container is not running
Containers could terminate before kubelet applies the oom score. This is normal
and the function should not error out.
2016-05-19 11:32:36 -07:00
Shaya Potter ae08ef38d7 kubelet/cadvisor: Refactor cadvisor disk stat/usage interfaces 2016-05-19 11:13:47 -07:00
Danka Niedziałkowska e676fc55f1 Update gke_local_ssd.go 2016-05-19 11:04:23 -07:00
Brendan Burns 014622db8f address comments. 2016-05-19 10:38:13 -07:00
Brendan Burns 7e43205110 Add an e2e test for third party resources (disabled by default) 2016-05-19 10:15:08 -07:00
Tim Hockin 54a3efb364 Make IsDNS952Label return error strings 2016-05-19 08:57:49 -07:00
Tim Hockin 5862a60ae7 Make IsDNS1123Subdomain return error strings 2016-05-19 08:57:49 -07:00
Tim Hockin 77eff06a53 Make IsDNS1123Label return error strings 2016-05-19 08:57:49 -07:00
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
PingWang 85f1e0ea6a Fix the bug of the "removePod" function in node_info.go
It should reduce the resource data after finding the pod in the pods, because perhaps no corresponding pod in the pods of the node, at this time it shouldn't reduce the resource data of the node.
2016-05-19 17:19:54 +08: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
Janet Kuo a178b5d553 Support sort-by timestamp in kubectl get 2016-05-18 21:36:44 -07: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
Clayton Coleman 588f15844b
Add init container support to other admission controllers 2016-05-18 22:32:25 -04:00
Clayton Coleman e2afc97587
Add init containers to PSP admission
Treat them just like regular containers.
2016-05-18 22:32:22 -04:00
Danka Niedziałkowska bba211e04b Test for GKE local SSD 2016-05-18 18:11:22 -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