From d892153b58f42c13d484dcd2e28929c52bd49d65 Mon Sep 17 00:00:00 2001 From: licanwei Date: Wed, 12 Apr 2017 13:40:28 +0800 Subject: [PATCH] use instance data replace exception.NoDataFound If instance_ram_util and instance_disk_util can not get data from datasource. we can use instance data, just like total_cpu_utilization Change-Id: I4170b96946b07435411ada5ff4a14c978c0435b4 --- .../strategies/vm_workload_consolidation.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) mode change 100644 => 100755 watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py diff --git a/watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py b/watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py old mode 100644 new mode 100755 index 286ff0922..57de72300 --- a/watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py +++ b/watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py @@ -339,11 +339,15 @@ class VMWorkloadConsolidation(base.ServerConsolidationBaseStrategy): else: total_cpu_utilization = instance.vcpus - if not instance_ram_util or not instance_disk_util: - LOG.error( - 'No values returned by %s for memory.usage ' - 'or disk.root.size', instance.uuid) - raise exception.NoDataFound + if not instance_ram_util: + instance_ram_util = instance.memory + LOG.warning('No values returned by %s for memory.usage, ' + 'use instance flavor ram value', instance.uuid) + + if not instance_disk_util: + instance_disk_util = instance.disk + LOG.warning('No values returned by %s for disk.root.size, ' + 'use instance flavor disk value', instance.uuid) self.datasource_instance_data_cache[instance.uuid] = dict( cpu=total_cpu_utilization, ram=instance_ram_util,