Hi folks,
Nova codebase seems to follow manual joins model where all data required by
an API is fetched from multiple tables and then joined manually by using
(in most cases) python dictionary lookups.
I was wondering about the basis reasoning for doing so. I usually find
openstack services to be
Here are a few --
instance_get_all_by_filters joins manually with
instances_fill_metadata --
https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L1890
https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L1782
Almost all instance query functions manually
this consuming a significant amount of
CPU time? Or is it more a gut feel of this looks like it might be
expensive?
Chris
On 08/11/2015 04:51 PM, Sachin Manpathak wrote:
Here are a few --
instance_get_all_by_filters joins manually with
instances_fill_metadata --
https://github.com/openstack
Thanks, This feedback was helpful.
Perhaps my paraphrasing was misleading. I am not running openstack at scale
in order to see how much the DB can sustain. My observation was that the
host running nova services saturates on CPU much earlier than the DB does.
Joins could be one of the reasons. I
Can ceilometer-gurus advise?
[For Ceilometer/Juno]
Use case:
catch instance creation error notifications with ceilometer.
I tried the notifications as well as metering route, but haven't quite
figured out how to do this --
- Added a notification class to ceilometer