-
Notifications
You must be signed in to change notification settings - Fork 36
Description
Originated in #156 (review)
I had a few thoughts while working on and reviewing things related to quotas:
-
The
update_users_cpu_quotafunction, and other quota functions that rely on checking of env variables inside, have non-obvious behavior. For example,update_users_cpu_quotahas a verbupdate_...which implies it will update CPU quotas but sometimes it will not if the combination of env variables is not right. -
The
WORKFLOW_TERMINATION_QUOTA_UPDATE_POLICYenv variable is used not only to configure what quotas are calculated when the workflow is finished but also affects whatever quotas are calculated in the REST API endpoint inr-workflow-controllerduring file upload or deletion (line). And this is not obvious from the name,TERMINATIONdoesn't imply it will stop calculating quotas during upload/deletion. From the user/admin perspective, maybe, not much to worry about but for a developer it is confusing.
The above changes were introduced because we wanted to quickly disable disk quotas to benchmark cluster (and I was part of it) but I am not sure it is a good long-term solution.
I don't have any concrete suggestions on how to make quotas logic better (except, maybe, moving ENV variables out from update_... functions). Would be good to hear your opinion on this + maybe you have other comments related to quota logic.