Commit Graph

1542 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
9fc8ebdafa Merge pull request #32891 from wojtek-t/route_controller_fix
Automatic merge from submit-queue

Don't update NodeNetworkUnavailable condition if it's already set cor…

Ref #32571
2016-09-17 00:39:34 -07:00
Kubernetes Submit Queue
cd051703b3 Merge pull request #32877 from deads2k/client-09-fixup-lister
Automatic merge from submit-queue

change factorization of listers to make them easier to add

`Listers` have a tremendous amount of duplicate code.  This factors that out.

@smarterclayton ptal.
2016-09-16 22:39:37 -07:00
Wojciech Tyczynski
d7d6249781 Don't update NodeNetworkUnavailable condition if it's already set correctly 2016-09-16 21:03:20 +02:00
deads2k
1bf17eb4e9 change factorization of listers to make them easier to add 2016-09-16 14:49:00 -04:00
Kubernetes Submit Queue
2ca15b9f76 Merge pull request #32815 from deads2k/controller-02-daemonset-informer
Automatic merge from submit-queue

convert daemonset controller to shared informers

Convert the daemonset controller completely to `SharedInformers` for its list/watch resources.

@kubernetes/rh-cluster-infra @ncdc
2016-09-16 09:39:57 -07:00
deads2k
234d68be83 convert daemonset controller to shared informers 2016-09-16 10:40:46 -04:00
Kubernetes Submit Queue
e8fbcb1669 Merge pull request #32654 from soltysh/sj_clientset
Automatic merge from submit-queue

Switch ScheduledJob controller to use clientset

**What this PR does / why we need it**:
This is part of #25442. I've applied here the same fix I've applied in the manual client in #29187, see the 1st commit for that (@caesarxuchao we've talked about it in #29856).

@deads2k as promised 
@janetkuo ptal
2016-09-16 05:03:57 -07:00
Kubernetes Submit Queue
0d9685b0b5 Merge pull request #32805 from caesarxuchao/more-gc-optimization
Automatic merge from submit-queue

Add the uid in a delete event to the absentOwnerCache

This is a small optimization to further reduce the traffic sent by the GC.

In #31167, GC caches the non-existent owners when it processes the dirtyQueue. As discovered in #32571, there is still small inefficiency, because there are multiple goroutines processing the dirtyQueue, many of them might send a GET to the apiserver before the cache gets populated.

This PR populates the cache when GC observes an object gets deleted, which happens before the processing of the dirtyQueue, so it avoids the simultaneous GET sent by the GC workers.

cc @lavalamp
2016-09-16 00:40:24 -07:00
Chao Xu
d122de5371 add the uid in a delete event to the absentOwnerCache 2016-09-15 13:53:47 -07:00
Mike Danese
a765d59932 move informer and controller to pkg/client/cache
Signed-off-by: Mike Danese <mikedanese@google.com>
2016-09-15 12:50:08 -07:00
Chao Xu
21896dac4b add the uid in a delete event to the absentOwnerCache 2016-09-15 11:22:22 -07:00
Kubernetes Submit Queue
843d7cd24c Merge pull request #32576 from wongma7/revert-30825-pv-controller-informer
Automatic merge from submit-queue

Revert "Use PV shared informer in PV controller"

Fixes #32497 

Reverts kubernetes/kubernetes#30825
2016-09-15 04:37:29 -07:00
Kubernetes Submit Queue
dab16bf8fd Merge pull request #32565 from jsafrane/deleter-plugin
Automatic merge from submit-queue

Do not report warning event when an unknown deleter is requested

When Kubernetes does not have a plugin to delete a PV it should wait for
either external deleter or storage admin to delete the volume instead of
throwing an error.

This is the same approach as in #32077

@kubernetes/sig-storage
2016-09-14 22:20:36 -07:00
Kubernetes Submit Queue
6b1565d275 Merge pull request #30678 from ping035627/ping035627-patch-0816
Automatic merge from submit-queue

Recombine the condition for the "shouldScale" function

