Tal Nisan has uploaded a new change for review. Change subject: core: Added uptime for the VDS entity ......................................................................
core: Added uptime for the VDS entity Added an uptime value to the VDS entity (placed in VdsStatistics) which will hold the value for the host uptime Change-Id: I2f0bb08690718e9b6b6a8474d2f6be5f2e9eeeda Signed-off-by: Tal Nisan <[email protected]> Related-To: https://bugzilla.redhat.com/1070348 --- M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsStatistics.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStatisticsDAODbFacadeImpl.java M packaging/dbscripts/create_views.sql M packaging/dbscripts/vds_sp.sql 6 files changed, 34 insertions(+), 9 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/32/25832/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java index 9a70c3b..86bd148 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java @@ -1313,4 +1313,12 @@ public void setDisablePowerManagementPolicy(boolean disablePowerManagementPolicy) { mVdsStatic.setDisablePowerManagementPolicy(disablePowerManagementPolicy); } + + public Long getUptime() { + return mVdsStatistics.getUptime(); + } + + public void setUptime(Long uptime) { + mVdsStatistics.setUptime(uptime); + } } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsStatistics.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsStatistics.java index dbaa923..d33a0f0 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsStatistics.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsStatistics.java @@ -25,6 +25,7 @@ private Long ksm_pages; private Boolean ksm_state; private int anonymousHugePages; + private Long uptime; // The following values store the state of the Hosted Engine HA environment // for each host and allow the user to see/change that state through the // engine UI. They originate in the HA agent and are updated with the other @@ -86,6 +87,8 @@ result = prime * result + (highlyAvailableIsActive ? 1231 : 1237); result = prime * result + (highlyAvailableGlobalMaintenance ? 1231 : 1237); result = prime * result + (highlyAvailableLocalMaintenance ? 1231 : 1237); + result = prime * result + ((uptime == null) ? 0 : uptime.hashCode()); + return result; } @@ -263,6 +266,14 @@ return this.ksm_state; } + public Long getUptime() { + return uptime; + } + + public void setUptime(Long uptime) { + this.uptime = uptime; + } + public void setksm_state(Boolean value) { this.ksm_state = value; } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java index f4c7f50..402aaad 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java @@ -345,6 +345,7 @@ entity.setHighlyAvailableIsActive(rs.getBoolean("ha_active")); entity.setHighlyAvailableGlobalMaintenance(rs.getBoolean("ha_global_maintenance")); entity.setHighlyAvailableLocalMaintenance(rs.getBoolean("ha_local_maintenance")); + entity.setUptime(rs.getLong("uptime")); entity.calculateFreeVirtualMemory(); return entity; } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStatisticsDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStatisticsDAODbFacadeImpl.java index c9deccb..386965c 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStatisticsDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStatisticsDAODbFacadeImpl.java @@ -51,6 +51,7 @@ entity.setHighlyAvailableIsActive(rs.getBoolean("ha_active")); entity.setHighlyAvailableGlobalMaintenance(rs.getBoolean("ha_global_maintenance")); entity.setHighlyAvailableLocalMaintenance(rs.getBoolean("ha_local_maintenance")); + entity.setUptime(rs.getLong("uptime")); return entity; } } @@ -90,7 +91,8 @@ .addValue("ha_configured", stats.getHighlyAvailableIsConfigured()) .addValue("ha_active", stats.getHighlyAvailableIsActive()) .addValue("ha_global_maintenance", stats.getHighlyAvailableGlobalMaintenance()) - .addValue("ha_local_maintenance", stats.getHighlyAvailableLocalMaintenance()); + .addValue("ha_local_maintenance", stats.getHighlyAvailableLocalMaintenance()) + .addValue("uptime", stats.getUptime()); getCallsHandler().executeModification("InsertVdsStatistics", parameterSource); } @@ -120,7 +122,8 @@ .addValue("ha_configured", stats.getHighlyAvailableIsConfigured()) .addValue("ha_active", stats.getHighlyAvailableIsActive()) .addValue("ha_global_maintenance", stats.getHighlyAvailableGlobalMaintenance()) - .addValue("ha_local_maintenance", stats.getHighlyAvailableLocalMaintenance()); + .addValue("ha_local_maintenance", stats.getHighlyAvailableLocalMaintenance()) + .addValue("uptime", stats.getUptime()); getCallsHandler().executeModification("UpdateVdsStatistics", parameterSource); } diff --git a/packaging/dbscripts/create_views.sql b/packaging/dbscripts/create_views.sql index 448e9f0..226fd19 100644 --- a/packaging/dbscripts/create_views.sql +++ b/packaging/dbscripts/create_views.sql @@ -731,7 +731,7 @@ vds_dynamic.hw_serial_number as hw_serial_number, vds_dynamic.hw_uuid as hw_uuid, vds_dynamic.hw_family as hw_family, vds_static.console_address as console_address, vds_dynamic.hbas as hbas, vds_dynamic.supported_emulated_machines as supported_emulated_machines, vds_static.ssh_port as ssh_port, vds_static.ssh_username as ssh_username, vds_statistics.ha_score as ha_score, vds_statistics.ha_configured as ha_configured, vds_statistics.ha_active as ha_active, vds_statistics.ha_global_maintenance as ha_global_maintenance, - vds_statistics.ha_local_maintenance as ha_local_maintenance, vds_static.disable_auto_pm as disable_auto_pm, vds_dynamic.controlled_by_pm_policy as controlled_by_pm_policy + vds_statistics.ha_local_maintenance as ha_local_maintenance, vds_static.disable_auto_pm as disable_auto_pm, vds_dynamic.controlled_by_pm_policy as controlled_by_pm_policy, vds_statistics.uptime as uptime FROM vds_groups INNER JOIN vds_static ON vds_groups.vds_group_id = vds_static.vds_group_id INNER JOIN vds_dynamic ON vds_static.vds_id = vds_dynamic.vds_id INNER JOIN @@ -766,7 +766,7 @@ vds_statistics.usage_cpu_percent, vds_statistics.usage_network_percent, vds_statistics.mem_available, vds_statistics.mem_free, vds_statistics.mem_shared, vds_statistics.swap_free, vds_statistics.swap_total, vds_statistics.ksm_cpu_percent, vds_statistics.ksm_pages, vds_statistics.ksm_state, vds_dynamic.cpu_flags, vds_groups.cpu_name AS vds_group_cpu_name, - vds_dynamic.cpu_sockets, vds_spm_id_map.vds_spm_id, vds_static.otp_validity as otp_validity, vds_static.console_address as console_address, + vds_dynamic.cpu_sockets, vds_spm_id_map.vds_spm_id, vds_static.otp_validity as otp_validity, vds_static.console_address as console_address, vds_statistics.uptime as uptime, CASE WHEN storage_pool.spm_vds_id = vds_static.vds_id THEN CASE WHEN storage_pool.status = 5 THEN 1 ELSE 2 END ELSE 0 END AS spm_status, vds_dynamic.supported_cluster_levels, vds_dynamic.supported_engines, vds_groups.compatibility_version AS vds_group_compatibility_version, vds_dynamic.host_os, vds_dynamic.kvm_version, vds_dynamic.libvirt_version, diff --git a/packaging/dbscripts/vds_sp.sql b/packaging/dbscripts/vds_sp.sql index 1afb8d3..57c4805 100644 --- a/packaging/dbscripts/vds_sp.sql +++ b/packaging/dbscripts/vds_sp.sql @@ -29,14 +29,15 @@ v_ha_configured BOOLEAN, v_ha_active BOOLEAN, v_ha_global_maintenance BOOLEAN, - v_ha_local_maintenance BOOLEAN) + v_ha_local_maintenance BOOLEAN, + v_uptime BIGINT) RETURNS VOID AS $procedure$ BEGIN BEGIN -INSERT INTO vds_statistics(cpu_idle, cpu_load, cpu_sys, cpu_user, usage_cpu_percent, usage_mem_percent, usage_network_percent, vds_id, mem_available, mem_free, mem_shared,swap_free,swap_total,ksm_cpu_percent,ksm_pages,ksm_state, anonymous_hugepages, ha_score, ha_configured, ha_active, ha_global_maintenance, ha_local_maintenance) - VALUES(v_cpu_idle, v_cpu_load, v_cpu_sys, v_cpu_user, v_usage_cpu_percent, v_usage_mem_percent, v_usage_network_percent, v_vds_id, v_mem_available, v_mem_free, v_mem_shared,v_swap_free,v_swap_total,v_ksm_cpu_percent,v_ksm_pages,v_ksm_state, v_anonymous_hugepages, v_ha_score, v_ha_configured, v_ha_active, v_ha_global_maintenance, v_ha_local_maintenance); +INSERT INTO vds_statistics(cpu_idle, cpu_load, cpu_sys, cpu_user, usage_cpu_percent, usage_mem_percent, usage_network_percent, vds_id, mem_available, mem_free, mem_shared,swap_free,swap_total,ksm_cpu_percent,ksm_pages,ksm_state, anonymous_hugepages, ha_score, ha_configured, ha_active, ha_global_maintenance, ha_local_maintenance, uptime) + VALUES(v_cpu_idle, v_cpu_load, v_cpu_sys, v_cpu_user, v_usage_cpu_percent, v_usage_mem_percent, v_usage_network_percent, v_vds_id, v_mem_available, v_mem_free, v_mem_shared,v_swap_free,v_swap_total,v_ksm_cpu_percent,v_ksm_pages,v_ksm_state, v_anonymous_hugepages, v_ha_score, v_ha_configured, v_ha_active, v_ha_global_maintenance, v_ha_local_maintenance, v_uptime); END; RETURN; @@ -68,7 +69,8 @@ v_ha_configured BOOLEAN, v_ha_active BOOLEAN, v_ha_global_maintenance BOOLEAN, - v_ha_local_maintenance BOOLEAN) + v_ha_local_maintenance BOOLEAN, + v_uptime BIGINT) RETURNS VOID --The [vds_dynamic] table doesn't have a timestamp column. Optimistic concurrency logic cannot be generated @@ -85,7 +87,7 @@ ksm_pages = v_ksm_pages,ksm_state = v_ksm_state, anonymous_hugepages = v_anonymous_hugepages, ha_score = v_ha_score, ha_configured = v_ha_configured, ha_active = v_ha_active, ha_global_maintenance = v_ha_global_maintenance, ha_local_maintenance = v_ha_local_maintenance, - _update_date = LOCALTIMESTAMP + uptime = v_uptime, _update_date = LOCALTIMESTAMP WHERE vds_id = v_vds_id; END; -- To view, visit http://gerrit.ovirt.org/25832 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2f0bb08690718e9b6b6a8474d2f6be5f2e9eeeda Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tal Nisan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
