Skip to content

SPLAT-2295: Setup additional disks via machine configs#9706

Merged
openshift-merge-bot[bot] merged 2 commits intoopenshift:mainfrom
jcpowermac:azure-multi-disk
Jul 29, 2025
Merged

SPLAT-2295: Setup additional disks via machine configs#9706
openshift-merge-bot[bot] merged 2 commits intoopenshift:mainfrom
jcpowermac:azure-multi-disk

Conversation

@jcpowermac
Copy link
Contributor

@jcpowermac jcpowermac commented May 12, 2025

This PR is part two of the azure changes but also provides changes that other platforms could utilize.

Changes

  • Added platform-agnostic multi-disk support using Ignition configuration embedded in MachineConfigs
  • Created new disk types: etcd, swap, and user-defined disks
  • Implemented disk setup validation and feature gates
  • Added machine config generation for disk provisioning

Main Components:

  • New disk configuration system (pkg/asset/machines/machineconfig/disks.go) - Handles Ignition-based disk setup for different disk types, designed to be platform-agnostic
  • Enhanced machine pools (pkg/types/machinepools.go) - Added DiskSetup field with support for etcd, swap, and user-defined disks
  • Validation logic - Ensures proper disk configuration and platform compatibility
  • Feature gate integration - Controls multi-disk setup functionality

Platform Implementation:

  • Azure is currently implemented with specific device path handling (/dev/disk/azure/scsi1/lun%d)
  • VSphere placeholder exists for future implementation

Additional PRs

Assisted-by: Cursor

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 12, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented May 12, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@jcpowermac
Copy link
Contributor Author

controlPlane:                                                                                                       
  architecture: amd64                                                                                               
  hyperthreading: Enabled                                                                                           
  name: master                                                                                                      
  dataDisks:                                                                                                        
  - type: etcd                                                                                                      
    etcd:                                                                                                           
      platformDiskID: "etcddisk"                                                                                    
  platform:                                                                                                         
    azure:                                                            
      dataDisks:                                                                                                    
      - nameSuffix: etcddisk                                                                                        
        diskSizeGB: 256                                                                                             
        lun: 0                                                                                                      
  replicas: 3   

@jcpowermac
Copy link
Contributor Author

/test ?

@openshift-ci
Copy link
Contributor

openshift-ci bot commented May 27, 2025

@jcpowermac: The following commands are available to trigger required jobs:

/test aro-unit
/test artifacts-images
/test e2e-agent-compact-ipv4
/test e2e-aws-ovn
/test e2e-aws-ovn-edge-zones-manifest-validation
/test e2e-aws-ovn-upi
/test e2e-azure-ovn
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upi
/test e2e-metal-ipi-ovn-ipv6
/test e2e-openstack-ovn
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi
/test gofmt
/test golint
/test govet
/test images
/test integration-tests
/test integration-tests-nodejoiner
/test openstack-manifests
/test unit
/test verify-codegen
/test verify-deps
/test verify-vendor

The following commands are available to trigger optional jobs:

