Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?


How Bare Metal Server Management Works

The BMS management framework is configured by the administrative user. The administrative user follows a specific workflow to configure critical data objects, which are then made available to the tenant users.

Administrative Workflow

The administrative user must perform the following workflow to configure the BMS framework:

  • Create two private networks from the Contrail Command user interface (UI), which is visible only to the administrative user. One network is used for provisioning the servers during deployment phase and the other network is used for cleaning up bare metal servers when they are decommissioned. These private networks provide security to these servers from hackers when they are being provisioned or being cleaned up after removing from the tenant network. From the Contrail networking point of view, the private networks are normal virtual networks, except that they are accessible only to the administrative user.

    To create virtual networks follow the procedure in Create Virtual Network.


    Though it is recommended that you create two networks for provisioning and cleaning, alternatively, you can use the same network for both provisioning and cleaning.

  • Create the BMS images that are available to the tenants through a catalogue—You use the diskimage-builder, a special utility in the OpenStack Ironic service to create BMS images. For more information, see .

  • Register the BMS images with Glance service—After the images are registered, these images become available to the tenant users for deployment. For more information, see .

  • Create bare metal flavors and register with Nova service based on the classes or bare metal servers to be offered or managed—You can create multiple bare metal flavors. For example, baremetal-huge, baremetal-large, baremetal-small, and so on. These flavors are then mapped to the inventory of the available bare metal servers at the time of deployment. The tenant users can view the flavors in the Contrail Command UI and use the flavors according to their requirement.

  • Create Ironic nodes—A BMS server is represented as an Ironic node. The collection of the nodes form the BMS inventory.

    To add a bare metal server to Inventory from the Contrail Command UI, the administrative user must follow the procedure in Adding Bare Metal Server to Inventory.

  • Create Ironic ports—These ports represent the NICs in the bare metal servers. This includes the MAC address and the physical connectivity information.

  • Set up PXE boot interface—You set up Preboot Execution Environment (PXE) as part of BMS onboarding (or registering) of bare metal servers.

Tenant Workflow

After the BMS service is instantiated, the tenant users are offered a catalog of available services. They select the type of server they want to instantiate and the image they want to run. The tenant users need to follow the given workflow to avail the services provided by bare metal servers:

  • Create tenant user network—BMS connects to this network when it is ready for use.

  • Select the BMS flavor and BMS Image that you want to instantiate and issue a boot command. The tenant user selects a BMS that is available for deployment using the flavor. They use the flavors that are created by the administrative user. If no BMS meets the criteria specified by flavor, the launch command is rejected with the error message No Valid Host found.


    Booting a bare metal server is very much similar to instantiation of a virtual machine; the only difference is that the tenant user can select the appropriate flavor for BMS depending on the requirement.

  • View availability zone information— An availability zone typically applies to virtual machines and can also be applied to BMS. You can view virtual machine availability zone information and BMS availability zone information in two different zones on the user interface.

  • Launch a BMS—A bare metal server is launched in the same way as you launch a virtual machine.

    To launch a new bare metal server from the Contrail Command UI, follow the procedure in Launching a Bare Metal Server.