Yair Zaslavsky has uploaded a new change for review.

Change subject: core: adding storage_pool_id and task type fields to async_tasks
......................................................................

core: adding storage_pool_id and task type fields to async_tasks

For purpose of upgrade from 3.1 -> 3.2 to present running
tasks information during upgrade.

Change-Id: I23cc8694c17471d38f5e24f26f77c78a7b3b1034
Bug-Url: https://bugzilla.redhat.com/868672
Signed-off-by: Yair Zaslavsky <[email protected]>
---
M backend/manager/dbscripts/async_tasks_sp.sql
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AsyncTaskFactory.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/async_tasks.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java
M backend/manager/modules/dal/src/test/resources/fixtures.xml
7 files changed, 62 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/50/8750/1

diff --git a/backend/manager/dbscripts/async_tasks_sp.sql 
b/backend/manager/dbscripts/async_tasks_sp.sql
index aa36535..e301260 100644
--- a/backend/manager/dbscripts/async_tasks_sp.sql
+++ b/backend/manager/dbscripts/async_tasks_sp.sql
@@ -11,12 +11,14 @@
        v_command_id UUID,
         v_entity_type varchar(128),
         v_started_at timestamp,
+       v_storage_pool_id UUID,
+       v_async_task_type INTEGER,
         v_entity_ids text)
 RETURNS VOID
    AS $procedure$
 BEGIN
-INSERT INTO async_tasks(action_type, result, status, task_id, 
action_parameters,action_params_class, step_id, command_id, started_at)
-       VALUES(v_action_type, v_result, v_status, v_task_id, 
v_action_parameters,v_action_params_class, v_step_id, v_command_id, 
v_started_at);
+INSERT INTO async_tasks(action_type, result, status, task_id, 
action_parameters,action_params_class, step_id, command_id, 
started_at,storage_pool_id, task_type)
+       VALUES(v_action_type, v_result, v_status, v_task_id, 
v_action_parameters,v_action_params_class, v_step_id, v_command_id, 
v_started_at, v_storage_pool_id, v_async_task_type);
 INSERT INTO async_tasks_entities (async_task_id,entity_id,entity_type)
        SELECT v_task_id,id,v_entity_type from fnsplitteruuid(v_entity_ids);
 END; $procedure$
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AsyncTaskFactory.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AsyncTaskFactory.java
index 71cfa3a..0564cad 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AsyncTaskFactory.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AsyncTaskFactory.java
@@ -35,7 +35,7 @@
                             creationInfo.getTaskID(),
                             new VdcActionParametersBase(),
                             creationInfo.getStepId(),
-                            asyncTask == null ? Guid.NewGuid() : 
asyncTask.getCommandId());
+                            asyncTask == null ? Guid.NewGuid() : 
asyncTask.getCommandId(),creationInfo.getStoragePoolID(),creationInfo.getTaskType());
             creationInfo.setTaskType(AsyncTaskType.unknown);
         }
         AsyncTaskParameters asyncTaskParams = new 
AsyncTaskParameters(creationInfo, asyncTask);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
index 2dbac35..ceff93c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
@@ -1114,7 +1114,8 @@
                         asyncTaskCreationInfo.getTaskID(),
                         parametersForTask,
                         asyncTaskCreationInfo.getStepId(),
-                        getCommandId()));
+                        
getCommandId(),asyncTaskCreationInfo.getStoragePoolID(),
+                        asyncTaskCreationInfo.getTaskType()));
         p.setEntityId(getParameters().getEntityId());
         return AsyncTaskManager.getInstance().CreateTask(getTaskType(), p);
     }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/async_tasks.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/async_tasks.java
index 6f7ddb5..851e4da 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/async_tasks.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/async_tasks.java
@@ -15,6 +15,7 @@
 import org.hibernate.annotations.TypeDef;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
+import org.ovirt.engine.core.common.asynctasks.AsyncTaskType;
 import org.ovirt.engine.core.common.businessentities.mapping.GuidType;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.NGuid;
@@ -25,11 +26,13 @@
 public class async_tasks implements Serializable {
     private static final long serialVersionUID = 5913365704117183118L;
 
+
+
     public async_tasks() {
     }
 
     public async_tasks(VdcActionType action_type, AsyncTaskResultEnum result, 
AsyncTaskStatusEnum status, Guid task_id,
-            VdcActionParametersBase action_parameters, NGuid stepId, Guid 
commandId) {
+            VdcActionParametersBase action_parameters, NGuid stepId, Guid 
commandId, Guid storagePoolId, AsyncTaskType taskType) {
         this.actionType = action_type;
         this.result = result;
         this.status = status;
@@ -38,6 +41,8 @@
         this.stepId = stepId;
         this.startTime = new Date();
         this.commandId = commandId;
+        this.storagePoolId = storagePoolId;
+        this.taskType = taskType;
     }
 
     @Column(name = "action_type", nullable = false)
@@ -136,6 +141,26 @@
         this.commandId = commandId;
     }
 