/test azure-ovn-marketplace-images
/test e2e-agent-4control-ipv4
/test e2e-agent-5control-ipv4
/test e2e-agent-compact-ipv4-appliance-diskimage
/test e2e-agent-compact-ipv4-none-platform
/test e2e-agent-compact-ipv6-minimaliso
/test e2e-agent-ha-dualstack
/test e2e-agent-sno-ipv4-pxe
/test e2e-agent-sno-ipv6
/test e2e-aws-byo-subnet-role-security-groups
/test e2e-aws-default-config
/test e2e-aws-overlay-mtu-ovn-1200
/test e2e-aws-ovn-custom-iam-profile
/test e2e-aws-ovn-edge-zones
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-heterogeneous
/test e2e-aws-ovn-imdsv2
/test e2e-aws-ovn-proxy
/test e2e-aws-ovn-public-ipv4-pool
/test e2e-aws-ovn-public-ipv4-pool-disabled
/test e2e-aws-ovn-public-subnets
/test e2e-aws-ovn-shared-vpc-custom-security-groups
/test e2e-aws-ovn-shared-vpc-edge-zones
/test e2e-aws-ovn-single-node
/test e2e-aws-ovn-techpreview
/test e2e-aws-ovn-upgrade
/test e2e-aws-ovn-user-provisioned-dns
/test e2e-aws-upi-proxy
/test e2e-azure-default-config
/test e2e-azure-ovn-resourcegroup
/test e2e-azure-ovn-shared-vpc
/test e2e-azure-ovn-techpreview
/test e2e-azure-ovn-upi
/test e2e-azurestack
/test e2e-azurestack-upi
/test e2e-crc
/test e2e-external-aws
/test e2e-external-aws-ccm
/test e2e-gcp-default-config
/test e2e-gcp-ovn-byo-vpc
/test e2e-gcp-ovn-heterogeneous
/test e2e-gcp-ovn-techpreview
/test e2e-gcp-ovn-xpn
/test e2e-gcp-secureboot
/test e2e-gcp-upgrade
/test e2e-gcp-upi-xpn
/test e2e-gcp-user-provisioned-dns
/test e2e-ibmcloud-ovn
/test e2e-metal-assisted
/test e2e-metal-ipi-ovn
/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn-swapped-hosts
/test e2e-metal-ipi-ovn-virtualmedia
/test e2e-metal-ovn-two-node-arbiter
/test e2e-metal-ovn-two-node-fencing
/test e2e-metal-single-node-live-iso
/test e2e-nutanix-ovn
/test e2e-openstack-ccpmso
/test e2e-openstack-ccpmso-zone
/test e2e-openstack-dualstack
/test e2e-openstack-dualstack-upi
/test e2e-openstack-externallb
/test e2e-openstack-nfv-intel
/test e2e-openstack-proxy
/test e2e-openstack-singlestackv6
/test e2e-powervs-capi-ovn
/test e2e-vsphere-externallb-ovn
/test e2e-vsphere-host-groups-ovn-custom-no-upgrade
/test e2e-vsphere-multi-vcenter-ovn
/test e2e-vsphere-ovn-hybrid-env
/test e2e-vsphere-ovn-multi-disk
/test e2e-vsphere-ovn-multi-network
/test e2e-vsphere-ovn-multi-network-techpreview
/test e2e-vsphere-ovn-techpreview
/test e2e-vsphere-ovn-upi-zones
/test e2e-vsphere-ovn-zones
/test e2e-vsphere-ovn-zones-techpreview
/test e2e-vsphere-static-ovn
/test okd-scos-e2e-aws-ovn
/test okd-scos-images

Use /test all to run the following jobs that were automatically triggered:

pull-ci-openshift-installer-main-aro-unit
pull-ci-openshift-installer-main-artifacts-images
pull-ci-openshift-installer-main-azure-ovn-marketplace-images
pull-ci-openshift-installer-main-e2e-aws-ovn
pull-ci-openshift-installer-main-e2e-azure-default-config
pull-ci-openshift-installer-main-e2e-azure-ovn
pull-ci-openshift-installer-main-e2e-azure-ovn-resourcegroup
pull-ci-openshift-installer-main-e2e-azure-ovn-shared-vpc
pull-ci-openshift-installer-main-e2e-azurestack
pull-ci-openshift-installer-main-e2e-vsphere-externallb-ovn
pull-ci-openshift-installer-main-e2e-vsphere-ovn-multi-network
pull-ci-openshift-installer-main-e2e-vsphere-static-ovn
pull-ci-openshift-installer-main-gofmt
pull-ci-openshift-installer-main-golint
pull-ci-openshift-installer-main-govet
pull-ci-openshift-installer-main-images
pull-ci-openshift-installer-main-okd-scos-e2e-aws-ovn
pull-ci-openshift-installer-main-okd-scos-images
pull-ci-openshift-installer-main-unit
pull-ci-openshift-installer-main-verify-codegen
pull-ci-openshift-installer-main-verify-deps
pull-ci-openshift-installer-main-verify-vendor
Details

In response to this:

/test ?

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@jcpowermac
Copy link
Contributor Author

/test unit
/test golint

1 similar comment
@jcpowermac
Copy link
Contributor Author

/test unit
/test golint

@jcpowermac
Copy link
Contributor Author

/test unit
/test golint

@jcpowermac jcpowermac changed the title [wip] Azure multi disk [wip] Multi Disk and setup, azure implementation May 30, 2025
@jcpowermac
Copy link
Contributor Author

/test e2e-azure-ovn
/test unit
/test golint

@jcpowermac jcpowermac changed the title [wip] Multi Disk and setup, azure implementation [wip] Multi disk and setup, azure etcd implementation May 30, 2025
@jcpowermac
Copy link
Contributor Author

