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

Reply via email to