Jump to: navigation, search

Difference between revisions of "Valence"

(Valence - Functionality Overview)
Line 26: Line 26:
 
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 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]
+
=== Multi-PodManager Support ===
 +
 
 +
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.
 +
This 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.
 +
 
 +
=== Architecture ===
  
 
The figure below describes how Valence will interact with implementations of RedFish and OpenStack to set up clouds.
 
The figure below describes how Valence will interact with implementations of RedFish and OpenStack to set up clouds.
 
[[File:Rsc-ui.jpg|200x400|rack scale controller interactions]]
 
[[File:Rsc-ui.jpg|200x400|rack scale controller interactions]]
 +
 +
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]
  
 
=== Use Cases ===
 
=== Use Cases ===

Revision as of 05:01, 19 April 2018

Valence Overview

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[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 - 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.

Multi-PodManager Support

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. This 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.

Architecture

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

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]

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

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.

NEC(ramineni):

  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

Happenings!

Licensing

Apache License v2

FAQs

  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.

References

[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