/test e2e-azure-ovn
/test unit
/test golint

@jcpowermac
Copy link
Contributor Author

/test ?

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jun 6, 2025

@jcpowermac: The following commands are available to trigger required jobs:

/test aro-unit
/test artifacts-images
/test e2e-agent-compact-ipv4
/test e2e-aws-ovn
/test e2e-aws-ovn-edge-zones-manifest-validation
/test e2e-aws-ovn-upi
/test e2e-azure-ovn
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upi
/test e2e-metal-ipi-ovn-ipv6
/test e2e-openstack-ovn
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi
/test gofmt
/test golint
/test govet
/test images
/test integration-tests
/test integration-tests-nodejoiner
/test openstack-manifests
/test unit
/test verify-codegen
/test verify-deps
/test verify-vendor

The following commands are available to trigger optional jobs:

/test azure-ovn-marketplace-images
/test e2e-agent-4control-ipv4
/test e2e-agent-5control-ipv4
/test e2e-agent-compact-ipv4-appliance-diskimage
/test e2e-agent-compact-ipv4-none-platform
/test e2e-agent-compact-ipv6-minimaliso
/test e2e-agent-ha-dualstack
/test e2e-agent-sno-ipv4-pxe
/test e2e-agent-sno-ipv6
/test e2e-aws-byo-subnet-role-security-groups
/test e2e-aws-default-config
/test e2e-aws-overlay-mtu-ovn-1200
/test e2e-aws-ovn-custom-iam-profile
/test e2e-aws-ovn-edge-zones
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-heterogeneous
/test e2e-aws-ovn-imdsv2
/test e2e-aws-ovn-proxy
/test e2e-aws-ovn-public-ipv4-pool
/test e2e-aws-ovn-public-ipv4-pool-disabled
/test e2e-aws-ovn-public-subnets
/test e2e-aws-ovn-shared-vpc-custom-security-groups
/test e2e-aws-ovn-shared-vpc-edge-zones
/test e2e-aws-ovn-single-node
/test e2e-aws-ovn-techpreview
/test e2e-aws-ovn-upgrade
/test e2e-aws-ovn-user-provisioned-dns
/test e2e-aws-private
/test e2e-aws-upi-proxy
/test e2e-azure-default-config
/test e2e-azure-ovn-resourcegroup
/test e2e-azure-ovn-shared-vpc
/test e2e-azure-ovn-techpreview
/test e2e-azure-ovn-upi
/test e2e-azurestack
/test e2e-azurestack-upi
/test e2e-crc
/test e2e-external-aws
/test e2e-external-aws-ccm
/test e2e-gcp-default-config
/test e2e-gcp-ovn-byo-vpc
/test e2e-gcp-ovn-heterogeneous
/test e2e-gcp-ovn-techpreview
/test e2e-gcp-ovn-xpn
/test e2e-gcp-secureboot
/test e2e-gcp-upgrade
/test e2e-gcp-upi-xpn
/test e2e-gcp-user-provisioned-dns
/test e2e-ibmcloud-ovn
/test e2e-metal-assisted
/test e2e-metal-ipi-ovn
/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn-swapped-hosts
/test e2e-metal-ipi-ovn-virtualmedia
/test e2e-metal-ovn-two-node-arbiter
/test e2e-metal-ovn-two-node-fencing
/test e2e-metal-single-node-live-iso
/test e2e-nutanix-ovn
/test e2e-openstack-ccpmso
/test e2e-openstack-ccpmso-zone
/test e2e-openstack-dualstack
/test e2e-openstack-dualstack-upi
/test e2e-openstack-externallb
/test e2e-openstack-nfv-intel
/test e2e-openstack-proxy
/test e2e-openstack-singlestackv6
/test e2e-powervs-capi-ovn
/test e2e-vsphere-externallb-ovn
/test e2e-vsphere-host-groups-ovn-custom-no-upgrade
/test e2e-vsphere-multi-vcenter-ovn
/test e2e-vsphere-ovn-hybrid-env
/test e2e-vsphere-ovn-multi-disk
/test e2e-vsphere-ovn-multi-network
/test e2e-vsphere-ovn-multi-network-techpreview
/test e2e-vsphere-ovn-techpreview
/test e2e-vsphere-ovn-upi-zones
/test e2e-vsphere-ovn-zones
/test e2e-vsphere-ovn-zones-techpreview
/test e2e-vsphere-static-ovn
/test okd-scos-e2e-aws-ovn
/test okd-scos-images

