First Climate release 0.1.0 has been delivered. This release implements following use cases:
- User wants to reserve virtual machine and use it later. He/she asks Nova to create server, passing special hints, describing information like lease start and end time. In this case instance will be not just booted, but also shelved not to use cloud resources when it's not needed. At the time user passed as 'lease start time' instance will be unshelled and used as user wants to. User may define different actions that might happen to instance at lease end - like snapshoting or/and suspending or/and removal.
- User wants to reserve compute capacity of whole compute host to use it later. In this case he/she asks Climate to provide host with passed characteristics from predefined pool of hosts (that is managed by admin user). If this request might be processed, user will have the opportunity run his/her instances on reserved host when lease starts.
Climate uses two features that were provided to OpenStack ecosystem in Havana release:
- Instance shelving/unshelving (Nova) - to work with instances
- Identity API v3 (Keystone) - to use trusts for committing actions on behalf of user who created lease
That means that Climate might be used in Havana environment accurate to its requirements.
Bugs & BPs & Tarballs
Here are bugs and blueprints fixed/implemented for this release: https://launchpad.net/climate/0.1.x/0.1.0
This release includes implementation for all core components such as:
- DB layer with all models and abstractions
- Plugin Mechanism to work with different cloud resource types
- Climate Manager service that is responsible for working with leases, events and communicating with other OS services via plygins
- Climate API service that implements RESP API for Climate
- python-climateclient with not only Python client, but also comfortable CLI
Also there are the following features implemented in Climate 0.1.0:
- Climate Nova-related filters and API extensions
- Basic VM plugin to work with Nova instances (with support of instance unshelving on lease start and instance snapshoting/suspending/removal on lease end)
- Physical hosts plugin to work with compute hosts (it operates Nova aggregates to move hosts from common cloud pool to free pool. Free pool is used to give user opportunity to use full compute host capacity from it for instance running. When lease starts, user gets the possibility to run instances exactly on reserved hosts)