Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Host resource management #147

Open
5 of 8 tasks
lukasfrank opened this issue Jan 31, 2024 · 0 comments
Open
5 of 8 tasks

Host resource management #147

lukasfrank opened this issue Jan 31, 2024 · 0 comments
Labels
enhancement New feature or request prio-high

Comments

@lukasfrank
Copy link
Member

lukasfrank commented Jan 31, 2024

Summary

This issue tracks the addition of host resource management functionality to the libvirt-provider. This feature would enhance the capabilities of the libvirt-provider by allowing better control and allocation of host resources such as CPU, memory, NICs, SGX memory, ..., and (ephemeral) storage.

Use Case

  • Assign VCPU to CPU
  • Block CPUs
  • Assign NUMA nodes
  • Define SGX
  • ...

Proposed changes

  1. Extend api.Machine with needed properties eg.
type MachineSpec struct {
	...
        #e.g.
        CpuPins map[int]int 
	...
}
  1. Extend the reconciler to support the new fields
  2. Implement a resource management component
  3. Extend IRI if needed

Example flow

graph LR
  Poollet -->|CreateMachine, Status| GRPC_Server
  GRPC_Server -->|Calls| Resource_Management
  GRPC_Server -->|Creates api.Machine| Store
  Reconciler -->|Watches| Store
Loading

Resource Manager

The GRPC Server will call the Resource Manager (RM) in order to get information about the shared resources. The response is embedded into the api.Machine and put into the Store by the Server. The RM keeps track of the resources offered by the host and the current VMs on the host. Status requests are also answered by the RM.

Features

@lukasfrank lukasfrank added the enhancement New feature or request label Jan 31, 2024
@github-project-automation github-project-automation bot moved this to Todo in Compute Jan 31, 2024
@lukasfrank lukasfrank moved this from Todo to Done in Compute Feb 1, 2024
@lukasfrank lukasfrank moved this from Done to In Progress in Compute Feb 1, 2024
@hardikdr hardikdr removed this from Compute Feb 21, 2024
@github-project-automation github-project-automation bot moved this to Todo in Compute Apr 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request prio-high
Projects
Status: Todo
Development

No branches or pull requests

1 participant