Day one: reading.
Hiccups
tox
needs to be<1.7
forposargs
to work.- Adjusting
tox.ini
to use python 3.4eventlet
will not install, this is expected.
Successes
tox -e pep8
successtox -e py27
success
Random Thoughts and Questions
It's way premature to be thinking this but looking at ceilometer/storage/sqlalchemy/models.py
(chosen semi-randomly as something to inspect) all I can think is "there seems to be an impedance mismatch here". Probably best to go back to reading the docs before making too many assumptions in the code.
Do "push" and "polling" agents put their data on the bus to be collected? If not, should they? In general it seems like the bus could be more central.
Another first impression: Trying to do too much.
Why are alarms dependent on datastore rather than data?
What's the quick and dirty way to get an X-Auth-Token
without messing about?
As mentioned during interviews, it would be handy to be able to POST filter querys as templates and get back an id to use that query in subsequent gets, passing template values.
Why both JSON and XML (too many choices, too few constaints)?
Unfortunately, debugging currently has some limitations: You cannot run a specific test, you have to launch the whole test suite. from
Would be great to be able to change that.
Info about Pollster is out of date in relation to the current code. The class has moved as well as been split in two.
(It's lame how much I detest unittest
style tests. self.assert*
? No thank you!)
Devstack Ceilometer Processes
ceilometer-agent-compute
A service that runs on each compute node (host machines), for producing metering data.
ceilometer-agent-central
A central service that is pluggable with agents that produce metering data.
ceilometer-agent-notification
Listener plugins collect notifications off the message bus, various OpenStack components put notifications on the bus.
ceilometer-collector
A central service that collects metering data from message queues and the other agents, transforms into samples, and stores them.
(Actually it is not (yet) clear who/what is doing the transform into Samples
, it doesn't appear to be in the collector.)
ceilometer-api
Standalone web server hosting the API, the guts of which are WSME application in ceilometer/api/controllers/v2.py
.
ceilometer-alarm-evaluator
TBD
ceilometer-alarm-notifier
Hear alarms and perform defined actions.
Next
Day two plan is to trace the flow of a piece of data across the code using a real event in my DevStack VM.