[17.08][ocata][pike] mongodb (shared-db) relation is required unconditionally
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Ceilometer Charm |
Triaged
|
Medium
|
Unassigned |
Bug Description
With gnocchi used for measure storage and ceilometer API deprecation we no longer need mongodb to be always present. However, we still need to maintain compatibility with old OpenStack versions and telemetry stack where ceilometer has metric storage responsibilities. Another complication is that ceilometer-upgrade in the ceilometer code itself tries to use mongodb on upgrade even if it is not configured.
https:/
The problematic code-path:
assess_status|
https:/
assess_status_func
https:/
resolve_
required_ints = deepcopy(
https:/
REQUIRED_INTERFACES = {
'database': ['mongodb'],
https:/
James pointed out that mongodb needs to be present on Ocata even if it is not needed:
This is due to the fact that the database upgrade code on Ocata
https:/
https:/
https:/
requires mongodb to be present unconditionally:
"connection" or "metering_
https:/
get_connection_
https:/
on the charm side, connection option is only rendered if mongodb is present
https:/
ceilometer_upgrade executes ceilometer-upgrade which triggers that ceilometer code:
https:/
--
We need to figure out some way around this while providing compatibility and a clear upgrade experience.
Could try to backport this change to Ocata https:/
Changed in charm-ceilometer: | |
status: | New → Triaged |
importance: | Undecided → Medium |
tags: |
added: cpe-onsite removed: cpec |
tags: | added: uosci |
Note that for queens, mongodb is not required and that's implemented in the current next charms.