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
This commit is contained in:
licanwei
2017-04-12 13:40:28 +08:00
parent 0db41f1862
commit d892153b58

View File

@@ -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,