+    public Guid getStoragePoolId() {
+        return storagePoolId;
+    }
+
+    public void setStoragePoolId(Guid storagePoolId) {
+        this.storagePoolId = storagePoolId;
+    }
+
+    private Guid storagePoolId;
+
+    public AsyncTaskType getTaskType() {
+        return taskType;
+    }
+
+    public void setTaskType(AsyncTaskType taskType) {
+        this.taskType = taskType;
+    }
+
+    private AsyncTaskType taskType;
+
     @Override
     public int hashCode() {
         final int prime = 31;
@@ -148,6 +173,9 @@
         results = prime * results + ((stepId == null) ? 0 : stepId.hashCode());
         results = prime * results + ((commandId == null) ? 0 : 
commandId.hashCode());
         results =  prime * results + ((startTime == null) ? 0 : 
startTime.hashCode());
+        results = prime * results + ((storagePoolId == null) ? 0 : 
storagePoolId.hashCode());
+        results = prime * results + ((taskType == null) ? 0 : 
taskType.hashCode());
+
         return results;
     }
 
@@ -197,6 +225,20 @@
         } else if (!startTime.equals(other.startTime)) {
             return false;
         }
+        if (storagePoolId == null) {
+            if (other.storagePoolId != null) {
+                return false;
+            }
+        } else if (!storagePoolId.equals(other.storagePoolId)) {
+            return false;
+        }
+        if (taskType == null) {
+            if (other.taskType != null) {
+                return false;
+            }
+        } else if (!taskType.equals(other.taskType)) {
+            return false;
+        }
 
         return true;
     }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
index f7e320a..71916f8 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/AsyncTaskDAODbFacadeImpl.java
@@ -9,6 +9,7 @@
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
+import org.ovirt.engine.core.common.asynctasks.AsyncTaskType;
 import org.ovirt.engine.core.common.businessentities.AsyncTaskResultEnum;
 import org.ovirt.engine.core.common.businessentities.AsyncTaskStatusEnum;
 import org.ovirt.engine.core.common.businessentities.async_tasks;
@@ -57,6 +58,7 @@
             
entity.setStepId(NGuid.createGuidFromString(rs.getString("step_id")));
             
entity.setCommandId(Guid.createGuidFromString(rs.getString("command_id")));
             
entity.setStartTime(DbFacadeUtils.fromDate(rs.getTimestamp("started_at")));
+            entity.setTaskType(AsyncTaskType.forValue(rs.getInt("task_type")));
             return entity;
         }
 
@@ -117,6 +119,8 @@
         AsyncTaskParameterSource parameterSource = 
getTaskParameterSource(task);
         parameterSource.addValue("entity_type", (entityType != null) ? 
entityType.toString() : null);
         parameterSource.addValue("started_at", task.getStartTime());
+        parameterSource.addValue("storage_pool_id",task.getStoragePoolId());
+        parameterSource.addValue("async_task_type", task.getTaskType());
         parameterSource.addValue("entity_ids", StringUtils.join(entityIds, 
","));
         getCallsHandler().executeModification("Insertasync_tasks", 
parameterSource);
     }
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java
index fbdbc48..e5d5292 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java
@@ -14,6 +14,7 @@
 import org.ovirt.engine.core.common.action.AddDiskParameters;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
+import org.ovirt.engine.core.common.asynctasks.AsyncTaskType;
 import org.ovirt.engine.core.common.businessentities.AsyncTaskResultEnum;
 import org.ovirt.engine.core.common.businessentities.AsyncTaskStatusEnum;
 import org.ovirt.engine.core.common.businessentities.async_tasks;
@@ -52,6 +53,7 @@
         newAsyncTask.setresult(AsyncTaskResultEnum.success);
         newAsyncTask.setaction_parameters(params);
         newAsyncTask.setCommandId(Guid.NewGuid());
+        newAsyncTask.setTaskType(AsyncTaskType.copyImage);
 
         existingAsyncTask = dao.get(FixturesTool.EXISTING_TASK_ID);
     }
diff --git a/backend/manager/modules/dal/src/test/resources/fixtures.xml 
b/backend/manager/modules/dal/src/test/resources/fixtures.xml
index eb540a6..da4ec64 100644
--- a/backend/manager/modules/dal/src/test/resources/fixtures.xml
+++ b/backend/manager/modules/dal/src/test/resources/fixtures.xml
@@ -39,6 +39,8 @@
         <column>action_parameters</column>
         <column>command_id</column>
         <column>started_at</column>
+        <column>storage_pool_id</column>
+        <column>task_type</column>
         <row>
             <value>340fd52b-3400-4cdd-8d3f-c9d03704b0aa</value>
             <value>1</value> <!--  Add VM -->
@@ -47,6 +49,8 @@
             <null />
             <value>340fd52b-3400-4cdd-8d3f-c9d03704b0aa</value>
             <value>2010-12-01 14:13:07</value>
+            <value>6d849ebf-755f-4552-ad09-9a090cda105d</value>
+            <value>3</value>
         </row>
         <row>
             <value>340fd52b-3400-4cdd-8d3f-c9d03704b0ab</value>
@@ -56,6 +60,8 @@
             <null />
             <value>340fd52b-3400-4cdd-8d3f-c9d03704b0ab</value>
             <value>2010-12-01 14:13:07</value>
+            <value>6d849ebf-755f-4552-ad09-9a090cda105d</value>
+            <value>3</value>
         </row>
     </table>
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I23cc8694c17471d38f5e24f26f77c78a7b3b1034
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yair Zaslavsky <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to