The PR recombine the condition for the "shouldScale" function, abstract the common condition(hpa.Status.LastScaleTime == nil).
2016-09-14 04:50:49 -07:00
Maciej Szulik
7a34347f7f Move ScheduledJob controller to use generated clientset 2016-09-14 11:27:29 +02:00
Matthew Wong
25e9b9dcf9 Revert "Use PV shared informer in PV controller" 2016-09-13 10:12:34 -04:00
deads2k
8fac64b43f add localSAR 2016-09-13 08:54:23 -04:00
Jan Safranek
3eae8c9022 Do not report warning event when an unknown deleter is requested
When Kubernetes does not have a plugin to delete a PV it should wait for
either external deleter or storage admin to delete the volume instead of
throwing an error.

Related to #32077
2016-09-13 10:39:45 +02:00
Kubernetes Submit Queue
c1f47581fa Merge pull request #32524 from derekwaynecarr/ns-controller-finalizer
Automatic merge from submit-queue

Namespace Controller handles items with finalizers gracefully

This PR does the following:

1. ensures the "orphan" finalizer is not added to items during DELETE COLLECTION calls
2. does not treat presence of a finalizer as an unexpected error condition.

The 15s wait should only happen when finalizers not added by GC are used.

I am aware of any finalizer like that at this time.

Fixes https://github.com/kubernetes/kubernetes/issues/32519
2016-09-12 19:07:06 -07:00
Kubernetes Submit Queue
51b5ff59b9 Merge pull request #32210 from deads2k/controller-01-cachewait-handle
Automatic merge from submit-queue

update error handling for daemoncontroller

Updates the DaemonSet controller to cleanly requeue with ratelimiting on errors, make use of the `utilruntime.HandleError` consistently, and wait for preconditions before doing work.

@ncdc @liggitt @sttts My plan is to use this one as an example of how to handle requeuing, preconditions, and processing error handling.
@foxish fyi

related to https://github.com/kubernetes/kubernetes/issues/30629
2016-09-12 17:13:19 -07:00
Kubernetes Submit Queue
6a9a93d469 Merge pull request #32242 from jingxu97/bug-wrongvolume-9-2
Automatic merge from submit-queue

Fix race condition in updating attached volume between master and node

This PR tries to fix issue #29324. The cause of this issue is that a race
condition happens when marking volumes as attached for node status. This
PR tries to clean up the logic of when and where to mark volumes as
attached/detached. Basically the workflow as follows,
1. When volume is attached sucessfully, the volume and node info is
added into nodesToUpdateStatusFor to mark the volume as attached to the
node.
2. When detach request comes in, it will check whether it is safe to
detach now. If the check passes, remove the volume from volumesToReportAsAttached
to indicate the volume is no longer considered as attached now.
Afterwards, reconciler tries to update node status and trigger detach
operation. If any of these operation fails, the volume is added back to
the volumesToReportAsAttached list showing that it is still attached.

These steps should make sure that kubelet get the right (might be
outdated) information about which volume is attached or not. It also
garantees that if detach operation is pending, kubelet should not
trigger any mount operations.
2016-09-12 15:29:38 -07:00
derekwaynecarr
80d8c330e6 Namespace controller does not treat objects with finalizers as an error condition 2016-09-12 17:30:00 -04:00
Jing Xu
efaceb28cc Fix race condition in updating attached volume between master and node
This PR tries to fix issue #29324. This cause of this issue is a race
condition happens when marking volumes as attached for node status. This
PR tries to clean up the logic of when and where to mark volumes as
attached/detached. Basically the workflow as follows,
1. When volume is attached sucessfully, the volume and node info is
added into nodesToUpdateStatusFor to mark the volume as attached to the
node.
2. When detach request comes in, it will check whether it is safe to
detach now. If the check passes, remove the volume from volumesToReportAsAttached
to indicate the volume is no longer considered as attached now.
Afterwards, reconciler tries to update node status and trigger detach
operation. If any of these operation fails, the volume is added back to
the volumesToReportAsAttached list showing that it is still attached.

