Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Bare Metal Server Management


A bare metal server or a bare metal machine is a physical server that is dedicated to a specific customer, unlike a virtual machine. You can deploy bare metal machines in the same way as you deploy virtual machines by using Contrail UI.

Understanding Bare Metal Server Management

In Contrail Networking, you can manage the life cycle of bare metal servers (BMS) by using a backend framework, which acts as a bare metal server (BMS) manager. The BMS management framework in Contrail uses the functionality provided by the following OpenStack services: Ironic, Nova, and Glance. The BMS Management framework or the BMS framework manages the bare metal workload with in a fabric. It includes BMS server life cycle management, onboarding of bare metal servers, bare metal image management, flavor management, inventory management, IP address management, security management, monitoring and reporting of life cycle management events, and discovery of bare metal servers.

An administrative user can configure the BMS framework and a tenant user can avail the services provided by the BMS framework. Figure 1 shows an architectural view of the BMS Management framework.

Figure 1: BMS Management- Detailed Architecture View
BMS Management- Detailed Architecture

In single-tenant environments, administrative and tenant workflows are performed by the same user.

To avail the functionalities of the BMS framework, you must first deploy a Contrail cluster with OpenStack. After this, the administrative user needs to specify the details of the server or node to be added to the BMS available in nodes database, from the Contrail Command UI. The BMS framework then creates a record of this new node and adds them to the available nodes database.

The administrative user creates images, nodes, and flavors, which the tenant users use to deploy bare metal servers in their network. A tenant user selects one of these flavors and images that suit their need to deploy a bare metal server. The BMS framework monitors the state of the deployed servers and provides this information to analytics DB by using Sandesh, which is an XML-based protocol for reporting analytics information. All the nodes onboarded or registered with BMS manager are in Available state. After the tenant user has completed using the bare metal server and remove it, the server is then unprovisioned by the BMS framework and moved to the list of available nodes. Alternatively, the tenant user can remove the BMS instance from the tenant’s network. For example, if you want to rent a BMS from a service provider, the service provider deploys a BMS instance and gives you an IP address of the BMS instance, which you can use to access the BMS. Once you have completed using the BMS, you can delete the instance and the service provider reclaims the BMS. After reclaiming the BMS the service provider cleans it and rents it to the next client. The BMS framework in Contrail Networking manages all these tasks. If the service provider wants to remove the BMS instance from the service, they can delete it from the available servers and the next tenant will get a new BMS instance from a server.

The BMS framework can install tenant user-specific software images on BMS and attach them to the tenant user network in a multi-tenant cloud. It provides a single-click solution for the tenant users to manage the bare metal servers in their network.

Features of the Bare Metal Server Management Framework

The BMS management framework provides the following features:

  • BMS Image management—Provides a list of available bootable images available to the tenant users to boot their server instances or BMS. The BMS framework uses Glance, which is an OpenStack service used for Image Management.

  • BMS Flavor management—Provides a list of available flavors of the BMS available in the inventory. The flavors represent the capacity or class of the BMS, such as disk size, memory size, number of cores or the manufacturer of BMS. The BMS framework creates pools of BMS based on their capability, class, or both, and then makes them available to the tenant users. The BMS framework uses Nova, which is an OpenStack service used to provision computing instances or virtual servers. Nova can be used to create virtual machines and bare metal servers using Ironic. Flavors are used in OpenStack to define the compute, memory, and storage capacity of the Nova computing instances.

  • BMS Life Cycle Management—Includes the following:

    • Bringing powered off servers online in a secure manner—As soon as a BMS is powered off, it is disconnected from the tenant user network and connected to a cleaning network for clean up of the server. A server is connected to a cleaning network for cleaning operations when it is not being used. If the server is deployed, it is connected to the provisioning network.

    • Reclaiming the provisioned servers and instances after they are decommissioned by the tenant users—After cleaning up, the BMS is added to the pool of available server ready to be deployed as a new BMS. The boot up process is performed on a secure network to prevent the possibility of snooping in a multi-tenant cloud. The cleaning process ensures that the BMS is ready to be deployed with the same or different image when needed.

    The BMS framework uses Ironic, which is an OpenStack service used to launch bare metal machines. Ironic integrates with the bare metal driver in Nova to maintain BMS lifecycle management efficiently.

  • BMS Inventory Management— Maintains an inventory of all the servers under the BMS framework. The inventory includes the deployed instances and servers as well as those available for deployment.

  • BMS IPAM management— Ensures that the IP address management is consistent between the virtual and physical instances. IPAM is managed by the Contrail controller.

  • BMS Network Security management— The boot cycle and/or cleaning of bare metal servers are extensive and lengthy processes, which makes provisioning and cleaning phases susceptible for snooping by hackers in multi-tenant cloud environments. Hence, the BMS framework uses private networks for the provisioning and cleaning phases of the servers. Once the servers are ready for deployment, the BMS framework deploys the servers in the tenant user network.

  • Tenant Network management— Manages connectivity between the bare metal servers and tenant user networks or provisioning and cleaning networks depending on the deployment state of the server.

  • BMS discovery and onboarding— The BMS framework supports both the discovery of new servers as well as onboarding of the brownfield servers.


A deployed server must be unprovisioned and made available before it can be deleted from BMS node list.