Feature #7683
Collect ceph version per service. expose it through the API
Status:
New
Priority:
Normal
Assignee:
-
Category:
Backend (services)
Target version:
-
% Done:
0%
Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:
Description
This information is useful to determine what version of ceph the processes are running.
History
#1 Updated by Christina Meno about 10 years ago
- Tracker changed from Bug to Feature
#2 Updated by John Spray about 10 years ago
- Target version deleted (
v1.2 Backlog)
#3 Updated by John Spray about 10 years ago
How to implement
- The persistence.servers.service class has the attributes for services that we persist. Add one for version.
- The server_monitor.ServiceState class has the in-memory attributes for services. Add one setting version to None in init.
- The ceph.server messages from the ceph salt module include a 'version' attribute in each service.
- ServerMonitor.on_server_heartbeat iterates over the data from each service and calls _register_service for each one
- Add a version argument to register_service
- Where register_service calls persister.create_service for new services, add the version to the Service() instance passed in
- Add a conditional similar to those for 'status' and 'running' for the version attribute, so that it makes persister.update_service calls when the version changes, and sets the attribute on the ServiceState instance too.
- In ServerMonitor's dump and dump_cluster methods, add 'version' to the attributes we output for each service in the 'services' attribute of servers. Maybe pull this out to a "dump" method on ServerState to avoid duplication.
- In ServiceSerializer, add a field for 'version'.