Skip to content

Commit 57641d8

Browse files
author
Prasanna Santhanam
committed
Set all templates/volumes to Ready in the simulator
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
1 parent 0dc5b0d commit 57641d8

2 files changed

Lines changed: 23 additions & 23 deletions

File tree

client/tomcatconf/nonossComponentContext.xml.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,6 @@
183183

184184
-->
185185

186-
187186
<!--Motion Strategies-->
188187
<bean id="vmwareStorageMotionStrategy" class="org.apache.cloudstack.storage.motion.VmwareStorageMotionStrategy" />
189188
<bean id="dataMotionServiceImpl" class="org.apache.cloudstack.storage.motion.DataMotionServiceImpl">

plugins/storage/image/simulator/src/org/apache/cloudstack/storage/datastore/driver/SimulatorImageStoreDriverImpl.java

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,15 @@
2525
import com.cloud.agent.api.to.DataStoreTO;
2626
import com.cloud.agent.api.to.NfsTO;
2727
import com.cloud.storage.Storage;
28+
import com.cloud.storage.VMTemplateStorageResourceAssoc;
2829
import com.cloud.storage.VMTemplateVO;
2930
import com.cloud.storage.VolumeVO;
3031
import com.cloud.storage.dao.VMTemplateDao;
3132
import com.cloud.storage.dao.VolumeDao;
3233
import org.apache.cloudstack.engine.subsystem.api.storage.CreateCmdResult;
3334
import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
3435
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
36+
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
3537
import org.apache.cloudstack.framework.async.AsyncCallbackDispatcher;
3638
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
3739
import org.apache.cloudstack.framework.async.AsyncRpcContext;
@@ -41,6 +43,8 @@
4143
import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO;
4244
import org.apache.cloudstack.storage.image.BaseImageStoreDriverImpl;
4345
import org.apache.cloudstack.storage.image.store.ImageStoreImpl;
46+
import org.apache.cloudstack.storage.to.TemplateObjectTO;
47+
import org.apache.cloudstack.storage.to.VolumeObjectTO;
4448

4549
import javax.inject.Inject;
4650
import java.util.Date;
@@ -93,57 +97,54 @@ public void createAsync(DataObject data, AsyncCompletionCallback<CreateCmdResult
9397

9498
protected Void createTemplateAsyncCallback(AsyncCallbackDispatcher<SimulatorImageStoreDriverImpl, DownloadAnswer> callback,
9599
CreateContext<CreateCmdResult> context) {
96-
DownloadAnswer answer = callback.getResult();
97100
DataObject obj = context.data;
98101
DataStore store = obj.getDataStore();
102+
TemplateObjectTO templateTO = (TemplateObjectTO)context.data.getTO();
99103

100104
TemplateDataStoreVO tmpltStoreVO = _templateStoreDao.findByStoreTemplate(store.getId(), obj.getId());
101105
if (tmpltStoreVO != null) {
102106
TemplateDataStoreVO updateBuilder = _templateStoreDao.createForUpdate();
103-
updateBuilder.setDownloadPercent(answer.getDownloadPct());
104-
updateBuilder.setDownloadState(answer.getDownloadStatus());
107+
updateBuilder.setDownloadPercent(100);
108+
updateBuilder.setDownloadState(VMTemplateStorageResourceAssoc.Status.DOWNLOADED);
105109
updateBuilder.setLastUpdated(new Date());
106-
updateBuilder.setErrorString(answer.getErrorString());
107-
updateBuilder.setJobId(answer.getJobId());
108-
updateBuilder.setLocalDownloadPath(answer.getDownloadPath());
109-
updateBuilder.setInstallPath(answer.getInstallPath());
110-
updateBuilder.setSize(answer.getTemplateSize());
111-
updateBuilder.setPhysicalSize(answer.getTemplatePhySicalSize());
110+
updateBuilder.setSize(new Long(5 * 1024L * 1024L));
111+
updateBuilder.setPhysicalSize(new Long(5 * 1024L * 1024L));
112+
updateBuilder.setDownloadUrl(templateTO.getOrigUrl());
113+
updateBuilder.setInstallPath(templateTO.getPath());
114+
updateBuilder.setTemplateId(templateTO.getId());
115+
updateBuilder.setState(ObjectInDataStoreStateMachine.State.Ready);
112116
_templateStoreDao.update(tmpltStoreVO.getId(), updateBuilder);
113117
// update size in vm_template table
114118
VMTemplateVO tmlptUpdater = _templateDao.createForUpdate();
115-
tmlptUpdater.setSize(answer.getTemplateSize());
119+
tmlptUpdater.setSize(new Long(5 * 1024l * 1024l));
116120
_templateDao.update(obj.getId(), tmlptUpdater);
117121
}
118-
119122
return null;
120123
}
121124

122125
protected Void createVolumeAsyncCallback(AsyncCallbackDispatcher<SimulatorImageStoreDriverImpl, DownloadAnswer> callback,
123126
CreateContext<CreateCmdResult> context) {
124-
DownloadAnswer answer = callback.getResult();
125127
DataObject obj = context.data;
126128
DataStore store = obj.getDataStore();
129+
VolumeObjectTO volumeTO = (VolumeObjectTO) context.data.getTO();
127130

128131
VolumeDataStoreVO volStoreVO = _volumeStoreDao.findByStoreVolume(store.getId(), obj.getId());
129132
if (volStoreVO != null) {
130133
VolumeDataStoreVO updateBuilder = _volumeStoreDao.createForUpdate();
131-
updateBuilder.setDownloadPercent(answer.getDownloadPct());
132-
updateBuilder.setDownloadState(answer.getDownloadStatus());
134+
updateBuilder.setDownloadPercent(100);
135+
updateBuilder.setDownloadState(VMTemplateStorageResourceAssoc.Status.DOWNLOADED);
133136
updateBuilder.setLastUpdated(new Date());
134-
updateBuilder.setErrorString(answer.getErrorString());
135-
updateBuilder.setJobId(answer.getJobId());
136-
updateBuilder.setLocalDownloadPath(answer.getDownloadPath());
137-
updateBuilder.setInstallPath(answer.getInstallPath());
138-
updateBuilder.setSize(answer.getTemplateSize());
139-
updateBuilder.setPhysicalSize(answer.getTemplatePhySicalSize());
137+
updateBuilder.setInstallPath(volumeTO.getPath());
138+
updateBuilder.setVolumeId(volumeTO.getVolumeId());
139+
updateBuilder.setSize(volumeTO.getSize());
140+
updateBuilder.setPhysicalSize(volumeTO.getSize());
141+
updateBuilder.setState(ObjectInDataStoreStateMachine.State.Ready);
140142
_volumeStoreDao.update(volStoreVO.getId(), updateBuilder);
141143
// update size in volume table
142144
VolumeVO volUpdater = _volumeDao.createForUpdate();
143-
volUpdater.setSize(answer.getTemplateSize());
145+
volUpdater.setSize(volumeTO.getSize());
144146
_volumeDao.update(obj.getId(), volUpdater);
145147
}
146-
147148
return null;
148149
}
149150
}

0 commit comments

Comments
 (0)