fabric8-services / fabric8-jenkins-idler

OpenShift.io service to idle resp.unidle Jenkins instances
Apache License 2.0
4 stars 15 forks source link

Handle large tenant update gracefully #324

Closed chmouel closed 5 years ago

chmouel commented 5 years ago

This is a follow up on the discussion happenning here :

https://chat.openshift.io/developers/pl/reegarnowty9iedkyqujgfcm1o

When there is a large tenant update all pods gets awaken, we need to be able to handle this gracefully.

A workflow like this, tenant update (for jenkins pod) start :

I am not sure if it would help that much the load but at least the flow will be more controlled, it sure would be better than guessing what's happening on the events received to idler.

Feel free to update this issue if you think of a better/improved solution,

chmouel commented 5 years ago

@MatousJobanek @hrishin @sthaha

pbergene commented 5 years ago

Idler needs to be running as a full cluster can't handle necessarily handle all pods awake at the same time. This has usually been handled by adding a delay to the tenant update, to ensure idling kicks in before the cluster becomes overloaded.

chmouel commented 5 years ago

@pbergene yep, just to clarify, it's only disabling idler operation for the user/tenant that is going to be updated, not the whole idler, (updated the issue)

pbergene commented 5 years ago

@chmouel Ah. Good :) I'll read next time

chmouel commented 5 years ago

This probaby is related: https://github.com/fabric8-services/fabric8-jenkins-idler/issues/232 and #83

But it would be good to keep this issue to discuss the strategy of how to handle large tenant update, just not disabling idler for a user

hrishin commented 5 years ago

Yes, it also related to #301 issue.

hrishin commented 5 years ago

@chmouel you closed it intentionally? just wanted to confirm

chmouel commented 5 years ago

I closed most of my old created issues, we are not working on idler anymore so may as well,