Skip to content

Multiple disks #504

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew featurestorageMultiple storage volumes

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions