Difference between revisions of "Trove/ceilometer integration"
< Trove
(→Description) |
(→Description) |
||
Line 2: | Line 2: | ||
=== Description === | === Description === | ||
+ | ==== Use cases ==== | ||
+ | Use cases: | ||
+ | * get stats about instances/backups usage | ||
+ | * get notifications about instance status changes (eg. crash, resize, etc..) | ||
+ | * existing events should be keep regarding contract | ||
+ | https://wiki.openstack.org/wiki/Trove/trove-notifications | ||
+ | |||
+ | |||
+ | ==== Notifications ==== | ||
Trove should emit notifications in for different events, such as: | Trove should emit notifications in for different events, such as: | ||
Revision as of 09:03, 21 July 2014
Contents
Ceilometer integration
Description
Use cases
Use cases:
- get stats about instances/backups usage
- get notifications about instance status changes (eg. crash, resize, etc..)
- existing events should be keep regarding contract
https://wiki.openstack.org/wiki/Trove/trove-notifications
Notifications
Trove should emit notifications in for different events, such as:
- Instance events:
- instance.create.start|end|error
- instance.delete.start|end|error
- instance.resize.start|end|error
- instance.migrate.start|end|error
- instance.reboot(restart?).start|end|error
- Backup events:
- backup.create.start|end|error
- backup.delete.start|end|error
Justification/Benefits
Justification
Trove should emit events for resources as they are manipulated. These events can be used to meter the service and possibly used to calculate bills. Notification Events: trove/trove-notifications
Benefits
- Ability to integrate with Ceilometer
- Ability to integrate with billing systems in terms of Public cloud deployments
Impacts
Existing notifications events are going to be changed:
- create -> instance.create.start|end|error
- delete -> instance.delete.start|end|error
- modify_flavor -> resize.flavor.start|end|error
- modify_volume -> resize.volume.start|end|error
New notifications are going to be added:
- backup.create.start|end|error
- start and/or error notifications are going to be sent by taskmanager
- end and/or error notifications are going to be sent by conductor (because conductor is the only one place to verify that backup was created properly)
- backup.delete.start|end|error (all notifications are emited by taskmanager)
Configuration
No changes
Database
No changes
Public API
New routes
No changes
Modifications to existing
No changes
Internal API
From trove-api to trove-taskamanger
No changes
From trove-taskamanger to trove-guestagent
No changes
Ceilometer plugin
Ceilometer plugin should be implemented right after all notification modifications are merged into Trove codebase Ceilometer blueprint https://blueprints.launchpad.net/ceilometer/+spec/trove-plugin