Jump to: navigation, search


Rack Scale Design: Composable Hardware

Rack Scale Design allows considering compute, storage, and networking as disaggregated resources that can be composed on the fly to meet various needs in a data center/cloud. Disaggregation, in addition to allowing hardware refresh at different rates for each of storage, compute, and networking, supports more efficient resource utilization. Imagine a cloud that grew and shrank to meet usage by virtue of being connected to a rack that allowed such dynamic composition and release, where you might compose a node with copious storage or another that provides pure compute horsepower. Intel[5], Dell, Lenovo, HPE [7] among others are interested in composable infrastructure.

To bring such a vision to light, the compute industry collaborated to standardize and define the RESTful Redfish API[1]. Intel PodManager implements the Redfish API. The API, in addition to supporting composition and release of nodes, supports managing them (power-on/off), discovering hardware capabilities, and even collecting advanced telemetry.

Using software that implements the Redfish API, one could construct nodes to deploy an OpenStack Cloud and with drivers for Nova and Ironic grow and shrink the cloud to meet utilization needs. Hardware flavors for the undercloud could be defined no different from VM flavors. This will take us closer to true Software Defined Infrastructure (SDI).

Rack Scale Design

DMTF Redfish

The Distributed Management Task Force, Inc (DMTF) [2] creates open manageability standards spanning diverse emerging and traditional IT infrastructures including cloud, virtualization, network, servers and storage. DMTF Redfish™ is an open industry standard specification and schema that specifies a RESTful interface and utilizes JSON and OData to help customers integrate and manage today's scale out hardware solutions, which are very different from the enterprise hardware of the past. Its sponsors are Broadcom, Dell, Emerson, HPE, INspur, Lenovo, MIcrosoft, SuperMicro, VMWare, and Intel among others. For more details refer to [3] and [4].

Valence - the Rack Scale Controller

Valence is a collection of all things Rack Scale Control, from an user interface to help compose and view nodes, to supporting launch of an OpenStack cloud using your favorite deployment tool, a place to register blueprints, a banner under which to assemble a growing community interested in this functionality, a place to hold Nova and Ironic drivers and Horizon plugins to support growing/shrinking clouds dynamically, viewing Rack Scale flavors, and more.

We envisage setting up the under cloud and dynamically growing/shrinking the cloud as complementary to OpenStack today. Given that, Valence seeks to become an OpenStack Big Tent project. Registration efforts are underway, ably being managed by Lin (lin dot a dot yang at intel dot com) [6]

The figure below describes how Valence will interact with implementations of RedFish and OpenStack to set up clouds. rack scale controller interactions

Use Cases

A datacenter has multiple racks of machines with a RedFish implementation to control the same. From creating multiple clouds from a datacenter, to a cloud spanning multiple datacenters, and even a cloud dynamically expanding/shrinking based on need, there are several possible use cases. We pull the use cases into a separate document and attach to launchpad to elicit community input. valence use cases

Below figure shows general workflow of valence project. general user workflow

Valence Web Pages

Here are some pages capturing functionality at 30,000 feet! Rack Scale Controller Web UI pages

OpenStack Horizon Integration

Using a deployment tool of your choice (our team has explored with TripleO and Fuel) can be used to install OpenStack on RSC composed node(s). This could be at the very beginning to create a cloud, or anytime after a cloud has been floated to expand it. Such nodes would become visible through the OpenStack Horizon UI and via OpenStack CI through calls such as Nova list. Shown below is Horizon UI listing all hypervisors, aka compute nodes, assuming on Node-1, using a deployment tool, we have launched Nova-compute.

Horizon Integration, showing RSC composed node with Nova-compute deployed.

RSD Client and RSD Lib

Related projects have also been started for enabling communication directly to RSD enabled hardware, the python-rsdclient and rsd-lib. The rsd-lib will house extensions to the Sushy project, enabling it to discover and compose nodes using RSD systems, storage, and networking, while the client will utilize those extensions for a simple CLI for making RSD calls for discovery and composition. The RSD client is also planned to be a plugin for the larger OpenStack Client.

