Jump to: navigation, search

Nimble

Revision as of 03:12, 20 October 2016 by Yuntongjin (talk | contribs) (References)

OpenStack Bare Metal Computing

Nimble is a project dedicated for bare metal computing management, which is designed specifically for BMs, so we can provide a more lightweight and convenient platform with more advanced features by leveraging Ironic. Besides this, we also plan to support RSD(Rack Scale Design), so we can not only provide Pre-set Configuration Servers but also Custom Servers.

Nimble Mission Statement

To implement services which focus on the management of bare metal computing resources.

To promote the speed of bare metal development in OpenStack.

What is Nimble?

Nimble is an OpenStack project to provide "bare metal computing as a service" by leveraging Ironic's provisioning, Neutron's networking and other services' abilities. Compared with Nova, it's more bare metal specific and with more advanced features that VM users don't needed.

The figure below describes how Nimble interact with other OpenStack services to manage bare metal servers. nimble detailed workflow

A simple scheduler

Nimble plans to support both Pre-set configuration servers and Custom servers(leverage RSD). For Pre-set configuration servers(what OpenStack currently support), we don't need to schedule based on properties like RAM, CPU, DISK, etc. We can just divide servers into groups by adding some extra informations to Ironic node's properties filed like {'availability_zone': 'Beijing-01', 'instance_type': 'high-performance'}, and then map them to different instance_types(flavors). Instance_type includes a description field which can be used to provide bare metal server specs to users, it may contain something like ‘Dual Professor, Dual Intel Xeon E5-2620(2.00GHz), 12 Cores, 16GB RAM, 500GB SATA'.

Why Nimble?

Ironic only provides the capability to provision bare metal servers, which lacks scheduling ability, quotas management and multitenancy support. Currently it is highly depends on Nova which was designed for VMs. It will move from an complex model if we can decouple these two technologies by breaking baremetal computing into its own set of application program interfaces. Besides this, we also want to support RSD(Rack Scale Design), it's will not easily possible to add it to Nova.

Use Cases

  1. NFV users wants to orchestration and provisioning bare metals , with multi tenancy support.
  2. An enterprise user would like to float a cloud sourcing hardware within a datacenter, nimble will orchestrate RSD hardware resource to meet this requirement.
  3. An enterprise operator want to inventory all the physic assets, model the physic datacenter arch, mapping into a object model to help him manage physic assets, scheduling and optimize within datacenter.

RSD Integration

Rack Scale Design (RSD) implementations represent the next generation of Software Defined Infrastructure that can be dynamically provisioned across compute, network and storage resources.The fundamental premise for an RSA-based solution is the customers’ ability to “right-size” their endto-end infrastructure needs according to anticipated workload performance and capacity requirements, across pooled resources. Rack Scale Design VALENCE[1] is a controller for Pooled and composable resources which adhere to DMTF[2] Redfish[3] with hardware management requests. That includes provisioning and management of RSD components and underlay features. Nimble Integrate RSD

Projects

nimble

Source code https://github.com/openstack/nimble
Bug tracker https://bugs.launchpad.net/nimble
Feature tracker https://blueprints.launchpad.net/nimble

python-nimbleclient

Source code https://github.com/openstack/python-nimbleclient
Bug tracker https://bugs.launchpad.net/python-nimbleclient
Feature tracker https://blueprints.launchpad.net/python-nimbleclient

People

Zhenguo Niu (zhenguo)

Rui Chen (RuiChen)

YunTong Jin (yuntong.jin@intel.com)

Shaohe Feng (shaohe_feng)

IRC

Discussion of the project also takes place in #openstack-nimble on irc.freenode.net. This is a great place to jump in and start your nimble adventure.

FAQ

  1. What's the relationship with Nimble and Nova?

Compared with Nova, Nimble is dedicated for baremetal computing, it's more lightweight and with more baremetal specific features.

  1. What's the relationship with Nimble and Ironic?

Ironic is integrated into Nimble as a engine, which will be use to deploy(part of provisioning) baremetal node. And also Nimble leverage Ironic API to manage node’s lifecycle.

  1. What's the relationship with Nimble and Valence?

Valence is a RSD controller for Pooled and composable resources, it provide compose API for pooled resource, and also Redfish endpoint to control composed node that used by Nimble. For example if a particular flavor system is requested which maps to a RSD system, such a call should go to nimble which subsequently Valence to provide that node. and Nimble will enroll that node to ironic and provisioning the node with ironic.

References

[1] https://wiki.openstack.org/wiki/Valence

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

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