diff --git a/src/host/Host.cc b/src/host/Host.cc index 0973237fea..f527be3fa5 100644 --- a/src/host/Host.cc +++ b/src/host/Host.cc @@ -334,7 +334,7 @@ int Host::update_info(string &parse_str, erase_template_attribute("USEDMEMORY", val); host_share.used_mem = val; erase_template_attribute("DS_LOCATION_USED_MB", val); - host_share.free_disk = val; + host_share.used_disk = val; } // ---------------------------------------------------------------------- // diff --git a/src/scheduler/include/HostXML.h b/src/scheduler/include/HostXML.h index f5191607e9..297aee46a2 100644 --- a/src/scheduler/include/HostXML.h +++ b/src/scheduler/include/HostXML.h @@ -127,16 +127,17 @@ private: int cluster_id; // Host share values - long long disk_usage; /**< Disk allocated to VMs (in MB). */ +// long long disk_usage; /**< Disk allocated to VMs (in MB). */ long long mem_usage; /**< Memory allocated to VMs (in KB) */ long long cpu_usage; /**< CPU allocated to VMs (in percentage) */ - long long max_disk; /**< Total disk capacity (in MB) */ +// long long max_disk; /**< Total disk capacity (in MB) */ long long max_mem; /**< Total memory capacity (in KB) */ long long max_cpu; /**< Total cpu capacity (in percentage) */ + long long free_disk; /**< Free disk capacity (in MB) */ + map ds_free_disk; /**< Free MB for local system DS */ - long long ds_location_free_mb; // TODO: merge with host share max_disk? long long running_vms; /**< Number of running VMs in this Host */ diff --git a/src/scheduler/src/pool/HostXML.cc b/src/scheduler/src/pool/HostXML.cc index 0f7dc1d346..43269065cb 100644 --- a/src/scheduler/src/pool/HostXML.cc +++ b/src/scheduler/src/pool/HostXML.cc @@ -40,23 +40,23 @@ void HostXML::init_attributes() oid = atoi(((*this)["/HOST/ID"] )[0].c_str() ); cluster_id = atoi(((*this)["/HOST/CLUSTER_ID"] )[0].c_str() ); - disk_usage = atoll(((*this)["/HOST/HOST_SHARE/DISK_USAGE"])[0].c_str()); +// disk_usage = atoll(((*this)["/HOST/HOST_SHARE/DISK_USAGE"])[0].c_str()); mem_usage = atoll(((*this)["/HOST/HOST_SHARE/MEM_USAGE"])[0].c_str()); cpu_usage = atoll(((*this)["/HOST/HOST_SHARE/CPU_USAGE"])[0].c_str()); - max_disk = atoll(((*this)["/HOST/HOST_SHARE/MAX_DISK"])[0].c_str()); +// max_disk = atoll(((*this)["/HOST/HOST_SHARE/MAX_DISK"])[0].c_str()); max_mem = atoll(((*this)["/HOST/HOST_SHARE/MAX_MEM"])[0].c_str()); max_cpu = atoll(((*this)["/HOST/HOST_SHARE/MAX_CPU"])[0].c_str()); + free_disk = atoll(((*this)["/HOST/HOST_SHARE/FREE_DISK"])[0].c_str()); + running_vms = atoll(((*this)["/HOST/HOST_SHARE/RUNNING_VMS"])[0].c_str()); //Reserve memory for the hypervisor max_mem = static_cast(hypervisor_mem * static_cast(max_mem)); - ds_location_free_mb = atoll(((*this)["/HOST/TEMPLATE/DS_LOCATION_FREE_MB"])[0].c_str()); - - vector ds_ids = (*this)["/HOST/TEMPLATE/DS/ID"]; - vector ds_free_mb = (*this)["/HOST/TEMPLATE/DS/FREE_MB"]; + vector ds_ids = (*this)["/HOST/HOST_SHARE/DATASTORES/DS/ID"]; + vector ds_free_mb = (*this)["/HOST/HOST_SHARE/DATASTORES/DS/FREE_MB"]; int id; long long disk; @@ -120,7 +120,7 @@ bool HostXML::test_ds_capacity(int dsid, long long vm_disk_mb) { if (ds_free_disk.count(dsid) == 0) { - ds_free_disk[dsid] = ds_location_free_mb; + ds_free_disk[dsid] = free_disk; } return (vm_disk_mb < ds_free_disk[dsid]); @@ -133,7 +133,7 @@ void HostXML::add_ds_capacity(int dsid, long long vm_disk_mb) { if (ds_free_disk.count(dsid) == 0) { - ds_free_disk[dsid] = ds_location_free_mb; + ds_free_disk[dsid] = free_disk; } ds_free_disk[dsid] -= vm_disk_mb;