Use /test all to run the following jobs that were automatically triggered:

pull-ci-openshift-installer-main-aro-unit
pull-ci-openshift-installer-main-artifacts-images
pull-ci-openshift-installer-main-azure-ovn-marketplace-images
pull-ci-openshift-installer-main-e2e-aws-ovn
pull-ci-openshift-installer-main-e2e-azure-default-config
pull-ci-openshift-installer-main-e2e-azure-ovn
pull-ci-openshift-installer-main-e2e-azure-ovn-resourcegroup
pull-ci-openshift-installer-main-e2e-azure-ovn-shared-vpc
pull-ci-openshift-installer-main-e2e-azurestack
pull-ci-openshift-installer-main-e2e-vsphere-externallb-ovn
pull-ci-openshift-installer-main-e2e-vsphere-ovn-multi-network
pull-ci-openshift-installer-main-e2e-vsphere-static-ovn
pull-ci-openshift-installer-main-gofmt
pull-ci-openshift-installer-main-golint
pull-ci-openshift-installer-main-govet
pull-ci-openshift-installer-main-images
pull-ci-openshift-installer-main-okd-scos-e2e-aws-ovn
pull-ci-openshift-installer-main-okd-scos-images
pull-ci-openshift-installer-main-unit
pull-ci-openshift-installer-main-verify-codegen
pull-ci-openshift-installer-main-verify-deps
pull-ci-openshift-installer-main-verify-vendor
Details

In response to this:

/test ?

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@jcpowermac
Copy link
Contributor Author

/test ?

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jun 10, 2025

@jcpowermac: The following commands are available to trigger required jobs:

/test aro-unit
/test artifacts-images
/test e2e-agent-compact-ipv4
/test e2e-aws-ovn
/test e2e-aws-ovn-edge-zones-manifest-validation
/test e2e-aws-ovn-upi
/test e2e-azure-ovn
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upi
/test e2e-metal-ipi-ovn-ipv6
/test e2e-openstack-ovn
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi
/test gofmt
/test golint
/test govet
/test images
/test integration-tests
/test integration-tests-nodejoiner
/test openstack-manifests
/test unit
/test verify-codegen
/test verify-deps
/test verify-vendor

The following commands are available to trigger optional jobs:

/test azure-ovn-marketplace-images
/test azure-private
/test e2e-agent-4control-ipv4
/test e2e-agent-5control-ipv4
/test e2e-agent-compact-ipv4-appliance-diskimage
/test e2e-agent-compact-ipv4-none-platform
/test e2e-agent-compact-ipv6-minimaliso
/test e2e-agent-ha-dualstack
/test e2e-agent-sno-ipv4-pxe
/test e2e-agent-sno-ipv6
/test e2e-aws-byo-subnet-role-security-groups
/test e2e-aws-default-config
/test e2e-aws-overlay-mtu-ovn-1200
/test e2e-aws-ovn-custom-iam-profile
/test e2e-aws-ovn-edge-zones
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-heterogeneous
/test e2e-aws-ovn-imdsv2
/test e2e-aws-ovn-proxy
/test e2e-aws-ovn-public-ipv4-pool
/test e2e-aws-ovn-public-ipv4-pool-disabled
/test e2e-aws-ovn-public-subnets
/test e2e-aws-ovn-shared-vpc-custom-security-groups
/test e2e-aws-ovn-shared-vpc-edge-zones
/test e2e-aws-ovn-single-node
/test e2e-aws-ovn-techpreview
/test e2e-aws-ovn-upgrade
/test e2e-aws-ovn-user-provisioned-dns
/test e2e-aws-private
/test e2e-aws-upi-proxy
/test e2e-azure-default-config
/test e2e-azure-ovn-multidisk-techpreview
/test e2e-azure-ovn-resourcegroup
/test e2e-azure-ovn-shared-vpc
/test e2e-azure-ovn-techpreview
/test e2e-azure-ovn-upi
/test e2e-azurestack
/test e2e-azurestack-upi
/test e2e-crc
/test e2e-external-aws
/test e2e-external-aws-ccm
/test e2e-gcp-default-config
/test e2e-gcp-ovn-byo-vpc
/test e2e-gcp-ovn-heterogeneous
/test e2e-gcp-ovn-techpreview
/test e2e-gcp-ovn-xpn
/test e2e-gcp-secureboot
/test e2e-gcp-upgrade
/test e2e-gcp-upi-xpn
/test e2e-gcp-user-provisioned-dns
/test e2e-ibmcloud-ovn
/test e2e-metal-assisted
/test e2e-metal-ipi-ovn
/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn-swapped-hosts
/test e2e-metal-ipi-ovn-virtualmedia
/test e2e-metal-ovn-two-node-arbiter
/test e2e-metal-ovn-two-node-fencing
/test e2e-metal-single-node-live-iso
/test e2e-nutanix-ovn
/test e2e-openstack-ccpmso
/test e2e-openstack-ccpmso-zone
/test e2e-openstack-dualstack
/test e2e-openstack-dualstack-upi
/test e2e-openstack-externallb
/test e2e-openstack-nfv-intel
/test e2e-openstack-proxy
/test e2e-openstack-singlestackv6
/test e2e-powervs-capi-ovn
/test e2e-vsphere-externallb-ovn
/test e2e-vsphere-host-groups-ovn-custom-no-upgrade
/test e2e-vsphere-multi-vcenter-ovn
/test e2e-vsphere-ovn-hybrid-env
/test e2e-vsphere-ovn-multi-disk
/test e2e-vsphere-ovn-multi-network
/test e2e-vsphere-ovn-multi-network-techpreview
/test e2e-vsphere-ovn-techpreview
/test e2e-vsphere-ovn-upi-zones
/test e2e-vsphere-ovn-zones
/test e2e-vsphere-ovn-zones-techpreview
/test e2e-vsphere-static-ovn
/test okd-scos-e2e-aws-ovn
/test okd-scos-images

