4.2 KiB
Heat Datasource Driver - get_all implementation
launchpad blueprint: https://blueprints.launchpad.net/vitrage/+spec/heat-datasource-get-all
This blueprint describes the Heat driver for Vitrage Datasource, and its implementation for get_all Stacks and Stack Resources.
Problem description
Heat stacks should be added to Vitrage Graph via Vitrage Datasources. This requires writing a Datasource driver for heat.
The driver should support two modes:
- get_all: query all Heat Stacks.
- notifications: notify the datasource upon a change in a stack definition or state
This blueprint refers to get_all implementation.
Proposed change
Heat driver will be configured with:
- Poll interval in seconds (default: 600)
Every poll-interval seconds, Heat Driver will call Heat list all stacks API. The stacks will be converted to Vitrage datasource events and passed to Vitrage Graph queue.
Alternatives
None
Data model impact
Heat event will be sent to Vitrage Graph queue with the following properties:
Field | Description | Examples |
---|---|---|
stack_id | The stack UUID | e47e1be6-3598-46e6-bb63-0cc9a4e35ad7 |
name | The stack name | mystack |
description | The stack description | mydescription |
user_project_id | The ID of the tenant that owns the alarm | 5542b27142154f30b32dea6238aa81aa |
owner | The ID of the user that owns the alarm | 5555527142154f30b32dea6238aa81aa |
status | The stack status | in progress / failed |
status_reason | The stack status reason | Stack create started .... |
REST API impact
None
Versioning impact
None
Other end user impact
None
Deployer impact
Heat driver should be configured
Developer impact
None
Horizon impact
None
Implementation
Assignee(s)
- Primary assignee:
-
dan-offek
Work Items
None
Dependencies
None
Testing
This blueprint requires unit tests and Tempest tests.
Documentation Impact
None
References
Datasource main blueprint: https://github.com/openstack/vitrage-specs/blob/master/specs/mitaka/vitrage-datasource.rst