Jump to: navigation, search

Difference between revisions of "Blazar/Incubation"

(Mission statement)
(Detailed Description)
Line 17: Line 17:
 
* Compute host reservation (when user with admin privileges can reserve hardware resources that are dedicated to the sole use of a tenant)
 
* 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)
 
* 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 users can request the resources of cloud environment to be provided (“leased”) to their project for a specific amount on time, immediately or in future.
 
Now these ideas have been transformed to more general view: with Climate users can request the resources of cloud environment to be provided (“leased”) to their project for a 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.
 
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'".
 
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.
+
'''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 associated events.
 +
 
 
'''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.
 
'''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 uses OpenStack common code where it is appropriate (including oslo.config and oslo.messaging support). There is current review under progress  for using Pecan+WSME to implement REST API and there is Devstack integration implemented. Now this Reservation-as-a-Service initiative includes three Stackforge projects:
 
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 uses OpenStack common code where it is appropriate (including oslo.config and oslo.messaging support). There is current review under progress  for using 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 itself
 
* Climate client (with implemented comfortable CLI)
 
* Climate client (with implemented comfortable CLI)
 
* Climate-Nova project (that includes exclusively Nova-related changes such as filters and API extensions for Nova)
 
* Climate-Nova project (that includes exclusively 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 consider it as a completely new OpenStack program ''Resource Reservation''.
 
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 consider it as a completely new OpenStack program ''Resource Reservation''.

Revision as of 10:45, 3 March 2014

Project codename

Climate

Current incubation requirements status

https://etherpad.openstack.org/p/climate-incubation-status

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: Provide ability to manage different cloud resources in time, by offering their planning and resources allocation/reclaiming process automation.

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 users can request the resources of cloud environment to be provided (“leased”) to their project for a 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 associated events.

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 uses OpenStack common code where it is appropriate (including oslo.config and oslo.messaging support). There is current review under progress for using 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 exclusively 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 consider it as a 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 engaged last year, and now there is great team working on including talented 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 the 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 one 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 (scroiset on IRC) - is OpenStack Software Engineer at Bull since last year. He has taken part in Climate developpement since the very begining to provide reservation service for the XLCloud project. He will work to provide integration tests and stress tests to the project for next release, since he has 5 years performance and integration testing experience before landing on the planet OpenStack. His other assignments are also the billing and monitoring, leveraging Telemetry program.

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) - Software Engineer at Inria. Is working on implementation of physical reservations use case for XLcloud project, and has great view on how it should work with Climate core features.
  • Yuriy Taraday (YorikSar on IRC) - Senior Software Engineer at Mirantis, who is taking active part in OpenStack development during last three years. He has great experience in all OpenStack core projects, and helps much with Climate integration in entire OS ecosystem.
  • Pablo Andres Fuente (pafuent on IRC) - Software Engineer at Intel. He's working on development of the virtual reservations idea, and his OpenStack experience includes much work with Orchestration Program.
  • Christian Martinez (chmartinez on IRC) - Semi Senior Software Engineer at Intel. He began his Climate implementation experience with tests functionality improvement, but his entire interest lays near virtual reservations, so he's working on its better functionality.
  • Dmitriy Dyachkov - our only independent developer :) He started his OpenStack experience with our project, and we hope that his OS journey will be nice and comfortable :)

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

Naming issues

Currently Climate team is searching for the new name for this project, because it turned out that 'climate' repos already exist on PyPi and readthedocs. Here is the list of possible candidates: http://wiki.openstack.org/wiki/Climate/NewName

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. Currently all documentation is published on OpenStack Wiki (http://wiki.openstack.org/wiki/Climate), because of issues with creating Climate project on readthedocs (currently Climate is in process of finding new name - as mentioned, there are candidates https://wiki.openstack.org/wiki/Climate/NewName, so all documentation will be moved to readthedocs right after it will be chosen).

Have all current contributors agreed to OpenStack CLA?

Yes.

Related links