mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	rebase to master
This commit is contained in:
		
							parent
							
								
									ff047e75d3
								
							
						
					
					
						commit
						0f532c4b3a
					
				| @ -19,7 +19,6 @@ package com.cloud.storage; | |||||||
| import java.util.Date; | import java.util.Date; | ||||||
| 
 | 
 | ||||||
| import com.cloud.hypervisor.Hypervisor.HypervisorType; | import com.cloud.hypervisor.Hypervisor.HypervisorType; | ||||||
| import com.cloud.utils.fsm.StateMachine2; |  | ||||||
| import com.cloud.utils.fsm.StateObject; | import com.cloud.utils.fsm.StateObject; | ||||||
| import org.apache.cloudstack.acl.ControlledEntity; | import org.apache.cloudstack.acl.ControlledEntity; | ||||||
| import org.apache.cloudstack.api.Identity; | import org.apache.cloudstack.api.Identity; | ||||||
| @ -55,6 +54,7 @@ public interface Snapshot extends ControlledEntity, Identity, InternalIdentity, | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public enum State { |     public enum State { | ||||||
|  |         Allocated, | ||||||
|         Creating, |         Creating, | ||||||
|         CreatedOnPrimary, |         CreatedOnPrimary, | ||||||
|         BackingUp, |         BackingUp, | ||||||
|  | |||||||
| @ -117,7 +117,7 @@ public class SnapshotVO implements Snapshot { | |||||||
|         this.snapshotType = snapshotType; |         this.snapshotType = snapshotType; | ||||||
|         this.typeDescription = typeDescription; |         this.typeDescription = typeDescription; | ||||||
|         this.size = size; |         this.size = size; | ||||||
|         this.state = State.Creating; |         this.state = State.Allocated; | ||||||
|         this.prevSnapshotId = 0; |         this.prevSnapshotId = 0; | ||||||
|         this.hypervisorType = hypervisorType; |         this.hypervisorType = hypervisorType; | ||||||
|         this.version = "2.2"; |         this.version = "2.2"; | ||||||
|  | |||||||
| @ -20,7 +20,7 @@ SnapshotStateMachineManager { | |||||||
|     @Inject |     @Inject | ||||||
|     protected SnapshotDao snapshotDao;  |     protected SnapshotDao snapshotDao;  | ||||||
| 	public SnapshotStateMachineManagerImpl() { | 	public SnapshotStateMachineManagerImpl() { | ||||||
| 		stateMachine.addTransition(null, Event.CreateRequested, Snapshot.State.Creating); | 		stateMachine.addTransition(Snapshot.State.Allocated, Event.CreateRequested, Snapshot.State.Creating); | ||||||
| 		stateMachine.addTransition(Snapshot.State.Creating, Event.OperationSucceeded, Snapshot.State.CreatedOnPrimary); | 		stateMachine.addTransition(Snapshot.State.Creating, Event.OperationSucceeded, Snapshot.State.CreatedOnPrimary); | ||||||
| 		stateMachine.addTransition(Snapshot.State.Creating, Event.OperationNotPerformed, Snapshot.State.BackedUp); | 		stateMachine.addTransition(Snapshot.State.Creating, Event.OperationNotPerformed, Snapshot.State.BackedUp); | ||||||
| 		stateMachine.addTransition(Snapshot.State.Creating, Event.OperationFailed, Snapshot.State.Error); | 		stateMachine.addTransition(Snapshot.State.Creating, Event.OperationFailed, Snapshot.State.Error); | ||||||
|  | |||||||
| @ -67,6 +67,9 @@ import com.cloud.utils.fsm.NoTransitionException; | |||||||
| import com.cloud.vm.UserVmVO; | import com.cloud.vm.UserVmVO; | ||||||
| import com.cloud.vm.VirtualMachine.State; | import com.cloud.vm.VirtualMachine.State; | ||||||
| import com.cloud.vm.dao.UserVmDao; | import com.cloud.vm.dao.UserVmDao; | ||||||
|  | import com.cloud.vm.snapshot.VMSnapshot; | ||||||
|  | import com.cloud.vm.snapshot.VMSnapshotVO; | ||||||
|  | import com.cloud.vm.snapshot.dao.VMSnapshotDao; | ||||||
| 
 | 
 | ||||||
| @Component | @Component | ||||||
| public class AncientSnasphotStrategy implements SnapshotStrategy { | public class AncientSnasphotStrategy implements SnapshotStrategy { | ||||||
| @ -103,6 +106,8 @@ public class AncientSnasphotStrategy implements SnapshotStrategy { | |||||||
| 	DataMotionService motionSrv; | 	DataMotionService motionSrv; | ||||||
| 	@Inject | 	@Inject | ||||||
| 	ObjectInDataStoreManager objInStoreMgr; | 	ObjectInDataStoreManager objInStoreMgr; | ||||||
|  | 	@Inject | ||||||
|  | 	VMSnapshotDao _vmSnapshotDao; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 	@Override | 	@Override | ||||||
|  | |||||||
| @ -28,6 +28,8 @@ import javax.inject.Inject; | |||||||
| import javax.naming.ConfigurationException; | import javax.naming.ConfigurationException; | ||||||
| 
 | 
 | ||||||
| import org.apache.cloudstack.api.command.user.vmsnapshot.ListVMSnapshotCmd; | import org.apache.cloudstack.api.command.user.vmsnapshot.ListVMSnapshotCmd; | ||||||
|  | import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; | ||||||
|  | import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; | ||||||
| import org.apache.log4j.Logger; | import org.apache.log4j.Logger; | ||||||
| import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||||
| 
 | 
 | ||||||
| @ -61,7 +63,7 @@ import com.cloud.projects.Project.ListProjectResourcesCriteria; | |||||||
| import com.cloud.storage.GuestOSVO; | import com.cloud.storage.GuestOSVO; | ||||||
| import com.cloud.storage.Snapshot; | import com.cloud.storage.Snapshot; | ||||||
| import com.cloud.storage.SnapshotVO; | import com.cloud.storage.SnapshotVO; | ||||||
| import com.cloud.storage.StoragePoolVO; | import com.cloud.storage.StoragePool; | ||||||
| import com.cloud.storage.VolumeVO; | import com.cloud.storage.VolumeVO; | ||||||
| import com.cloud.storage.dao.GuestOSDao; | import com.cloud.storage.dao.GuestOSDao; | ||||||
| import com.cloud.storage.dao.SnapshotDao; | import com.cloud.storage.dao.SnapshotDao; | ||||||
| @ -115,6 +117,7 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana | |||||||
|     @Inject StoragePoolDao _storagePoolDao; |     @Inject StoragePoolDao _storagePoolDao; | ||||||
|     @Inject SnapshotDao _snapshotDao; |     @Inject SnapshotDao _snapshotDao; | ||||||
|     @Inject VirtualMachineManager _itMgr; |     @Inject VirtualMachineManager _itMgr; | ||||||
|  |     @Inject DataStoreManager dataStoreMgr; | ||||||
|     @Inject ConfigurationDao _configDao; |     @Inject ConfigurationDao _configDao; | ||||||
|     int _vmSnapshotMax; |     int _vmSnapshotMax; | ||||||
|     StateMachine2<VMSnapshot.State, VMSnapshot.Event, VMSnapshot> _vmSnapshottateMachine ; |     StateMachine2<VMSnapshot.State, VMSnapshot.Event, VMSnapshot> _vmSnapshottateMachine ; | ||||||
| @ -393,7 +396,7 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana | |||||||
|         List<VolumeVO> volumeVos = _volumeDao.findByInstance(vmId); |         List<VolumeVO> volumeVos = _volumeDao.findByInstance(vmId); | ||||||
|          |          | ||||||
|         for (VolumeVO volume : volumeVos) { |         for (VolumeVO volume : volumeVos) { | ||||||
|             StoragePoolVO pool = _storagePoolDao.findById(volume.getPoolId()); |             StoragePool pool = (StoragePool)this.dataStoreMgr.getPrimaryDataStore(volume.getPoolId()); | ||||||
|             VolumeTO volumeTO = new VolumeTO(volume, pool); |             VolumeTO volumeTO = new VolumeTO(volume, pool); | ||||||
|             volumeTOs.add(volumeTO); |             volumeTOs.add(volumeTO); | ||||||
|         } |         } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user