Jump to: navigation, search

Blazar/Incubation

< Blazar
Revision as of 11:51, 21 February 2014 by Dina Belova (talk | contribs) (Core team)

Project codename

Climate

Summary

Resource reservation service for OpenStack based clouds. Climate provides leasing opportunity to manage different cloud resources in time-based manner.

Mission statement

Program: Resource Reservation

Mission: Grant cloud providers and user ability to manage different OpenStack cloud resources distributed in time, that enables cloud resource planning based on current and future demand from end users and automates the processes of resource allocation and reclaiming.

Detailed Description

Climate provides users and cloud providers opportunity to use resource reservation in their OpenStack clouds. Primary idea of creating Climate originated with two different use cases:

  • Compute host reservation (when user with admin privileges can reserve hardware resources that are dedicated to the sole use of a tenant)
  • Virtual machine (instance) reservation (when user may ask reservation service to provide him working VM not necessary now, but also in the future)


Now these ideas have been transformed to more general view: with Climate user can request the resources of cloud environment to be provided (“leased”) to his project for specific amount on time, immediately or in future.

Climate operates reservations as basic units in its logic. Reservation is an allocation of certain cloud resource (Nova instance, Cinder volume, compute host, etc.) to particular project. Reserved resource is taken from common resource pool depending on what kind this resource is - for example, reserved VM will be in shelved state till it is not needed by user.

Both virtual (Instances, Volumes, Networks) and hardware (full hosts with specific characteristics of RAM, CPU and etc) resources can be allocated via '"lease'".

Lease is simply some kind of a negotiation agreement between the provider (Climate, using OpenStack resources) and the consumer (user) where the former agrees to make some kind of resources (both virtual and physical) available to latter, based on a set of lease terms presented by the consumer. Here lease may be described as contract between user and reservation service about cloud resources to be provided right now or later. Technically speaking, lease is a group of reservations granted to particular project upon request. Lease is characterized by start time, end time, set of individual reservations and associatedevents.

Event is simply something that may happen to lease. In most simple case event might describe lease start and lease end. Also it might be notification to user (e.g. about soon lease expiration) and some extra actions.

Now Climate is tightly integrated with core OpenStack projects, such as Nova and Keystone (including usage of trusts mechanism) and is using common OpenStack practices for projects building: Climate repositories obey tox, pbr and global-requirements. Climate has full technical i18n support and use OpenStack common code where it is appropriate (including oslo.config and oslo.messaging support). Climate uses Pecan+WSME to implement REST API and there is Devstack integration implemented. Now this Reservation-as-a-Service initiative includes three Stackforge projects:

  • Climate itself
  • Climate client (with implemented comfortable CLI)
  • Climate-Nova project (that includes Nova-related changes such as filters and API extensions for Nova)


Climate implements pluggable architecture (using stevedore) to support different resources to be reserved from different OpenStack projects. Virtual instances and compute hosts support is already implemented, in future Climate is going to provide volumes, network resources and storage nodes reservation, that's why we are talking about completely new OpenStack program Resource Reservation.

Climate Roadmap

Climate Roadmap

Location of project source code

Programming language, required technology dependencies

Language

Python

Dependencies

All Climate dependencies match OpenStack global requirements and use only common OpenStack dependencies:

Is project currently open sourced? What license?

All Climate initiative projects are open sourced and use Apache 2.0 license.

Level of maturity of software and team

Climate initiative has been developed during all last year, and now there is great effective team working on including talanted people from Mirantis, Bull, Inria, Intel, eNovance and Rackspace. We believe that this project will have great future as a part of OpenStack ecosystem and will bring new features and possibilities to it.

Proposed project technical lead and qualifications

Dina Belova, who is Software Engineer at Mirantis, (DinaBelova on IRC) is current Climate PTL. Her main responsibilities are architecture design and community-related work in Climate (including holding weekly IRC team meeting, preparing agenda for them, managing Climate Launchpad). She is top Climate reviewer and on of the top Climate contributors, and she is working with OS ecosystem more than two years, creating private OpenStack based clouds for Mirantis customers and contributing to official OpenStack projects. She's been elected by Climate community due to common OpenStack practice - https://wiki.openstack.org/wiki/Climate/PTL

Other project developers and qualifications

Core team

In addition to Dina Belova:

  • Sylvain Bauza (bauzas on IRC) - is OpenStack Software Engineer at Bull with more than 10 years of experience in designing, managing and operating large Web farms. He is now in charge of adding value to the XLCloud project (http://www.xlcloud.org) by operating and acting on its Openstack stack and thus contributing to Climate for delivering a reservation service.
  • Nikolay Starodubtsev (Nikolay_St on IRC) - is Software Engineer at Mirantis. He is working in OS ecosystem more than two years and has much experience in implementing customer-specific features. He took significant part in implementing core Climate possibilities and has been working on this initiative from very beginning of Climate.
  • Swann Croiset (swann on IRC) - Performance Test Engineer at Bull. <TBD>

Active code contributors

  • Sergey Lukjanov (SergeyLukjanov on IRC) - Senior Software Engineer at Mirantis, OpenStack Data Processing program PTL (Savanna project) and one of the core-team members in OpenStack Infrastructure program. He is taking part in Climate architecture design and its development since very beginning and is mentoring its development and community related questions.
  • François Rossigneux (f_rossigneux on IRC) - TBD
  • Yuriy Taraday (YorikSar on IRC) - Senior Software Engineer at Mirantis, who is taking active part in OpenStack development during last three years.
  • Pablo Andres Fuente (pafuent on IRC) - TBD
  • Christian Martinez (cmart on IRC) - TBD
  • Dmitriy Dyachkov - TBD


And also special thank to people, who've been taken part in Climate, although it's not their main point of interest:

  • Julien Danjou (jd__ on IRC) - OpenStack Telemetry program PTL, he inspired Climate to be born, and he is mentoring our project to fit all OpenStack practices.
  • 'Michael Still (mikal on IRC) - Software Development Manager at Rackspace
  • Nikita Konovalov (NikitaKonovalov on IRC) - Software Engineer at Mirantis

Infrastructure requirements (testing, etc.)

All our code/reviews and bugs/blueprints are hosted at OpenStack Gerrit and Launchpad correspondingly. We have unit tests and all flake8/hacking checks runnong at OpenStack Jenkins and we hope that we’ll implement integration tests in the OpenStack infrastructure system (using Tempest) in nearest future. We have Sphinx-based docs published at <?????> with dev, admin and user guides along with descriptions of REST API, plugins, etc.

Have all current contributors agreed to OpenStack CLA?

Yes.

Related links