Use /test all to run the following jobs that were automatically triggered:

pull-ci-openshift-installer-main-aro-unit
pull-ci-openshift-installer-main-artifacts-images
pull-ci-openshift-installer-main-azure-ovn-marketplace-images
pull-ci-openshift-installer-main-azure-private
pull-ci-openshift-installer-main-e2e-aws-ovn
pull-ci-openshift-installer-main-e2e-azure-default-config
pull-ci-openshift-installer-main-e2e-azure-ovn
pull-ci-openshift-installer-main-e2e-azure-ovn-resourcegroup
pull-ci-openshift-installer-main-e2e-azure-ovn-shared-vpc
pull-ci-openshift-installer-main-e2e-azurestack
pull-ci-openshift-installer-main-e2e-vsphere-externallb-ovn
pull-ci-openshift-installer-main-e2e-vsphere-ovn-multi-network
pull-ci-openshift-installer-main-e2e-vsphere-static-ovn
pull-ci-openshift-installer-main-gofmt
pull-ci-openshift-installer-main-golint
pull-ci-openshift-installer-main-govet
pull-ci-openshift-installer-main-images
pull-ci-openshift-installer-main-okd-scos-e2e-aws-ovn
pull-ci-openshift-installer-main-okd-scos-images
pull-ci-openshift-installer-main-unit
pull-ci-openshift-installer-main-verify-codegen
pull-ci-openshift-installer-main-verify-deps
pull-ci-openshift-installer-main-verify-vendor
Details

In response to this:

/test ?

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@jcpowermac
Copy link
Contributor Author

/test e2e-azure-ovn-multidisk-techpreview

@jcpowermac jcpowermac changed the title [wip] Multi disk and setup, azure etcd implementation SPLAT-2295: additional disk configuration for etcd Jun 29, 2025
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 29, 2025
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jun 29, 2025

@jcpowermac: This pull request references SPLAT-2295 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.20.0" version, but no target version was set.

Details

In response to this:

Will add details later

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jun 29, 2025

@jcpowermac: This pull request references SPLAT-2295 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.20.0" version, but no target version was set.

Details

In response to this:

This PR is part two of the azure changes but also provides changes that other platforms could utilize.
This will be rebased as soon as #9810 is merged

Changes

  • AddEtcdDisk function that adds additional ignition to partition, format and mount an etcd disk
  • top level machinepool change to add new DiskSetup struct that defines disk type and the Platform's disk id value
  • Validation of DiskSetup and (azure) machine pool datadisks
  • Additional unit tests

Additional PRs

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@jcpowermac
Copy link
Contributor Author

/test e2e-azure-ovn-multidisk-techpreview

@jcpowermac
Copy link
Contributor Author

