KPET: Create recipesets automatically
As a kpet-db maintainer I do not want to allocate recipeSets manually. I'd like kpet to figure out how many recipeSets are necessary and with which contents automatically, based on host requirements and how many and which tasks the picked tests need to run, so I can save time spent on manually organizing recipeSets and avoid mistakes.
As a Kernel CI maintainer I want kpet to allocate as many hosts as necessary automatically to have each recipeSet complete within certain time, so I can meet overall CI SLA. This, as well as FASTMOVING-777, are the prerequisite for that.
This is done, when:
- KPET allows describing multihost tests as a set of tasks to run on separate hosts, within specific test case
- Each task can have its own host_type_regex, and hostRequires, and whatever else makes sense for a task
- Kpet produces recipeSets containing recipes matching hosts described by the host types which all tasks in the recipe match, as well as having conditions from suite/case/task hostRequires.
- If a task matches multiple host types, the one with the shortest name is picked. I.e. the convention would be having shorter names for more general host types.
- "recipesets" is no longer supported in the top index.yaml and the data is removed from kpet-db.
JIRA ticket created by @spbnick
Edited by CKI Bot