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

Remove disk constraints in Tinkerbell provider #3234

Closed
chrisdoherty4 opened this issue Sep 1, 2022 · 1 comment
Closed

Remove disk constraints in Tinkerbell provider #3234

chrisdoherty4 opened this issue Sep 1, 2022 · 1 comment
Assignees
Labels
area/providers/tinkerbell Tinkerbell provider related tasks and issues kind/enhancement New feature or request team/providers
Milestone

Comments

@chrisdoherty4
Copy link
Contributor

chrisdoherty4 commented Sep 1, 2022

#3233 is a prereq to this issue.

The Tinkerbell provider imposes a constraint on customers that requires them to use machines with the same disk type in node groups (e.g. control plane nodes or worker node group 1 etc). This was because Tinkerbell templates didn't have access to the hardware associated with a workflow at time of rendering so required pre-populating by the EKS-A CLI before hardware was selected.

The latest changes to Tinkerbell feed hardware data (disks only currently) to templates rooted at .Hardware. A function for rendering full disk paths with a partition, called formatPartition, was added and supports block (/dev/sd) and NVMe (/dev/nvme) devices.

Example usage of disk partitioning function

formatPartition ( index .Hardware.Disks 0 ) 1
  1. index .Hardware.Disks 0 retrieves the first disk in the hardware disks slice retrieved from the Harwdare Kubernetes object associated with the workflow.
  2. formatPartition <disk> 1 formats the disk path with a partition 1.
formatPartition "/dev/sda" 1 # output: /dev/sda1
formatPartition "/dev/nvme0n1" 2 # output: /dev/nvme0n1p2
@chrisdoherty4 chrisdoherty4 changed the title Remove common disk constraints in Tinkerbell provider Remove disk constraints in Tinkerbell provider Sep 1, 2022
@g-gaston g-gaston added this to the backlog milestone Sep 2, 2022
@chrisdoherty4 chrisdoherty4 modified the milestones: backlog, next Sep 6, 2022
@ndeksa ndeksa modified the milestones: next, v0.15.0 Mar 13, 2023
@chrisdoherty4
Copy link
Contributor Author

chrisdoherty4 commented Mar 30, 2023

The multi-disk type support is for the old SCSI representation and NVMe only.

For example, the following paths representing 2 pieces of hardware can be combined in the same group of nodes such as control plane nodes.

/dev/sda

and

/dev/nvme0n1

Other devices types may be added in future updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/providers/tinkerbell Tinkerbell provider related tasks and issues kind/enhancement New feature or request team/providers
Projects
None yet
Development

No branches or pull requests

3 participants