Uploaded image for project: 'OpenShift Container Platform (OCP) Strategy'
  1. OpenShift Container Platform (OCP) Strategy
  2. OCPSTRAT-2357

[GA] Bare Metal MAPI to CAPI migration

XMLWordPrintable

    • Product / Portfolio Work
    • OCPSTRAT-764[Outcome] Leverage Cluster API functionality in OpenShift (rather than MAPI)
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Feature Overview

      This feature transitions the Bare Metal Operator CAPI provider to General Availability (GA) status, completing the migration from the legacy Metal API (MAPI) to full integration with the upstream Cluster API (CAPI). By standardizing on CAPI, the Bare Metal Operator (BMO) will offer a modern, declarative interface for managing the complete hardware lifecycle of bare metal nodes. This alignment with the broader Kubernetes ecosystem provides a consistent management experience and enhances both Day 1 installation and Day 2 operational use cases.

      Goals

      The primary user for this feature is the Cluster Administrator or Infrastructure Operator.

      • Provide a GA-level, CAPI-compliant interface for all bare metal hardware management tasks.
      • Ensure a consistent hardware management experience across all on-premise installation methods.
      • Solidify the integration by contributing any necessary enhancements back to the upstream Metal3 community project.

      Requirements

      Functional Requirements

      • The Bare Metal CAPI provider must support declarative management of bare metal server provisioning.
      • The provider must support declarative hardware configuration during initial cluster installation (Day 1) and for post-installation modifications (Day 2).
      • The provider must support declarative firmware upgrades on bare metal nodes as a Day 1 or Day 2 operation.
      • The provider must handle any required hardware reconfigurations or firmware updates that are triggered as part of a cluster upgrade process.

      Non-Functional Requirements

      • Reliability: The implementation must limit the number of unnecessary hardware restarts during cluster installation and upgrade procedures.
      • Performance: The time required for all hardware-related operations (provisioning, configuration, etc.) must meet or exceed the established Key Performance Indicators (KPIs) of the previous MAPI-based solution.
      • Scalability: The CAPI provider must support the same scale (number of managed bare metal nodes) as defined by the KPIs for the MAPI-based solution.
      • Maintainability: All necessary code changes to support this functionality must be upstreamed to the metal3-io community projects.
      • Usability: All relevant product documentation must be updated to reflect the CAPI-based workflows for managing bare metal infrastructure. 

      Use Case

      As a Cluster Administrator, I want to manage my bare metal nodes using the standard Cluster API interface provided by Bare Metal Operator so that I can achieve a consistent, declarative management experience across different infrastructure.

      Questions to Answer

      • What is the definitive list of MAPI-based Key Performance Indicators (KPIs) for performance and scale that will serve as the GA baseline for this feature?
      • What specific test scenarios will be used to validate that the number of hardware restarts has been minimized during installation and upgrade?

      Links

      • JIRA Epic for Technology Preview: OCPSTRAT-1332
      • Community Documentation (BMO and CAPI):[ https://book.metal3.io/bmo/introduction#integration-with-the-cluster-api|https://book.metal3.io/bmo/introduction#integration-with-the-cluster-api]
      • CAPI Provider for Metal3:[ https://github.com/metal3-io/cluster-api-provider-metal3|https://github.com/metal3-io/cluster-api-provider-metal3]
      • CAPI General Information:[ Cluster API Quick Start|https://cluster-api.sigs.k8s.io/user/quick-start]
      • Internal - CAPI Implementation Roadmap:[ CAPI Implementation @ Red Hat|https://docs.google.com/presentation/d/1W60ai6MWG8tuuP0QT5r7FihzvFPNjGLN8jaKojSD084/edit#slide=id.g346927e78ea_0_24]
      • Internal - What is Cluster API:[ Cluster API (CAPI) Primer|https://docs.google.com/document/d/153lz0L8NjtHHu8RNLOpoAyKOeSw1uLmggQzibRL2tTo/edit]

              mzasepa Michal Zasepa
              mzasepa Michal Zasepa
              None
              None
              None
              None
              None
              Derrick Ornelas Derrick Ornelas
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: