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,