1 of 20

Climate Project

Dina Belova, Mirantis

Sylvain Bauza, Bull

Resource Reservation Service

2 of 20

3 of 20

  • 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

Reasons

4 of 20

  • Virtual resources
    • Nova instances
    • Neutron’s floating IPs, networks, routers
    • etc.
  • Physical resources
    • compute hosts
    • storage nodes

What may be reserved?

5 of 20

  • 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

Climate features

6 of 20

  • Immediate reservation
  • Reservation with retries
  • Best-effort reservation
  • Delayed resource acquiring

Reservation concepts

7 of 20

  • Reservation = capture resources for cloud object (instance, pcloud, stack, etc.).
  • Lease = several reservations. Is described by start time, end time, reservations and events regarding it.
  • Event = something that may happen with lease (start, end, notify, extra actions).

Useful terms

8 of 20

Events Handling Workflow

Climate Manager

Climate DB

1. get event that should be done at this time

2. commit all needed actions

Resource Plugin

9 of 20

Create lease with reserved VM workflow

Nova API

OpenStack Dashboard / Nova CLI

1. reserve instance with some lease params

2. create reserved instance, lease ID

Nova Scheduler

3. instance creation request

Nova DB

Nova Compute

4. do all instance creation steps except running

5. create record in the DB

Climate Client

Climate API

6. lease params (+instance ID)

6. lease params

Climate Manager

7. create lease request

Climate DB

8. create lease, reservation and event records

10 of 20

  • Boot instance
    • Verify it was reserved and view created lease
    • Wait for the first notification
  • Prolong lease
    • Wait for the second notification
    • Check post-lease actions

Demo Scenario (Instance Reservation)

11 of 20

Create/Start lease with reserved host workflow

Climate Client / OpenStack Dashboard

1. reserve host(s) with some lease params

2. create reserved host

Nova API

Nova Scheduler

Nova DB

Nova Compute

4. create pcloud with no hosts

Climate API

Climate Manager

3. create lease request

Climate DB

5. create lease, reservation record and event records

6. returns lease uuid

7. (at lease start) elects host(s) and add in pcloud

12 of 20

VM creation with reserved host workflow

OpenStack Dashboard / Nova CLI

Nova API

Nova Scheduler

Nova DB

Nova Compute

1. starts VM with scheduler hint : reservation uuid

2. filters hosts only within the pcloud(=reservation)

13 of 20

  • Hosts reservation basic features
  • Deferred reserving of compute nodes
  • Simple lease prolonging

What have we started with (physical use case)?

14 of 20

  • Physical reservations
    • Capacity planning at lease creation
    • Best-effort mode
    • Energy efficiency feature for hosts
  • Core functionality
    • Notification center
    • Support of different reservation concepts

What shall we do later?

15 of 20

  • Physical reservations
    • Capacity planning at lease creation
    • Best-effort mode
    • Energy efficiency feature for hosts
  • Core functionality
    • Notification center
    • Support of different reservation concepts

What shall we do later?

16 of 20

  • Virtual reservations
    • Add resource reuse mechanism
    • Support for all OpenStack virtual resources
  • Core functionality
    • Notification center
    • Clever reservation prolonging mechanism
    • Support of different reservation concepts

What shall we do later?

17 of 20

  • 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

Community related questions

18 of 20

Useful links

19 of 20

Q&A

20 of 20

Thank you for the attention

Dina Belova, dbelova@mirantis.com

Sylvain Bauza, sylvain.bauza@bull.net