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

[Tech Preview] BareMetal as a Service Support for OpenShift

XMLWordPrintable

    • BU Product Work
    • False
    • Hide

      None

      Show
      None
    • False
    • 50% To Do, 50% In Progress, 0% Done
    • 0

      Introduction

      This feature will enable a BareMetal as a Service (BMaaS) offering on OpenShift by extending the Metal3 integration beyond only provisioning RHCOS for OpenShift nodes, adding support for other operating systems like RHEL and Windows. 

      This feature will make OpenShift even more flexible, adding the ability to deploy any operating system for any application on bare metal. OpenShift will be a platform that provides applications via serverless, containers, VMs and bare metal, supporting a broader range of AI, data analytics, Telco and other key customer applications.

      Customers currently managing bare metal nodes using OpenStack Ironic will benefit from this feature in their transition to OpenShift.

       In order to drive OpenShift growth, we need customers to bring other workloads to the platform, to drive adoption and expansion. This also includes driving new workloads like AI, Data/Analytics, VMs, Telco 5G Cloud-Native Network Functions and other certified ISV applications

      The existing integration with Metal3 (leveraging Ironic) in OpenShift allows provisioning of CoreOS, but to support broader enterprise use cases, this feature will enable provisioning of various operating systems in a BMaaS fashion, including RHEL and Windows.

      Requirements

      Customers managing a large fleet of bare metal machines using OpenStack Ironic, or other bare metal management solutions such as RackN, who are adopting OpenShift require comprehensive support for their hardware, including the capability to provision and deprovision bare metal machines with various operating systems.

      Key Business Requirements:

      • Unified Platform: Customers want to use OpenShift as a single platform to manage containers, virtual machines (VMs), and bare metal instances.
      • Multi-OS Provisioning: Ability to provision bare metal nodes not only with CoreOS but also with RHEL, Windows, or other operating systems.
      • Rapid Bare Metal Provisioning/Deprovisioning: Support for dynamic provisioning and deprovisioning of bare metal instances, similar to the experience with VMs or cloud instances.
      • Multi-network Provisioning: Ability to provision nodes over multiple networks, allowing for more complex network architectures.
      • Bare Metal OS Image Management: Ability to store, manage, and retrieve bare metal operating system images, supporting the streamlined installation of different OS types.

      Out of Scope

      Multi-tenancy: Multi-tenancy, enabling scenarios such as offering bare metal as a service to multiple clients.

      • What we can do: an administrator turns on BMO for all namespaces and gives some users RBAC permission to create and edit BMH objects in some namespaces
      • What we cannot do: an administrator creates a BMH and gives some users RBAC permission just to provision it without providing the keys to the kingdom. (this is what I've been referring to as 'multitenancy')

      OS Configurations 

      • We won’t develop and maintain tools for the configuration of the OS. There are other tools that can do that. 
      • We will recommend using Ansible Automation Platform for OS configuration. 
      • OpenShift will support the deployment process up to the point where the OS image is booted on the bare metal host, but it will not handle any post-boot OS configuration.

      User Stories

      Note that the persona is the OpenShift Administrator in all cases, since the way the Bare Metal Operator is designed in OpenShift doesn’t allow it to be run by non-admin users.

      1. OS Flexibility for Bare Metal Nodes

      • As an administrator, I want to provision bare metal nodes with a range of operating systems (CoreOS, RHEL, Windows), so that I can support various workloads without requiring separate systems for each OS.

      2. Multi-network Deployment

      • As an OpenShift Administrator, I want to provision bare metal nodes across multiple network environments, so that I can deploy infrastructure in complex networking setups and segregate different network traffic types.

      3. Rapid Provisioning/Deprovisioning

      • As an OpenShift Administrator, I want the ability to provision and deprovision bare metal instances on-demand via the OpenShift interface, so that I can optimise hardware resource utilisation and scale infrastructure based on workload requirements.

      4. Image Management for Bare Metal

      • As an OpenShift Administrator, I want to store and manage OS images for bare metal nodes, so that I can quickly deploy systems with different operating systems without needing to fetch or build new images every time.

      Related Components

      • Bare Metal Operator / Metal3: Extend support to manage different OS images and provision bare metal nodes with OS options like RHEL and Windows.
      • Ironic: Continued reliance on OpenStack Ironic for bare metal node management but integrated natively within OpenShift's Metal3 functionality.
      • NMstate: Adjustments for managing network states across multiple interfaces/networks on bare metal nodes.
      • MetalLB: Potential involvement to support load balancing across bare metal nodes in multi-network scenarios.

              racedoro@redhat.com Ramon Acedo
              racedoro@redhat.com Ramon Acedo
              Ramon Acedo Ramon Acedo
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: