cluster-api-provider-proxmox icon indicating copy to clipboard operation
cluster-api-provider-proxmox copied to clipboard

Multiple disks

Open holmesb opened this issue 5 months ago • 1 comments

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

holmesb avatar Jun 29 '25 15:06 holmesb

Yeah, this is in our schedule.

https://github.com/ionos-cloud/cluster-api-provider-proxmox/blob/e31953e7c9340659154357d456a985fa2b090535/api/v1alpha1/proxmoxmachine_types.go#L147

mcbenjemaa avatar Jul 09 '25 12:07 mcbenjemaa