elsa-core icon indicating copy to clipboard operation
elsa-core copied to clipboard

Need node affinity setting

Open johnwc opened this issue 2 years ago • 7 comments

When running several workers on different nodes, we need to be able to apply key/value properties on nodes that we can set a workflow's constraint to. We also need a way to put a constraint on workflows to make sure two or more with constraint value of X don't execute on same node.

Ex 1. Node 1-4 have much faster CPUs, so we set property on the nodes of SPEED=High. Workflow X that needs to always run only on one of those four nodes should have a node affinity rule placed on it where only a node with property SPEED is set to HIGH.

Ex 2. Workflow A, B, and C have activities that are disk or memory intensive and never should run at the same time on the same node.

If no node is available, the workflow can be configured to sit in queue for next available or to cancel/not run.

johnwc avatar Oct 10 '22 07:10 johnwc

@jdevillard gave an awesome demo during yesterday's community meeting that I think will be able to handle this scenario perfectly. I think we can expect a PR soon ;)

sfmskywalker avatar Oct 14 '22 18:10 sfmskywalker

@sfmskywalker how do we get invited to these community meetings? I wouldn't mind listening in on some if I am available at the same time.

johnwc avatar Oct 14 '22 18:10 johnwc

@sfmskywalker it would also be nice to be able to see in the table in the dashboard, what node a workflow executed/excuting on.

johnwc avatar Oct 14 '22 19:10 johnwc

how do we get invited to these community meetings? I wouldn't mind listening in on some if I am available at the same time.

Everyone is invited 🤗 The meeting occurs every Thursday at 18:00 UTC via our Elsa workflows server on Discord in the voice channel.

Next week, however, we are going to try Teams to see if it offers a better screen-sharing experience. Link will follow.

sfmskywalker avatar Oct 14 '22 19:10 sfmskywalker

it would also be nice to be able to see in the table in the dashboard, what node a workflow executed/excuting on.

💯

sfmskywalker avatar Oct 14 '22 19:10 sfmskywalker

how do we get invited to these community meetings? I wouldn't mind listening in on some if I am available at the same time.

Everyone is invited 🤗 The meeting occurs every Thursday at 18:00 UTC via our Elsa workflows server on Discord in the voice channel.

Next week, however, we are going to try Teams to see if it offers a better screen-sharing experience. Link will follow.

I much prefer teams, since we use it here at the office already, over having to create a new account for yet another service. ;-) Will the teams link only be shared in discord?

johnwc avatar Oct 14 '22 20:10 johnwc

This issue refers to discussion #2932 where I try to bring a start of reflexion!

Indeed the idea is to allow fine granularity to execute activity on specific node .

As you mention idea will be to get a list of node available and maybe possibility to set tag or anything else , then choose what node execute activity (and so entire workflow )

jdevillard avatar Oct 14 '22 20:10 jdevillard