3. Reasons
● Manage cloud resources not right now but also in
the future
● Have dedicated resources on certain amount of
time
● Prepare for the peak loads and perform capacity
planning
● Optimize energy consumption
4. What may be reserved?
● Virtual resources
○ Nova instances
○ Cinder volumes
○ Neutron’s floating IPs, networks, routers
○ Heat stacks
○ etc.
● Physical resources
○ compute hosts
○ storage nodes
5. Climate features
● Reserve cloud resources (both physical and
virtual)
● Plugin mechanism (what to do at the time lease
actually starts and ends)
● Configurable notifications about near ending of
the lease
● Leases and resources accounting with Ceilometer
7. Useful terms
● Reservation = capture resources for cloud object
(instance, pcloud, stack, etc.). Includes status,
resource ID, pre- and post-reservation actions.
● Lease = several reservations. Lease is described
by start time, end time, reservations and events
regarding it.
● Event = something that may happen with lease
(start, end, notify, extra actions).
8. Events Handling Workflow
Climate Manager
Resource Plugin
1. get event that should be done at
this time
Climate DB
2. commit all needed actions
9. Create lease with reserved VM workflow
1. reserve instance with
some lease params
2. create reserved
instance, lease ID
OpenStack
Dashboard /
Nova CLI
Climate
Client
Nova API
3. instance creation
request
Nova Scheduler
4. do all instance creation steps
except running
Nova Compute
5. create record in the DB
Nova DB
6. lease params
(+instance ID)
6. lease params
Climate API
7. create lease request
Climate Manager
8. create lease, reservation
and event records
Climate DB
10. Demo Scenario (Instance Reservation)
● Boot instance
○ Verify it was reserved
○ View created lease for the passed periods
○ Wait for the first notification
● Prolong lease
○ Wait for the second notification
○ Check that instance snapshot was created and
VM deleted at the lease end time
11. Create/Start lease with reserved host workflow
1. reserve host(s) with
some lease params
Nova API
6. returns lease uuid
2. create reserved
host, lease ID
Climate Client /
OpenStack
Dashboard
4. create pcloud
with no hosts
Climate API
3. create lease
request
Climate Manager
Nova Scheduler
7. (at lease start)
elects hosts and
add in pcloud
Nova Compute
5. create lease, reservation
record and event records
Climate DB
Nova DB
12. VM creation with reserved host workflow
1. starts VM with
scheduler hint :
reservation uuid
OpenStack
Dashboard /
Nova CLI
Nova API
Nova Scheduler
2. filters hosts only within the
pcloud(=reservation)
Nova Compute
Nova DB
13. What have we started with (physical use case)?
● Hosts reservation basic features
● Deferred reserving of compute nodes
● Simple lease prolonging
14. What shall we do later?
● Physical reservations
○ Capacity planning at lease creation
○ Best-effort mode
○ Energy efficiency feature for hosts
● Core functionality
○ Notification center
○ Support of different reservation concepts
15. What have we started with (virtual use case)?
●
●
●
●
●
Nova instances reservation support
Reservations without reusing resources
Support immediate reservations
Simple lease prolonging
Draft notification opportunity
16. What shall we do later?
● Virtual reservations
○ Add resource reuse mechanism
○ Support for all OpenStack virtual resources
● Core functionality
○ Notification center
○ Clever reservation prolonging mechanism
(support for OpenStack quotas)
○ Support of different reservation concepts
17. Community related questions
● Base commits already merged into upstream
(DB layer, all utilities and service preparing
mechanism, REST API)
● On review
○ Hosts reservation changes
○ Manager Service with Keystone trusts support
○ Basic VM plugin