RSD Client RSD Lib

Source Code

Threat Model

Valence Threat Model

Look Who is Interested!

  1. shuquan
  2. octopuszhang
  3. kevinshu96
  4. malinib
  5. mritikka
  6. Ananth Narayan
  7. Lin Yang
  8. Nate Potter
  9. Deepti Ramakrishna
  10. Ruijing
  11. Chester
  12. jfding
  13. shuquan
  14. snivas
  15. yufei
  16. chakri
  17. Mandy_ (Lenovo)
  18. HuBian (Lenovo)
  19. Andy_Yan (Lenovo)
  20. Maohaijun (Lenovo)
  21. yangxing4 (Lenovo)
  22. wangzhandong (Lenovo)
  23. ramineni (NEC)
  24. zhenguo
  25. yuntongjin
  26. bryang (Suse)
  27. Jinxing Fang


Meetings will occur weekly, 60 minutes long on

  • Channel: freenode #openstack-valence
  • Wednesdays, 14:30 HRS UTC ( For geos with daylight savings time, note that the meeting will shift to maintain UTC time)

Provide your input to the meeting agenda at Valence-Agenda

Logs of meetings past Valence-Meetings

Pike Planning

Lenovo (Hubian) interested in:

  1. Valence basic foundation for multi-PodManager (horizontal scalability)
  2. Valence Web UI
  3. OpenStack plugins for Valence (Ironic)
  4. Valence simulator
  5. Network/Storage part of Valence

Intel :

  1. Registering Rack scale bare metal flavors in OpenStack (could be accomplished by using an admin privileged Valence user in OpenStack to make OpenStack flavor creation API calls)
  2. Attaching metadata bare metal composed nodes registered in Ironic that reflect any desired Rack scale features, at the minimum that it is an Rack Scale node
  3. Deploying an OpenStack Nova compute image on a Rack scale composed node
  4. Deploying a telemetry collection agent on the bare metal node ?? that is not normal in traditional OpenStack Ironic.
  5. ?? Might we want to as part of OpenStack rack awareness, on any new node creation define OpenStack host aggregates and include composed node there in, where host aggregates for Pod_ID, Pod-<id>-rack <id> be defined?
  6. ?? any interest in node decomposition
  7. ?? should we create an OpenStack API to "release" a bare metal node? "release" a compute host. Possibly even a Horizon UI page restricted to admins for the same. Workloads would need to be live migrated, host put into maintainance mode and valence/Redfish API calls to decompose then carried out.


  1. valence ironic integration
  2. how valence can manage other pooled resources hardware (apart from RSD)
  3. provision in valence to accommodate vendor specific drivers to manage other pooled resources (apart from RSD)
  4. . Features for Pike



Apache License v2


  1. Do I need a Rack to develop and test Rack Scale Controller features? No, you could get by using a simulator. Please contact us. But to deploy your cloud you will need real hardware.
  2. Where can I learn more? Come join our meeting. Check out the references below. Join us on IRC.


[1] https://www.dmtf.org/standards/redfish

[2] https://www.dmtf.org/

[3] https://www.dmtf.org/sites/default/files/SPMF%20Introduction%20to%20Redfish%20May%202016.pdf

[4] https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.0.4.pdf

[5] http://www.intel.com/content/www/us/en/architecture-and-technology/intel-rack-scale-architecture.html

[6] https://review.openstack.org/#/c/341966/

[7] https://www.sdxcentral.com/articles/news/hpe-touts-composable-infrastructure-with-synergy/2015/12/

[8] old Ironic Redfish spec https://review.openstack.org/#/c/184653/

[9] Bruno Cornec's OpenStack Barcelona talk: https://www.openstack.org/videos/video/empowering-ironic-with-redfish-support-1

[10]SNIA Swordfish http://www.snia.org/forums/smi/swordfish

[11] Node registration with Ironic http://www.slideshare.net/devananda1/isnt-it-ironic-managing-a-bare-metal-cloud-osl-tes-2015