development-proposals/gap-analysis/proposed/baremetal-service.rst

20 KiB
Executable File

Bare Metal Service Gap and Overlap Analysis

Bare Metal Service

Primary contact

  • Kei Tokunaga (Fujitsu)
  • Yih Leong Sun (Intel, IRC: leong)

Gap analysis

  • Problem Overview
    • Baremetal machine configuration: Bare metal machine can be configured with CPU specification, memory capacity, local storage drive type such as SATA or SSD and its capacity, and network iplink bandwidth. Infiniband or RoCEE may be needed to achieve network performance.
      • CPU specification, memory capacity, storage drivetype / capacity, network iplink bandwith, and Infiniband / RoCEE can be specified for bare metal deployment with using "Capability" property.
    • Network isolation: Networks for one tenant is isolated from other tenants. Network isolation consists of "Network flipping" and "Network switch port configuration". The former is implemented in Ironic, and the latter as Neutron ML2 driver.
      • Network flipping:
      • Network Switch Port Configuration:
        • A Neutron ML2 driver configures VLAN setting on the network switch ports to realize multi-tenancy on bare metal deployment.
        • When will a network switch be able to be configured by a ML2 driver really depends on switch vendors, and there's no BP/SPEC for it.
      • Multiple Network For Bare Metal:
    • Storage Service Integration: Bare metal machine can be connected with block device service such as Cinder. Bare metal machine connects cinder backends dedicated to single tenant. Tenant can also back up internal storage of bare metal machine and recover from it.
    • Console: Tenant can operate bare metal machine from console, see console log integrated with existing Horizon UI.
    • NMI Injection: When the OS on a bare metal has a problem (hungup, slow down, etc), tenant can issue a NMI to the OS to take a kernel memory dump so that they can investigate the root cause of the problem.
    • Graceful Shutdown: Tenant can gracefully shutdown the OS on a bare metal so that they can avoid data corruption that can occur by powering off.
      • See "NMI Injection" for links to BP/SPEC/RFE.
    • Unified VM/BM Management: Unified management of both VMs and BMs (bare metal machines) by software with the similar set of services or functionalities can be provided to users such as FWaaS, LBaaS, VPNaaS, Security Group, Block Storage, Backup, High Availability, Connection to VMs in virtual network (VXLAN), and Console.
      • FWaaS, LBaaS, VPNaaS:
        • Can be used by Bare Metal today.
      • Security Group:
        • Depends on Neutron ML2 plugins fornetwork switches.
        • Work related to Network Isolation on Ironic will likely be completed at Ocata.
      • Block storage and backup:
        • See "Storage Service Integration" above.
      • High Availability:
      • VXLAN:
        • Depends on Neutron ML2 plugins fornetwork switches.
      • Console:
        • See "Console" section above
  • User Stories
  • BMT001 - As Wei the project owner, I want to use bare metal machine so that I get consistent performance not affected by another machine, nor impacted by hypervisor.
    • Bare Metal can be deployed with multi tenancy.
  • BMT002 - As Wei, I want to have a secure and clean bare metal machine deployed no matter who used it before.
    • HDD erasing is there already. BIOS reset should depend on Ironic drivers for servers.
  • BMT003 - As Wei, I want to create networks elastically so that I can use network like I have these networks not affected by other companies.
    • See above for development.
  • BMT004 - As Wei, I want to back up internal disk of bare metal and create a snapshot. This can be backed up to an external storage managed by Cinder.
    • See above for development.
  • BMT005 - As Wei, I want to use bare metal machine integrated with block storage service so that I can use external storage service.
    • See above for development.
  • BMT006 - As Wei, I want to see bare metal machine from console log and operate from console so that I can analyze problems at booting time and so on.
    • See above for development.
  • BMT007 - As Wei, I want to continue my operation immediately when a bare metal machine fails without any manual operations such as switchover. Similar to HA VM user story, The owner should not have to design the fail-over mechanism themselves. The system should monitor and detect bare metal machine failure and automatically fail-over to a spare bare metal machine.
    • See above for development.
  • BMT008 - As Wei, I want to use a bare metal machine with the network services such as FWaaS, LBaaS, Security Group, VPNaaS, and connection to VMs in virtual network(VXLAN) in the same manner of VMs.
    • See above for development.

Appendix