diff --git a/ceilometer/compute/pollsters/disk.py b/ceilometer/compute/pollsters/disk.py index c192854868..7df98bcd82 100644 --- a/ceilometer/compute/pollsters/disk.py +++ b/ceilometer/compute/pollsters/disk.py @@ -23,6 +23,8 @@ from ceilometer import sample LOG = log.getLogger(__name__) +AGGREGATED_DEPRECATION_DONE = set() + class AggregateDiskPollster(pollsters.GenericComputePollster): inspector_method = "inspect_disks" @@ -44,6 +46,14 @@ class AggregateDiskPollster(pollsters.GenericComputePollster): def get_additional_metadata(instance, stats): return {'device': stats.device} + def get_samples(self, *args, **kwargs): + if self.sample_name not in AGGREGATED_DEPRECATION_DONE: + AGGREGATED_DEPRECATION_DONE.add(self.sample_name) + LOG.warning("The %s metric is deprecated, instead use %s" % + (self.sample_name, + self.sample_name.replace("disk.", "disk.device."))) + return super(AggregateDiskPollster, self).get_samples(*args, **kwargs) + class PerDeviceDiskPollster(pollsters.GenericComputePollster): inspector_method = "inspect_disks" diff --git a/etc/ceilometer/polling.yaml b/etc/ceilometer/polling.yaml index 158381d33c..a986d32130 100644 --- a/etc/ceilometer/polling.yaml +++ b/etc/ceilometer/polling.yaml @@ -10,10 +10,10 @@ sources: - network.incoming.packets - network.outgoing.bytes - network.outgoing.packets - - disk.read.bytes - - disk.read.requests - - disk.write.bytes - - disk.write.requests + - disk.device.read.bytes + - disk.device.read.requests + - disk.device.write.bytes + - disk.device.write.requests - hardware.cpu.util - hardware.memory.used - hardware.memory.total diff --git a/releasenotes/notes/deprecate-aggregated-disk-metrics-54a395c05e74d685.yaml b/releasenotes/notes/deprecate-aggregated-disk-metrics-54a395c05e74d685.yaml new file mode 100644 index 0000000000..fa35f5b711 --- /dev/null +++ b/releasenotes/notes/deprecate-aggregated-disk-metrics-54a395c05e74d685.yaml @@ -0,0 +1,6 @@ +--- +deprecations: + - | + disk.* aggregated metrics for instance are deprecated, in favor of the + per disk metrics (disk.device.*). Now, it's up to the backend to provide + such aggregation feature. Gnocchi already provides this.