/test e2e-azure-ovn-multidisk-techpreview

1 similar comment
@jcpowermac
Copy link
Contributor Author

/test e2e-azure-ovn-multidisk-techpreview

@jcpowermac
Copy link
Contributor Author

/test e2e-azure-ovn-multidisk-techpreview

@jcpowermac
Copy link
Contributor Author

/test gofmt

@jcpowermac
Copy link
Contributor Author

/test e2e-azure-ovn-multidisk-techpreview

/retest-required

Copy link

@pablintino pablintino left a comment

Choose a reason for hiding this comment

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

Looks good to me from an MCO perspective. I dropped some minor cosmetic nits.

@jcpowermac jcpowermac force-pushed the azure-multi-disk branch 2 times, most recently from 629f780 to 39c1839 Compare July 16, 2025 14:15
@jcpowermac
Copy link
Contributor Author

/test e2e-azure-ovn-multidisk-techpreview

"strings"
"text/template"

igntypes "github.com/coreos/ignition/v2/config/v3_2/types"
Copy link
Contributor

Choose a reason for hiding this comment

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

this does remind me we should probably update the installer ignition default type (MCO is using 3.5)

Copy link
Contributor

Choose a reason for hiding this comment

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

Just looking at the MC generation and configs, they make sense to me. If there's any edge cases or concerns around the specific partition schema I think we can check with the coreos team.

Added platform-agnostic multi-disk support using Ignition configuration embedded in MachineConfigs
Created new disk types: etcd, swap, and user-defined disks
Implemented disk setup validation and feature gates
Added machine config generation for disk provisioning

Review and unit tests were assisted-by: cursor
@jcpowermac
Copy link
Contributor Author

/test e2e-azure-ovn-multidisk-techpreview

@patrickdillon
Copy link
Contributor

I have been reviewing this and it looks great. There are a few general takeaways, such as updating the ignition version in the installer and refactoring the machine pool validation method to reduce cyclomatic complexity, but those are for the backlog and not this PR.

/approve

It looks like all of the azure presubmits are failing with some sort of permissions error 🤔 Will take a look.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 28, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: patrickdillon

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 28, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 28, 2025

@jcpowermac: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/azure-ovn-marketplace-images a5c9a11 link false /test azure-ovn-marketplace-images
ci/prow/e2e-azurestack a5c9a11 link false /test e2e-azurestack
ci/prow/e2e-aws-ovn-shared-vpc-custom-security-groups a5c9a11 link false /test e2e-aws-ovn-shared-vpc-custom-security-groups
ci/prow/okd-scos-e2e-aws-ovn a5c9a11 link false /test okd-scos-e2e-aws-ovn
ci/prow/e2e-vsphere-externallb-ovn a5c9a11 link false /test e2e-vsphere-externallb-ovn
ci/prow/e2e-azure-ovn-shared-vpc a5c9a11 link false /test e2e-azure-ovn-shared-vpc

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@jinyunma
Copy link
Contributor

/test e2e-azure-ovn-multidisk-techpreview

@patrickdillon
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jul 29, 2025
@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD 3474a3e and 2 for PR HEAD a5c9a11 in total

@openshift-merge-bot openshift-merge-bot bot merged commit 543865d into openshift:main Jul 29, 2025
32 of 38 checks passed
@openshift-bot
Copy link
Contributor

[ART PR BUILD NOTIFIER]

Distgit: ose-installer
This PR has been included in build ose-installer-container-v4.20.0-202507300443.p0.g543865d.assembly.stream.el9.
All builds following this will include this PR.

@openshift-bot
Copy link
Contributor

[ART PR BUILD NOTIFIER]

Distgit: ose-baremetal-installer
This PR has been included in build ose-baremetal-installer-container-v4.20.0-202507300443.p0.g543865d.assembly.stream.el9.
All builds following this will include this PR.

@openshift-bot
Copy link
Contributor

[ART PR BUILD NOTIFIER]

Distgit: ose-installer-artifacts
This PR has been included in build ose-installer-artifacts-container-v4.20.0-202507300443.p0.g543865d.assembly.stream.el9.
All builds following this will include this PR.

@fabiand
Copy link

fabiand commented Sep 22, 2025

@jcpowermac howdy. do you plan to also use the swap config?

For swap we possibly want to enable crypted swap by default, otherwise we risk leaking secrets to disks without knowing.

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

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.