X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=rwlaunchpad%2Fplugins%2Frwmonitor%2Frift%2Ftasklets%2Frwmonitor%2Fcore.py;h=b8abea7441a9d85ccfa7c891d704c9bcaafb4ebe;hb=66ed44eebbbe7bbc23d44780ae11e7feaa4b43ba;hp=b97b2f53c8d0da93ac07387be126def98b778699;hpb=255ff03a528a3090ce7f46f0a63b65da3e6f9bcf;p=osm%2FSO.git diff --git a/rwlaunchpad/plugins/rwmonitor/rift/tasklets/rwmonitor/core.py b/rwlaunchpad/plugins/rwmonitor/rift/tasklets/rwmonitor/core.py index b97b2f53..b8abea74 100644 --- a/rwlaunchpad/plugins/rwmonitor/rift/tasklets/rwmonitor/core.py +++ b/rwlaunchpad/plugins/rwmonitor/rift/tasklets/rwmonitor/core.py @@ -317,9 +317,22 @@ class NfviMetrics(object): vdu_metrics.memory.utilization = 100 * vdu_metrics.memory.used / vdu_metrics.memory.total # Storage - vdu_metrics.storage.used = metrics.storage.used - vdu_metrics.storage.total = 1e9 * self.vdur.vm_flavor.storage_gb - vdu_metrics.storage.utilization = 100 * vdu_metrics.storage.used / vdu_metrics.storage.total + try: + vdu_metrics.storage.used = metrics.storage.used + if self.vdur.has_field('volumes'): + for volume in self.vdur.volumes: + if vdu_metrics.storage.total is None: + vdu_metrics.storage.total = 1e9 * volume.size + else: + vdu_metrics.storage.total += (1e9 * volume.size) + else: + vdu_metrics.storage.total = 1e9 * self.vdur.vm_flavor.storage_gb + utilization = 100 * vdu_metrics.storage.used / vdu_metrics.storage.total + if utilization > 100: + utilization = 100 + vdu_metrics.storage.utilization = utilization + except ZeroDivisionError: + vdu_metrics.storage.utilization = 0 # Network (incoming) vdu_metrics.network.incoming.packets = metrics.network.incoming.packets