These steps should make sure that kubelet get the right (might be
outdated) information about which volume is attached or not. It also
garantees that if detach operation is pending, kubelet should not
trigger any mount operations.
2016-09-12 13:51:08 -07:00
deads2k
385831825b update error handling for daemoncontroller 2016-09-12 11:01:46 -04:00
Kubernetes Submit Queue
a29ab082d5 Merge pull request #32461 from smarterclayton/endpoints_loggy
Automatic merge from submit-queue

Endpoints controller is logspamming
2016-09-12 05:20:25 -07:00
Kubernetes Submit Queue
c07d0b7752 Merge pull request #32462 from smarterclayton/sj_logs
Automatic merge from submit-queue

ScheduledJob controller is too chatty
2016-09-12 04:39:53 -07:00
lojies
9498b227a1 change infof to Errorf in some codes 2016-09-12 15:55:42 +08:00
Kubernetes Submit Queue
2462f43798 Merge pull request #32030 from m1093782566/m109-clean-get-pet-code
Automatic merge from submit-queue

[Pet Set] Fix logical breaking of apiServerPetClient.Get(*pcb)

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**:

addresses #32031
2016-09-11 22:49:40 -07:00
Kubernetes Submit Queue
f6b8cdadd7 Merge pull request #32281 from kargakis/remove-duplicate-createdby
Automatic merge from submit-queue

controller: remove duplicate created-by annotation from scheduled jobs

@erictune @soltysh
2016-09-11 17:12:09 -07:00
Clayton Coleman
8b71007601
ScheduledJob controller is too chatty
Sync information is printed far too often
2016-09-11 14:08:37 -04:00
Clayton Coleman
b2a1296b4d
Endpoints controller is logspamming 2016-09-11 14:07:17 -04:00
Kubernetes Submit Queue
17f82069bb Merge pull request #30825 from wongma7/pv-controller-informer
Automatic merge from submit-queue

Use PV shared informer in PV controller

Use the PV shared informer, addressing (partially) https://github.com/kubernetes/kubernetes/issues/26247 . Using the PVC shared informer is not so simple because sometimes the controller wants to `Requeue` and...
2016-09-10 12:40:30 -07:00
Kubernetes Submit Queue
a69752c81f Merge pull request #31944 from m1093782566/m109-master-fix-found
Automatic merge from submit-queue

[Pet Set] Clean up code

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**:

Clean code of petset, from:

```
func (p *apiServerPetClient) getPVC(pvcName, pvcNamespace string) (*api.PersistentVolumeClaim, bool, error)
```

to:

```
func (p *apiServerPetClient) getPVC(pvcName, pvcNamespace string) (*api.PersistentVolumeClaim, error) 
```

