Executors in different hosts with a label for special task execution

When with task-building which is unit/integrationTest type which may cause much CPU/MEM usage.

How about mark the exeutors in different host with a label, like using the executor’s host-name.

Just put these type of test tasks to run in special nodes that prepared for running test-case usage.

I think it could be related with this enhancement:

@huapox We already though about this and it’s a complex topic and there’s isn’t a related issue. The above one by @camandel is just a filter related to the k8s executor to filter which k8s nodes to use for agola scheduling.

About your proposal:

This will require that a user writes a run knowing how the agola infrastructure is done, the node labels etc… and write these data inside the run definition. As you can understand this doesn’t makes a great sense so isn’t a viable options. See the below enhancements for a better way to handle this:

  • Ability to define in the project definition or in the run/task definition the minimum required resources (cpu and ram). The scheduler will schedule tasks only on the hosts matching these resources. In k8s this is easier since it’s done by the k8s scheduler, while with docker we should gather the current node available resources and then do this selection in the agola executor.

  • Ability to constrain a projectgroup/project to execute its run tasks only on some nodes (using label selectors, where the label are defined in agola executor config). I consider this with a lower priority than the previous one.

Will open some issues related to this, then someone should implement it.

1 Like

Great! can’t wait to experience.