diff --git a/watcher/decision_engine/model/resource.py b/watcher/decision_engine/model/resource.py index 862bde0ff..068dcf775 100644 --- a/watcher/decision_engine/model/resource.py +++ b/watcher/decision_engine/model/resource.py @@ -21,6 +21,7 @@ class ResourceType(Enum): cpu_cores = 'num_cores' memory = 'memory' disk = 'disk' + disk_capacity = 'disk_capacity' class Resource(object): diff --git a/watcher/metrics_engine/cluster_model_collector/nova.py b/watcher/metrics_engine/cluster_model_collector/nova.py index aca04a6c8..23443aca0 100644 --- a/watcher/metrics_engine/cluster_model_collector/nova.py +++ b/watcher/metrics_engine/cluster_model_collector/nova.py @@ -40,9 +40,11 @@ class NovaClusterModelCollector(api.BaseClusterModelCollector): mem = resource.Resource(resource.ResourceType.memory) num_cores = resource.Resource(resource.ResourceType.cpu_cores) disk = resource.Resource(resource.ResourceType.disk) + disk_capacity = resource.Resource(resource.ResourceType.disk_capacity) cluster.create_resource(mem) cluster.create_resource(num_cores) cluster.create_resource(disk) + cluster.create_resource(disk_capacity) flavor_cache = {} hypervisors = self.wrapper.get_hypervisors_list() @@ -55,6 +57,7 @@ class NovaClusterModelCollector(api.BaseClusterModelCollector): # set capacity mem.set_capacity(hypervisor, h.memory_mb) disk.set_capacity(hypervisor, h.free_disk_gb) + disk_capacity.set_capacity(hypervisor, h.local_gb) num_cores.set_capacity(hypervisor, h.vcpus) hypervisor.state = h.state hypervisor.status = h.status