I think the 2nd(bool type) return value of [getPVC](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/petset/pet.go#L228) is unnecessary, as the caller can be responsible for checking the error type and tell if it exists via the [error type](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/petset/pet.go#L231-L233).

So, I remove the 2nd return value of `getPVC()`.

The benefit of this change is that we can simplify the code of `getPVC()` while don't increase the caller's code.
2016-09-09 15:00:22 -07:00
Kubernetes Submit Queue
23079c4569 Merge pull request #32270 from gmarek/metric
Automatic merge from submit-queue

Change the eviction metric type and fix rate-limited-timed-queue

People how know better convinced me that aggregate counter is better than a gauge for a number of evictions metric. @Q-Lee 

Per discussion with @pwittrock I add a v1.4 label and a cherrypick candidate label. This is a slightly bigger change than I thought, but it fixes a bug in eviction logic, so it's also important.

cc @derekwaynecarr @smarterclayton @timothysc
2016-09-08 06:59:43 -07:00
Michail Kargakis
956662a801 controller: remove duplicate created-by annotation from scheduled jobs 2016-09-08 14:53:14 +02:00
gmarek
c40a36cab0 Change the eviction metric type and fix rate-limited-timed-queue 2016-09-08 12:20:51 +02:00
Kubernetes Submit Queue
7a4d81ea43 Merge pull request #31271 from deads2k/self-sar
Automatic merge from submit-queue

add selfsubjectaccessreview API

Exposes the REST API for self subject access reviews.  This allows a user to see whether or not they can perform a particular action.

@kubernetes/sig-auth
2016-09-08 01:29:48 -07:00
m1093782566
13ce13664d always return false if error not nil in Get(pcb)
Change-Id: I37bd4d8948a8a5c0017966958547904595b28119
2016-09-08 10:25:54 +08:00
Jan Safranek
3a2f4e52a8 Do not report warning event when an nknown provisioner is requested
with StorageClass.Provisioner == <unknown plugin>, we should wait for
either external provisioner or volume admin to provide a PV for a claim
instead of reporting an error.

Fixes #31723
2016-09-07 09:11:41 +02:00
Kubernetes Submit Queue
54db8fa2e3 Merge pull request #31886 from deads2k/move-storage-class
Automatic merge from submit-queue

Move StorageClass to a storage group

We discussed the pros and cons in sig-api-machinery yesterday.  Choosing a particular group name means that clients (including our internal code) require less work and re-swizzling to handle promotions between versions.  Even if you choose a group you end up not liking, the amount of work remains the same as the incubator work case: you move the affected kind, resource, and storage.

This moves the `StorageClass` type to the `storage.k8s.io` group (named for consistency with authentication, authorization, rbac, and imagepolicy).  There are two commits, one for manaul changes and one for generated code.
2016-09-06 23:22:02 -07:00
Kubernetes Submit Queue
9dfe8df7cd Merge pull request #32107 from xingzhou/km_bug
Automatic merge from submit-queue

Used goroutine to launch node controller's internalPodInformer.

Fixes #32103
2016-09-06 11:50:28 -07:00
deads2k
cd5b6cc491 move StorageClass to its own group 2016-09-06 08:41:17 -04:00
Kubernetes Submit Queue
4260f4ed0b Merge pull request #31661 from mikedanese/log-fix-ds
Automatic merge from submit-queue

fix log message to include ds name

The pod name is never set because newPod is created a couple lines up without a name. Instead log the name and namespace of the ds which the pod is created from.

also bump the log level because reasons loop get's hit fairly often and does not indicate a bug.
2016-09-06 03:51:25 -07:00
Kubernetes Submit Queue
afef4b6938 Merge pull request #32070 from gmarek/nodecontroller
Automatic merge from submit-queue

Sleep between NodeStatus update retries

Just a thing I found when looking into other problems.

This is pretty much no-risk change fixing wrong behavior. Do you think it should go in 1.4? @pwittrock
2016-09-06 03:51:20 -07:00
PingWang
f4b13c77a8 recombining the condition for shouldScale function
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-09-06 16:14:25 +08:00
Xing Zhou
46c302b4c2 Used goroutine to launch node controller's internalPodInformer.
Node controller's internalPodInformer will block main thread
if it is not started as a go routine. This patch fixed this
by runing internalPodInformer as a go routine.
2016-09-06 15:39:13 +08:00
Kubernetes Submit Queue
065fad7ad1 Merge pull request #32100 from wojtek-t/fix_rc_log
Automatic merge from submit-queue

Fix debugging log in RC

Ref #31981
2016-09-06 00:38:51 -07:00
Kubernetes Submit Queue
0c8b17891b Merge pull request #28759 from xiang90/pas
Automatic merge from submit-queue

controller/podautoscaler: minor cleanup

1. remove unnecessary else statement

2. remove unnecessary initialization
2016-09-06 00:38:46 -07:00
Wojciech Tyczynski
5582856e23 Fix debugging log in RC 2016-09-06 08:50:44 +02:00
Kubernetes Submit Queue
562e1747a8 Merge pull request #31698 from m1093782566/m109-pet-set-errs-err
Automatic merge from submit-queue

[Pet Set] Refactor return []error to error

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**Which issue this PR fixes** 

I propose refactor return value from `[]error` to error [here](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/petset/pet_set.go#L80), for the purpose of simplify code and format error output.

I think we can use `errors.NewAggregate(errorList)` to aggregate `[]error`.
2016-09-05 22:09:07 -07:00