Skip to content

Multiple disks #504

@holmesb

Description

@holmesb

Describe the solution you'd like
Ability to add extra disks to ProxmoxMachines and ProxmoxMachineTemplates beyond the ...spec.disks.bootVolume.

Anything else you would like to add:
Currently can only attach a single disk (for the bootVolume). Other providers allow creating additional disks for data storage. Eg vSphere has:
VSphereMachineTemplate.spec.template.spec.dataDisks[]
VSphereMachine.spec.dataDisks[]
GCP has:
GCPMachineTemplate.spec.template.spec.additionalDisks[]
GCPMachine.spec.additionalDisks[]
AWS has:
AWSMachineTemplate.spec.template.spec.nonRootVolumes[]
AWSMachine.spec.nonRootVolumes[]

etc. These are lists that take multiple disks. In this provider, there is only a single:
ProxmoxMachine.spec.disks.bootVolume
ProxmoxMachineTemplate.spec.template.spec.disks.bootVolume
object.

I suggest a non-breaking solution of keeping the ...spec.disks.bootVolume object, and create a ...spec.disks.additionalVolumes[] list. So will be able to specify, eg:

spec:
  disks:
    bootVolume:
      disk: boot 
      sizeGb: 100
    additionalVolumes:
      - disk: data-0 
        sizeGb: 100
      - disk: data-1 
        sizeGb: 50

The alternative is to scrap ...spec.disks.bootVolume since there will always be a bootVolume, move its properties to the root of ..spec. Ie just its diskGiB, like GCP & vSphere. Then change ...spec.disks from an object to a list of extra disks. But while a simpler structure, would be a breaking change.

Environment:
Cluster-api-provider-proxmox version: 0.7.1

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions