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

Add usage doc for compute section #1212

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

ushabelgur
Copy link
Contributor

Proposed Changes

  • Add usage documentation for Machine, MachineClass and MachinePool in compute section.
  • Sample example yaml to create each of the resources with keyFields explained
  • Reconciliation logic explained for each resource.

Fixes #1190

@github-actions github-actions bot added size/L documentation Improvements or additions to documentation enhancement New feature or request labels Jan 6, 2025
@ushabelgur ushabelgur requested a review from balpert89 January 6, 2025 07:55
@ushabelgur ushabelgur marked this pull request as ready for review January 6, 2025 10:22
@ushabelgur ushabelgur requested a review from a team as a code owner January 6, 2025 10:22
@ushabelgur ushabelgur self-assigned this Jan 8, 2025
@lukas016 lukas016 force-pushed the osc/enh/doc_compute branch from 6dab515 to 88f8e7b Compare January 9, 2025 06:04
docs/usage/compute/machine.md Outdated Show resolved Hide resolved
docs/usage/compute/machine.md Outdated Show resolved Hide resolved
@lukas016 lukas016 force-pushed the osc/enh/doc_compute branch from b5b0bff to 311373f Compare January 10, 2025 04:47
@ushabelgur ushabelgur requested a review from afritzler January 13, 2025 07:19
@lukas016 lukas016 force-pushed the osc/enh/doc_compute branch from 311373f to 13e297d Compare January 15, 2025 05:13
- **Update Cache**: The scheduler updates the cache with recalculated allocatable `machineClass` quantities.
- **Assign MachinePoolRef**: The scheduler assigns the selected `machinePoolRef` to the machine object.

2. **IRI Machine creation**: Once the Machine is allocated to a particular pool, the `MachineController` processes the `Machine` resource and it extracts the `ignitionData`, `networkInterfaces` and `volumes` information from the `spec` and prepares IRI machine resource.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here I would mention that a machinepoollet responsible for this Pool is picking up the Machine and is doing the subsequent IRI call either against a broker (to copy the resource into another cluster) OR a provider implementation e.g. libvirt-provider which creates a corresponding machine against libvirt/QEMU.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

docs/usage/compute/machine.md Outdated Show resolved Hide resolved
5. **Volume handling**: `MachineControllerVolume` takes care of attach/detach of Volumes(Storage) defined for machine. Once the attachment is successful status is updated from `Pending` to `Attached`.

6. **Ephemeral resource handling**: If `NetworkIntreface` or `Volume` is defined as ephemeral(i.e. coupled to the lifetime of the machine object) in the machine spec, `MachineEphemeralControllers` takes care of creating and destroying respective objects on creation/deletion of the machine.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it also makes sense here to mention that you can bind the Volume and NIC lifecycle with the Machine lifecycle by creating ephemeral resources on the fly and reference here the e2e examples for those.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@@ -1 +1,33 @@
# MachinePool

A `MachinePool` is a resource in `Ironcore` that represents a pool of compute resources managed collectively. It defines the infrastructure's compute configuration used to provision and manage `Machines`, ensuring resource availability and compatibility with associated `MachineClasses`.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should mention here that always ONE machinepoollet is responsible for one MachinePool.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@lukas016 lukas016 force-pushed the osc/enh/doc_compute branch from 13e297d to 44bbbf0 Compare January 17, 2025 15:57
@ushabelgur ushabelgur requested a review from afritzler January 17, 2025 15:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request size/L
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Document compute API group
2 participants