Blazar is a resource reservation service for OpenStack. Initially started in 2013 under the name Climate, Blazar was revived during the Ocata release cycle and became an official OpenStack project during the Queens release cycle. It has just shipped its third official release (the fifth since the revival of the project) as part of the OpenStack Stein release.
While Blazar’s ambition has always been to provide reservations for the various types of resources managed by OpenStack, it has only supported compute resources so far, in the form of instance reservations and physical host reservations. Both were supported purely by integrating with Nova. This is changing in Stein in two ways.
First, the Blazar community has added support for reserving floating IPs by integrating with Neutron. Public IPv4 addresses are usually scarce resources which need to be carefully managed. Users can now request to reserve one or several floating IPs for a specific time period to ensure their future availability, and even bundle a floating IP reservation with a reservation of compute resources inside the same lease. While the implementation of this feature is not fully complete in Stein and is thus classified as a preview, most of the missing pieces are in client support and documentation, and should be completed soon. Chameleon, a testbed for large-scale cloud research, has already made available this new feature to its users.
Second, the instance reservation feature is now leveraging the Placement API service. Originally introduced within Nova, OpenStack Placement provides an HTTP service for managing, selecting, and claiming providers of classes of inventory representing available resources in a cloud. Placement was extracted from Nova in the Stein release and is now a separate project. This change allows Blazar to support all types of affinity policies for instance reservation, instead of being limited to anti-affinity as in previous releases. While Blazar initially leverages Placement only for instance reservation, it paves the way for extending reservation to other types of resources when they integrate with Placement themselves. It will also help Blazar to provide reservation of bare-metal nodes managed by Ironic.
Blazar also includes a new Resource Allocation API, allowing operators to query the reserved state of their cloud resources. This provides a foundation for developing new tools such as a graphical calendar view, which we hope can be made available upstream in a future release.
More details about all the notable changes in Stein are available in the Blazar release notes.
On May 1, two of the Blazar core reviewers will be presenting a Project Update at the Denver 2019 Open Infrastructure Summit. Join them to learn more about these changes and discuss how reservations can make better use of cloud resources!
With the Train release on the horizon, the Blazar community is planning to go full steam ahead by:
- extending its integration with Neutron with reservation of network segments (e.g. VLANs and VXLANs);
- making Blazar compatible with bare-metal nodes managed by Ironic, possibly without using Nova;
- providing a graphical reservation calendar within Horizon;
- integrating with preemptible instances.
StackHPC sees resource reservation as one of OpenStack’s functional gaps for meeting the needs of research computing. Blazar can provide a critical service, enabling users to reserve in advance enough resources for running large-scale workloads.