-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
consumer: workflow-submission queue #77
Conversation
* Adds workflow-submission queue to default queues. Refactors configuration to allow for multiple default queues, linked with their parameters. Signed-off-by: Dinos Kousidis <dinos.kousidis@cern.ch>
1d55fb7
to
5400f12
Compare
d774212
to
7dafafe
Compare
* Adds BasePublisher class. Splits the common part of WorkflowStatusPublisher to a base class. * Adds WorkflowSubmissionPublisher to be used for enqueueing to the workflow submission queue. * Adds sample reana_ready task to check for system availability to start new workflow executions. Signed-off-by: Dinos Kousidis <dinos.kousidis@cern.ch>
80b3cba
to
5c07f20
Compare
Signed-off-by: Dinos Kousidis <dinos.kousidis@cern.ch>
176324b
to
b3b08c6
Compare
ed7a4db
to
559f1ab
Compare
937307e
to
7408e91
Compare
"""Minimum allocatable pod capacity in cluster to start new workflows.""" | ||
|
||
K8S_MAXIMUM_CONCURRENT_JOBS = 1 | ||
"""Upper limit on concurrent jobs running in the cluster.""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please check the BSM example and set the defaults very liberally so that almost any input would be accepted... One workflow can generate many jobs and the system may suffer, but we only need to protect ourselves from people starting ~N workflows at the same time.
Also it would be good if these are easily user-settable, e.g. reana-cluster template variable taking precedence.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With 10 concurrent jobs the BSM example ran on my machine ok. I agree it should be cluster configuration and not in reana-commons - to be improved.
ce23cfa
to
38a4de8
Compare
* Adds task calling k8s api to check if there are sufficient allocatable resources available in any nodes of the cluster. * Adds REANA_READY_CONDITIONS list containing functions, that define the conditions required to start workflows that are queued. First 2 conditions are checking the k8s predefined conditions for the node status, and an upper limit for concurrently running jobs. Signed-off-by: Dinos Kousidis <dinos.kousidis@cern.ch>
* Adds kwargs to constructors of derived publisher classes. * Adds test for reana_ready() task, asserting that the defined conditions for starting queued workflows in the config are checked properly. Signed-off-by: Dinos Kousidis <dinos.kousidis@cern.ch>
Signed-off-by: Dinos Kousidis <dinos.kousidis@cern.ch>
Signed-off-by: Dinos Kousidis <dinos.kousidis@cern.ch>
a2e90ae
to
e05adab
Compare
Refactors configuration to allow for multiple default queues,
linked with their parameters.
Connects reanahub/reana#119
Depends on reanahub/pytest-reana#36
Signed-off-by: Dinos Kousidis dinos.kousidis@cern.ch