Skip to content

metal: add config drive support for bare metal provisioning #2207

@atd9876

Description

@atd9876

Feature Request

Environment

What hardware/cloud provider/hypervisor is being used to run Ignition?

Bare metal servers provisioned via out-of-band management interfaces (HP iLO, Dell iDRAC, BMC virtual media), physical USB drives, or ISO image attachments.

Desired Feature

The metal platform currently only supports configuration via the ignition.config.url kernel parameter, which requires network connectivity and a reachable HTTP/TFTP/S3 server before provisioning can begin. For bare metal provisioning scenarios, especially those using out-of-band management (virtual media) or physical media, this creates an unnecessary dependency on network infrastructure.

This feature would enable the metal platform to support reading Ignition configuration from attached block devices (ISO, USB, virtual media) similar to how other platforms support their native config delivery mechanisms.

Use cases:

  • Physical servers provisioned via iLO/iDRAC/BMC with ISO images mounted as block devices
  • Direct provisioning via USB stick with embedded configuration
  • Provisioning via BMC management interfaces without needing routable access from the boot environment to provisioning servers
  • Simplified deployment scenarios that avoid TFTP/HTTP server infrastructure for small-scale deployments

The feature should work alongside existing config sources (not replace them), and should fail gracefully if no config drive is present.

Other Information

This feature is complementary to but distinct from #2150. Issue #2150 proposes a generic ignition.medium= kernel parameter for cross-platform mechanism selection, while this requests that the metal platform have its own default mechanism similar to other platforms. Both can coexist: this would provide defaults, #2150 would provide explicit overrides.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions