Moti Asayag has uploaded a new change for review.

Change subject: engine: Add guestAgentNicHash property to VmDynamic
......................................................................

engine: Add guestAgentNicHash property to VmDynamic

The patch adds a property to VmDynamic named guestAgentNicHash.
It will be used to detect a change in the reported guest
agent network devices so updates for these devices will be done
only if their hash was changed.

Change-Id: I92cd79f66f7032214eaed595dd7ac9a8980a9707
Signed-off-by: Moti Asayag <masa...@redhat.com>
---
M backend/manager/dbscripts/create_views.sql
A 
backend/manager/dbscripts/upgrade/03_02_0090_add_nic_hash_column_to_vm_dynamic.sql
M backend/manager/dbscripts/vms_sp.sql
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDynamic.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
M backend/manager/modules/dal/src/test/resources/fixtures.xml
8 files changed, 39 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/10229/1

diff --git a/backend/manager/dbscripts/create_views.sql 
b/backend/manager/dbscripts/create_views.sql
index e7903c4..8704222 100644
--- a/backend/manager/dbscripts/create_views.sql
+++ b/backend/manager/dbscripts/create_views.sql
@@ -531,7 +531,7 @@
                       vm_templates.description as vmt_description, 
vm_dynamic.status as status, vm_dynamic.vm_ip as vm_ip, vm_dynamic.vm_host as 
vm_host,
                       vm_dynamic.vm_pid as vm_pid, vm_dynamic.last_start_time 
as last_start_time, vm_dynamic.guest_cur_user_name as guest_cur_user_name,
                       vm_dynamic.guest_last_login_time as 
guest_last_login_time, vm_dynamic.guest_cur_user_id as guest_cur_user_id, 
vm_dynamic.guest_last_logout_time as guest_last_logout_time, 
vm_dynamic.guest_os as guest_os,
-                      vm_dynamic.console_user_id as console_user_id,
+                      vm_dynamic.console_user_id as console_user_id, 
vm_dynamic.guest_agent_nic_hash as guest_agent_nic_hash,
                       vm_dynamic.run_on_vds as run_on_vds, 
vm_dynamic.migrating_to_vds as migrating_to_vds, vm_dynamic.app_list as 
app_list, vm_dynamic.display as display, vm_dynamic.hibernation_vol_handle as 
hibernation_vol_handle,
                       vm_pool_map_view.vm_pool_name as vm_pool_name, 
vm_pool_map_view.vm_pool_id as vm_pool_id, vm_static.vm_guid as vm_guid, 
vm_static.num_of_monitors as num_of_monitors, vm_static.allow_console_reconnect 
as allow_console_reconnect, vm_static.is_initialized as is_initialized,
                       vm_static.is_auto_suspend as is_auto_suspend, 
vm_static.num_of_sockets as num_of_sockets, vm_static.cpu_per_socket as 
cpu_per_socket, vm_static.usb_policy as usb_policy, vm_dynamic.acpi_enable as 
acpi_enable, vm_dynamic.session as session,
diff --git 
a/backend/manager/dbscripts/upgrade/03_02_0090_add_nic_hash_column_to_vm_dynamic.sql
 
b/backend/manager/dbscripts/upgrade/03_02_0090_add_nic_hash_column_to_vm_dynamic.sql
new file mode 100644
index 0000000..1749afb
--- /dev/null
+++ 
b/backend/manager/dbscripts/upgrade/03_02_0090_add_nic_hash_column_to_vm_dynamic.sql
@@ -0,0 +1,2 @@
+select fn_db_add_column('vm_dynamic', 'guest_agent_nic_hash', 'integer');
+
diff --git a/backend/manager/dbscripts/vms_sp.sql 
b/backend/manager/dbscripts/vms_sp.sql
index fa85a45..44c6901 100644
--- a/backend/manager/dbscripts/vms_sp.sql
+++ b/backend/manager/dbscripts/vms_sp.sql
@@ -122,12 +122,13 @@
        v_hibernation_vol_handle VARCHAR(255) ,
        v_exit_status INTEGER,
        v_pause_status INTEGER,
-       v_exit_message VARCHAR(4000))
+       v_exit_message VARCHAR(4000),
+       v_guest_agent_nic_hash INTEGER)
 RETURNS VOID
    AS $procedure$
 BEGIN
-INSERT INTO vm_dynamic(app_list,       guest_cur_user_id, guest_cur_user_name, 
guest_last_login_time, guest_last_logout_time, console_user_id, guest_os, 
migrating_to_vds, RUN_ON_VDS, status, vm_guid, vm_host, vm_ip, last_start_time, 
vm_pid, display, acpi_enable, session, display_ip, display_type, kvm_enable, 
boot_sequence, display_secure_port, utc_diff, last_vds_run_on, client_ip, 
guest_requested_memory, 
hibernation_vol_handle,exit_status,pause_status,exit_message)
-       VALUES(v_app_list, v_guest_cur_user_id, v_guest_cur_user_name, 
v_guest_last_login_time, v_guest_last_logout_time, v_console_user_id, 
v_guest_os, v_migrating_to_vds, v_run_on_vds, v_status, v_vm_guid, v_vm_host, 
v_vm_ip, v_last_start_time, v_vm_pid, v_display, v_acpi_enable, v_session, 
v_display_ip, v_display_type, v_kvm_enable, v_boot_sequence, 
v_display_secure_port, v_utc_diff, v_last_vds_run_on, v_client_ip, 
v_guest_requested_memory, v_hibernation_vol_handle, v_exit_status, 
v_pause_status, v_exit_message);
+INSERT INTO vm_dynamic(app_list,       guest_cur_user_id, guest_cur_user_name, 
guest_last_login_time, guest_last_logout_time, console_user_id, guest_os, 
migrating_to_vds, RUN_ON_VDS, status, vm_guid, vm_host, vm_ip, last_start_time, 
vm_pid, display, acpi_enable, session, display_ip, display_type, kvm_enable, 
boot_sequence, display_secure_port, utc_diff, last_vds_run_on, client_ip, 
guest_requested_memory, 
hibernation_vol_handle,exit_status,pause_status,exit_message, 
guest_agent_nic_hash)
+       VALUES(v_app_list, v_guest_cur_user_id, v_guest_cur_user_name, 
v_guest_last_login_time, v_guest_last_logout_time, v_console_user_id, 
v_guest_os, v_migrating_to_vds, v_run_on_vds, v_status, v_vm_guid, v_vm_host, 
v_vm_ip, v_last_start_time, v_vm_pid, v_display, v_acpi_enable, v_session, 
v_display_ip, v_display_type, v_kvm_enable, v_boot_sequence, 
v_display_secure_port, v_utc_diff, v_last_vds_run_on, v_client_ip, 
v_guest_requested_memory, v_hibernation_vol_handle, v_exit_status, 
v_pause_status, v_exit_message, v_guest_agent_nic_hash);
 END; $procedure$
 LANGUAGE plpgsql;
 
@@ -166,7 +167,8 @@
        v_exit_status INTEGER,
        v_pause_status INTEGER,
        v_exit_message VARCHAR(4000),
-        v_hash VARCHAR(30))
+        v_hash VARCHAR(30),
+    v_guest_agent_nic_hash INTEGER)
 RETURNS VOID
 
        --The [vm_dynamic] table doesn't have a timestamp column. Optimistic 
concurrency logic cannot be generated
@@ -187,7 +189,7 @@
       utc_diff = v_utc_diff,last_vds_run_on = v_last_vds_run_on,client_ip = 
v_client_ip,
       guest_requested_memory = v_guest_requested_memory,
       hibernation_vol_handle = v_hibernation_vol_handle,exit_status = 
v_exit_status,
-      pause_status = v_pause_status,exit_message = v_exit_message, hash=v_hash
+      pause_status = v_pause_status,exit_message = v_exit_message, 
hash=v_hash, guest_agent_nic_hash = v_guest_agent_nic_hash
       WHERE vm_guid = v_vm_guid;
 END; $procedure$
 LANGUAGE plpgsql;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java
index 1acaf7e..be0d039 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java
@@ -717,6 +717,14 @@
         vmDynamic.setHash(hash);
     }
 
+    public int getGuestAgentNicHash() {
+        return vmDynamic.getGuestAgentNicHash();
+    }
+
+    public void setGuestAgentNicHash(int guestAgentNicHash) {
+        vmDynamic.setGuestAgentNicHash(guestAgentNicHash);
+    }
+
     public Double getCpuUser() {
         return this.vmStatistics.getcpu_user();
     }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDynamic.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDynamic.java
index 7f32ba6..60c27c3 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDynamic.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDynamic.java
@@ -127,6 +127,8 @@
     @Column(name = "hash")
     private String hash;
 
+    private int guestAgentNicHash;
+
     @Column(name = "exit_message")
     private String mExitMessage;
 
@@ -434,6 +436,15 @@
     public void setHash(String hash) {
         this.hash = hash;
     }
+
+    public int getGuestAgentNicHash() {
+        return guestAgentNicHash;
+    }
+
+    public void setGuestAgentNicHash(int guestAgentNicHash) {
+        this.guestAgentNicHash = guestAgentNicHash;
+    }
+
     public boolean getWin2kHackEnable() {
         return mWin2kHackEnable;
     }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
index cbfa3c4..9995301 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
@@ -222,7 +222,8 @@
                 .addValue("userdefined_properties",
                         vm.getUserDefinedProperties())
                 .addValue("min_allocated_mem", vm.getMinAllocatedMem())
-                .addValue("cpu_pinning", vm.getCpuPinning()));
+                .addValue("cpu_pinning", vm.getCpuPinning())
+                .addValue("guest_agent_nic_hash", vm.getGuestAgentNicHash()));
     }
 
     @Override
@@ -348,6 +349,7 @@
             entity.setMinAllocatedMem(rs.getInt("min_allocated_mem"));
             entity.setHash(rs.getString("hash"));
             entity.setCpuPinning(rs.getString("cpu_pinning"));
+            entity.setGuestAgentNicHash(rs.getInt("guest_agent_nic_hash"));
             return entity;
         }
     }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
index 074d31f..7cccc5c 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
@@ -105,7 +105,8 @@
                 .addValue("exit_status", vm.getExitStatus().getValue())
                 .addValue("pause_status", vm.getPauseStatus().getValue())
                 .addValue("exit_message", vm.getExitMessage())
-                .addValue("hash", vm.getHash());
+                .addValue("hash", vm.getHash())
+                .addValue("guest_agent_nic_hash", vm.getGuestAgentNicHash());
     }
 
     @Override
@@ -165,6 +166,7 @@
                 entity.setExitStatus(exitStatus);
                 entity.setPauseStatus(pauseStatus);
                 entity.setHash(rs.getString("hash"));
+                entity.setGuestAgentNicHash(rs.getInt("guest_agent_nic_hash"));
                 return entity;
             }
         };
diff --git a/backend/manager/modules/dal/src/test/resources/fixtures.xml 
b/backend/manager/modules/dal/src/test/resources/fixtures.xml
index 8b57cf0..7507e83 100644
--- a/backend/manager/modules/dal/src/test/resources/fixtures.xml
+++ b/backend/manager/modules/dal/src/test/resources/fixtures.xml
@@ -1551,6 +1551,7 @@
         <column>exit_status</column>
         <column>pause_status</column>
         <column>exit_message</column>
+        <column>guest_agent_nic_hash</column>
         <row>
             <value>77296e00-0cad-4e5a-9299-008a7b6f4356</value>
             <value>5</value>
@@ -1583,6 +1584,7 @@
             <value>0</value>
             <value>0</value>
             <null />
+            <null/>
         </row>
         <row>
             <value>77296e00-0cad-4e5a-9299-008a7b6f4355</value>
@@ -1616,6 +1618,7 @@
             <value>0</value>
             <value>0</value>
             <null />
+            <value>0</value>
         </row>
         <row>
             <value>77296e00-0cad-4e5a-9299-008a7b6f4354</value>
@@ -1649,6 +1652,7 @@
             <value>0</value>
             <value>0</value>
             <null />
+            <value>3452354</value>
         </row>
     </table>
 


--
To view, visit http://gerrit.ovirt.org/10229
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I92cd79f66f7032214eaed595dd7ac9a8980a9707
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Moti Asayag <masa...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to