- 1 Valence Overview
- 2 Valence - Functionality Overview
- 3 RSD Client and RSD Lib
- 4 Meetings
- 5 Pike Planning
- 6 Happenings!
- 7 Licensing
- 8 FAQs
- 9 References
Valence is a service for lifecycle management of pooled bare-metal hardware infrastructure. The concept of pooled storage (SSDs or nvmE) disaggregated from compute nodes and network disaggregated from compute and storage provides the flexibility to compose and uses as and when the cloud requires more server resources. Valence provides the capability "compose" hardware nodes and release resources as needed by the overcloud.
Valence supports Redfish as default management protocol to communicate to hardware. It supports Rack Scale Design (RSD), Open architecture for management of disaggregated server hardware resources, which is standardized in Redfish. Valence also provides capability to manage other vendors disaggregated hardware using their respective drivers other than Redfish.
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, Dell, Lenovo, HPE  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. 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).
The Distributed Management Task Force, Inc (DMTF)  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  and .
Valence - Functionality Overview
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.
Valence provides the capability to manage multiple podmanagers. Each podmanager can be configured to use different driver. By default, ``redfishv1`` driver is used.
Currently supported drivers in Valence are:
1. redfishv1 2. expether
Future work include redfish v2 driver support. Other vendors also could implement their own driver to manage their hardware. Valence provides uniform interface to manage all the disaggregated hardware in datacentre supporting different protocols.
Device Orchestration Framework
Valence provides support for the dynamic management of pooled resources like storage, network and other pci devices which can be connected on demand to a composed node, giving user the ability to attach or detach the devices dynamically based on workload.
Ironic Provision Driver
Valence supports ``ironic`` provision driver to be able to register the valence composed node to ironic. Once the node is registered further operations of provisioning/managing could be directly performed using Ironic.
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) 
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
Valence Web 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.
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.
- Official repository openstack/valence.
- Github: https://github.com/openstack/valence
- Valence blueprints launchpad
Look Who is Interested!
- Ananth Narayan
- Lin Yang
- Nate Potter
- Deepti Ramakrishna
- Mandy_ (Lenovo)
- HuBian (Lenovo)
- Andy_Yan (Lenovo)
- Maohaijun (Lenovo)
- yangxing4 (Lenovo)
- wangzhandong (Lenovo)
- ramineni (NEC)
- bryang (Suse)
- 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
Lenovo (Hubian) interested in:
- Valence basic foundation for multi-PodManager (horizontal scalability)
- Valence Web UI
- OpenStack plugins for Valence (Ironic)
- Valence simulator
- Network/Storage part of Valence
- 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)
- 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
- Deploying an OpenStack Nova compute image on a Rack scale composed node
- Deploying a telemetry collection agent on the bare metal node ?? that is not normal in traditional OpenStack Ironic.
- ?? 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?
- ?? any interest in node decomposition
- ?? 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.
- valence ironic integration
- how valence can manage other pooled resources hardware (apart from RSD)
- provision in valence to accommodate vendor specific drivers to manage other pooled resources (apart from RSD)
- . Features for Pike
- Yufei (99Cloud) has an ironic driver, not perfect, but works. Will be demoed at Beijing ODCC meeting on 09/27. Welcome!
- Mrittika (Intel), Malini (Intel) , & Alaa (Dell) have an OpenStack Brownbag tech talk at OpenStack Barcelona. http://vbrownbag.com/2016/09/vbrownbag-techtalks-at-openstack-barcelona/
- OpenStack Barcelona demo booth, First Face-to- Face Monday, 24 Oct 2016, 2 pm Barcelona local time, congregate by 1:50 pm near registration area.
Apache License v2
- 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.
- Where can I learn more? Come join our meeting. Check out the references below. Join us on IRC.
 old Ironic Redfish spec https://review.openstack.org/#/c/184653/
 Bruno Cornec's OpenStack Barcelona talk: https://www.openstack.org/videos/video/empowering-ironic-with-redfish-support-1
SNIA Swordfish http://www.snia.org/forums/smi/swordfish
 Node registration with Ironic http://www.slideshare.net/devananda1/isnt-it-ironic-managing-a-bare-metal-cloud-osl-tes-2015