Hey guys! In v2, the relationship between flyte entities (organizations, domains, project-domains, etc) is orthogonal and explicit with respect to clusters. Queues (new entity type) allow platform operators to determine which cluster a given action, task/trigger, task environment, project-domain, domain, or whole organization will execute on.
So you can have:
• my_org
â—¦ default_queue (priority 50, sends work to development cluster)
â—¦ high_priority queue (priority 90, sends work to development cluster)
â—¦ production domain
▪︎ production queue (priority 90, sends work to production cluster)
In this setup, actions sent to development or staging domains will execute on the development cluster, with high_priority queue emptying before any actions from default_queue. Actions sent to production domain will execute on the production cluster.
All of the scheduling logic is in the queue service, which understands all actions and queues at once and can make decisions like which queue should send to the executor in a given cluster. We will also look into resource-aware scheduling and preemption to better enforce priority in the coming months.
@handsome-lock-30336 with respect to open source vs closed source, we haven't released OSS backend yet for F2. We are committing to parity between the systems so any code you write in U2 will be fully portable to F2 once we get the backend out. For now, U2/F2 are are in this closed beta so we can nail the experience and also make use of limited engineering resources.