Improve Readme
This commit is contained in:
parent
b817a17aa6
commit
0b6c6da85b
75
README.md
75
README.md
@ -13,9 +13,82 @@ The main purpose of this software is to bill customers based on their usage of t
|
||||
|
||||
Almanach is composed of two parts:
|
||||
|
||||
- **Collector**: listen for OpenStack events and store the relevant information in the database.
|
||||
- **Collector**: Listen for OpenStack events and store the relevant information in the database.
|
||||
- **REST API**: Expose the information collected to external systems.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
- OpenStack infrastructure installed (Nova, Cinder...)
|
||||
- MongoDB
|
||||
- Python 2.7
|
||||
|
||||
Database entities
|
||||
-----------------
|
||||
|
||||
Each entity have at least these properties:
|
||||
|
||||
- `entity_id`: Unique id for the entity (UUID)
|
||||
- `entity_type`: "instance" or "volume"
|
||||
- `project_id`: Tenant unique ID (UUID)
|
||||
- `start`: Start date of the resource usage
|
||||
- `end`: End date of the resource usage or `null` if the resource still in use by the tenant
|
||||
- `name`: Resource name
|
||||
|
||||
### Compute Object
|
||||
|
||||
```json
|
||||
{
|
||||
"entity_id": "UUID",
|
||||
"entity_type": "instance",
|
||||
"project_id": "UUID",
|
||||
"start": ISODate("2014-01-01T06:00:00.000Z"),
|
||||
"end": null,
|
||||
"last_event": ISODate("2014-01-01T06:00:00.000Z"),
|
||||
"flavor": "MyFlavor1",
|
||||
"os": {
|
||||
"distro": "ubuntu",
|
||||
"version": "14.04"
|
||||
},
|
||||
"name": "my-virtual-machine.domain.tld"
|
||||
}
|
||||
```
|
||||
|
||||
### Block Storage Object
|
||||
|
||||
```json
|
||||
{
|
||||
"entity_id": "UUID",
|
||||
"entity_type": "volume",
|
||||
"project_id": "UUID",
|
||||
"start": ISODate("2014-01-01T06:00:00.000Z"),
|
||||
"end": null,
|
||||
"last_event": ISODate("2014-01-01T06:00:00.000Z"),
|
||||
"volume_type": "MyVolumeType",
|
||||
"size": 50,
|
||||
"name": "my-virtual-machine.domain.tld-volume",
|
||||
"attached_to": "UUID"
|
||||
}
|
||||
```
|
||||
|
||||
List of events handled
|
||||
----------------------
|
||||
|
||||
Almanach will process those events:
|
||||
|
||||
- `compute.instance.create.end`
|
||||
- `compute.instance.delete.end`
|
||||
- `compute.instance.resize.confirm.end`
|
||||
- `compute.instance.rebuild.end`
|
||||
- `volume.create.end`
|
||||
- `volume.delete.end`
|
||||
- `volume.resize.end`
|
||||
- `volume.attach.end`
|
||||
- `volume.detach.end`
|
||||
- `volume.update.end`
|
||||
- `volume.exists`
|
||||
- `volume_type.create`
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user