Skip to content

Initial implementation of workload placement controller, scheduler, and workload validation#3

Merged
joshlreese merged 1 commit intointegration/datum-pocfrom
feature/bootstrap-controllers
Nov 22, 2024
Merged

Initial implementation of workload placement controller, scheduler, and workload validation#3
joshlreese merged 1 commit intointegration/datum-pocfrom
feature/bootstrap-controllers

Conversation

@joshlreese
Copy link
Copy Markdown
Contributor

Initial implementation of the following controllers:

  • Workload Placement: Responsible for interpreting a workload spec, locating viable clusters, and creating a WorkloadDeployment for each placement that can be satisfied by a cluster. It's important to note that this controller does not schedule the deployment.
  • Workload Scheduler: Very basic scheduler that assigns a WorkloadDeployment to a candidate cluster. It is possible for multiple clusters to satisfy a deployment, right now only the first will be chosen. In the future, a scoring based scheduler will be desired.
  • Workload Deployment: Currently responsible for creating a NetworkBinding for each network that a workload deployment is attached to via a network interface. This network binding includes topology information, such as which cluster the deployment was scheduled to, and what city that deployment is in. This information is ultimately used by the Network Services Operator to create a NetworkContext for each unique network binding topology, and is what drives subnets, subnet claims, and other future allocations within that network context.

This PR also bootstraps the validation logic for workloads and workload instances. One interesting highlight here is the use of a SubjectAccessReview within webhook validation to ensure that the API user has appropriate permissions to attach to a particular network. This can be used in the future for access to images, or other referenced entities.

Important

Much work still needs to be completed on the test suite.

…nd workload validation. Needstest suite impl.
@joshlreese joshlreese requested a review from scotwells November 20, 2024 15:56
Base automatically changed from feature/bootstrap-compute-apis to integration/datum-poc November 22, 2024 19:47
@joshlreese joshlreese merged commit 834e481 into integration/datum-poc Nov 22, 2024
@joshlreese joshlreese deleted the feature/bootstrap-controllers branch November 22, 2024 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants