OS-16560: Refactoring of nova producer and add usage metrics per aggregates
Summary of changes:
- Removal of nova_cell, nova_baremetal and nova_api producers. Moving everything to producer/nova/nova.py. Moving out the sqlalchemy queries to producer/nova/db_queries/ where we have nova_api_queries.py, nova_cell_queries.py, nova_baremetal_queries.py.
- Now the cell names, connection strings and availability zones are read from the nova_api database, using the function _get_cell_dbs(), get_avz_by_cell_name() present on nova.py and nova_api_queries.py. Therefore, all this info can be removed from the dblogger config file (https://gitlab.cern.ch/ai/it-puppet-hostgroup-cloud_monitoring/-/merge_requests/597)
- Region is taken from the nova_api_main and nova_api_next sections on the dblogger config file.
- Added a new parameter "nova_producer_ignored_cells" for cells that we don't want to monitor. E.g. cell0.
- Currently we keep the metrics per cell but added new ones per aggregates (hypervisors_ram_per_aggregate, hypervisors_cpu_per_aggregate, hypervisors_disk_per_aggregate)