Commit Graph

486 Commits

Author SHA1 Message Date
Darren Shepherd f62e28c1ec New Transaction API
Introduction of a new Transaction API that is more consistent with the style
of Spring's transaction managment.  The existing Transaction class was renamed
to TransactionLegacy.  All of the non-DAO code in the management server has been
updated to use the new Transaction API.
2013-10-16 09:21:00 -07:00
Chris Suich aad1cda7e0 Added categorized sorting to SnapshotStrategy and DataMotionStrategy 2013-10-14 15:20:42 -07:00
Chris Suich 350c94474b Updates to revertSnapshot API Added revertSnapshot API action to UI 2013-10-14 15:19:51 -07:00
Darren Shepherd 7c72aa96da ConcurrentHashMap will through NPE on null key 2013-10-04 16:56:48 -07:00
Edison Su a129fe4e66 add missing files 2013-10-04 14:17:49 -07:00
Chris Suich 180cfa19e8 Refactor Storage Related Resource Code
These changes are a joint effort between Edison and I to refactor some
of the code around snapshotting VM volumes and creating
templates/volumes from VM volume snapshots. In general, we were working
towards allowing PrimaryDataStoreDrivers to create snapshots on primary
storage and not requiring the snapshots to be transferred to secondary
storage.

High level changes:
-Added uuid to NfsTO, SwiftTO & S3TO to cut down on the requirement of
PrimaryDataStoreTO and ImageStoreTO which don't really serve much of a
purpose
-Initial work towards enable reverting VM volume from snapshots
-Added hypervisor commands for introducing and forgetting new hypervisor
objects (snapshots, templates & volumes)

Signed-off-by: Edison Su <sudison@gmail.com>
2013-10-04 13:06:42 -07:00
Darren Shepherd c9a9a3b7b3 Make SnapshotStrategy and DataMotionStrategy discovered and registered 2013-10-03 17:03:28 -07:00
Hugo Trippaers 3f583684c6 Temporary fix for the chicken and egg problem when making changes to the configuration database. 2013-10-03 12:36:34 +02:00
Darren Shepherd 67186429e1 Spring Modularization
ACS is now comprised of a hierarchy of spring application contexts.
Each plugin can contribute configuration files to add to an existing
module or create it's own module.

Additionally, for the mgmt server, ACS custom AOP is no longer used
and instead we use Spring AOP to manage interceptors.
2013-10-02 15:41:04 -07:00
Darren Shepherd aed5e9dc2a Add Manage Context framework
The managed context framework provides a simple way to add logic
to ACS at the various entry points of the system.  As threads are
launched and ran listeners can be registered for onEntry or onLeave
of the managed context.  This framework will be used specifically
to handle DB transaction checking and setting up the CallContext.
This framework is need to transition away from ACS custom AOP to
Spring AOP.
2013-10-02 13:09:52 -07:00
Alex Huang b60eef3e82 Added comments and finished off the work 2013-09-28 07:53:28 -07:00
Alex Huang e8cac2c5d8 Changed SearchCriteria2 to GenericQueryBuilder to reflect the same placement 2013-09-28 07:53:26 -07:00
Alex Huang e2988902c9 Changed SearchCriteria2 to GenericQueryBuilder to reflect the same placement 2013-09-28 07:53:25 -07:00
Alex Huang a964cf549e Continue to merge SearchCriteria2 and GenericSearchBuilder 2013-09-28 07:53:24 -07:00
Alex Huang af8832f6bd Unified both the SearchBuilder and SearchCriteriaService 2013-09-28 07:53:24 -07:00
Edison Su 350e8938cf CLOUDSTACK-4754: it's a race condition: delete template, and deploy vm from the template happened at the same time, 2013-09-27 16:10:57 -07:00
Edison Su 9baa45308c CLOUDSTACK-4650: change volume state during snapshot only 2013-09-25 16:33:10 -07:00
Edison Su 2227eb191a CLOUDSTACK-3535: fix regression introduced in 5d9fa5d42e 2013-09-25 16:16:34 -07:00
Edison Su aa59b6f34d CLOUDSTACK-4507: fix NPE when taking snapshot 2013-09-25 16:09:00 -07:00
Edison Su f4dbf8786f CLOUDSTACK-4477: in order to select hypervisor host which can access storage pool, need to check storage_pool_host_ref
Conflicts:

	engine/storage/integration-test/test/org/apache/cloudstack/storage/test/DirectAgentManagerSimpleImpl.java
	engine/storage/integration-test/test/org/apache/cloudstack/storage/test/EndpointSelectorTest.java
	engine/storage/integration-test/test/org/apache/cloudstack/storage/test/FakeDriverTestConfiguration.java
2013-09-25 16:08:41 -07:00
Edison Su a82b179878 add table lock on snapshot, during taking snapshot
Conflicts:

	engine/storage/src/org/apache/cloudstack/storage/image/db/SnapshotDataStoreDaoImpl.java
2013-09-25 16:03:59 -07:00
Edison Su b5f7e307a1 CLOUDSTACK-4456:
CLOUDSTACK-4457:
CLOUDSTACK-4459:
harden kvm getvolume. It's possible that one volume created on other kvm host, won't show up on another host, try more times to refresh storage pool if volume won't shown up

Conflicts:

	engine/storage/integration-test/test/org/apache/cloudstack/storage/test/FakeDriverTestConfiguration.java
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
2013-09-25 16:01:45 -07:00
Edison Su 7b6aebc102 add test
Conflicts:

	engine/storage/integration-test/test/org/apache/cloudstack/storage/test/FakeDriverTestConfiguration.java
2013-09-25 15:58:46 -07:00
Edison Su b3ac12e171 delete snapshot_store_ref if the snapshot is in error state 2013-09-25 15:51:55 -07:00
Hugo Trippaers 15a97ec412 Cleanup pom.xml in various projects to properly use managed versions and other defaults 2013-09-21 17:21:06 +08:00
Min Chen 6fccd74ae8 CLOUDSTACK-4534:[object_store_refactor] Deleting uploaded volume is not
deleting the volume from backend.
2013-09-17 15:20:20 -07:00
Min Chen a20097b967 CLOUDSTACK-4534:[object_store_refactor] Deleting uploaded volume is not
deleting the volume from backend.
2013-09-11 10:25:57 -07:00
Donal Lafferty e958f22ff3 CIFS support for secondary storage is documented here: https://cwiki.apache.org/confluence/display/CLOUDSTACK/CIFS+Support
It was implemented by extending the NFS provider. Its validation was updated so that you can pass it a URL containing the
details of a CIFS share.  The code that mounts NFS shares was extended to allow it do the same for CIFS shares.  Otherwise,
the secondary storage code is left unchanged.
2013-09-11 14:23:29 +05:30
Min Chen 16a1f150eb CLOUDSTACK-4628:[Automation] Failed to create template from snapshot
with same name; after deleting the first one.
2013-09-09 16:10:33 -07:00
Min Chen b11a8e12e8 CLOUDSTACK-4625:Snapshots and templates should be deleted from staging
storage after create template from snapshot on S3.
2013-09-06 17:48:40 -07:00
Alex Huang a05ec6df33 Fixed up the agent separation. Added comments for config packaging. 2013-09-06 15:40:39 -07:00
Alex Huang 1f5699b29f Fixed unit tests 2013-09-06 15:40:39 -07:00
Alex Huang 8f556e6d88 Made changes to configuration. Eliminated ConfigValue and only use ConfigKey 2013-09-06 15:40:38 -07:00
Alex Huang b8e79c30a8 Compile complete 2013-09-06 15:40:37 -07:00
Nitin Mehta 654c90f4e5 CLOUDSTACK-4327:
Check for the all the transition states for Maintenance. Also corrected the isMaintenance function for StoragePoolVo
Signed off by : nitin mehta<nitin.mehta@citrix.com>
2013-09-05 12:43:36 +05:30
Kelven Yang 281b94d587 CLOUDSTACK-4458: Volume attach/detach command needs to sent to hypervisor resource even when target VM is in Stopped state 2013-09-04 14:49:46 -07:00
Kelven Yang e3a5b3fad9 CLOUDSTACK-3237: acknowledge the behind-back VMDK disk consolidation happend in vCenter after storage live migration 2013-09-04 14:49:46 -07:00
Min Chen e92d46bfd4 CLOUDSTACK-4600:Registered Cross-zone template does not populate
template_zone_ref for later added zones.
2013-09-03 16:39:23 -07:00
Hugo Trippaers b220403e35 Fix EndpointSelectorTest, LockMasterListener is in the server package
for now.
2013-09-02 14:32:28 +02:00
Min Chen b0fc3114f4 Fix build error. 2013-08-28 12:18:21 -07:00
Min Chen 6a9caf7487 CLOUDSTACK-4430:[Automation][vmware] Failed to deploy vm, if one host is
down in a cluster.
2013-08-28 11:52:06 -07:00
Edison Su 7e7af7d6f4 CLOUDSTACK-4477: in order to select hypervisor host which can access storage pool, need to check storage_pool_host_ref 2013-08-28 16:03:19 +02:00
Min Chen 18b301edb9 CLOUDSTACK-4516:[Upgrade][VMWare]
MySQLIntegrityConstraintViolationException while performing any task
using local storage after upgrade from 3.0.7 to 4.2.
2013-08-27 14:13:59 -07:00
Wido den Hollander 79c366db2b CLOUDSTACK-1191: Re-enable deployment of SystemVMs on RBD
This was reverted by 0a5228922b unintentionnaly
but broke this feature for RBD.

Enable SystemVM deployment on RBD again
2013-08-27 17:05:08 +02:00
Alex Huang abbae2aa87 Fixed the problem with offerings and templates. These two items due to a previous patch all the way back in 2.1.x versions uses the removed column incorrectly. No one fixed since then. Hence, there's a bunch of findbyidincludingremoved calls in the cloudstack code around these two items. 2013-08-26 17:31:10 -07:00
Min Chen 49dd7289c0 CLOUDSTACK-4468:template created from snapshot is destroyed once we
restart management server.
2013-08-26 11:58:53 -07:00
Min Chen 0fdaef8e3d CLOUDSTACK-4455:object_store - Template sync results in private
templates being synced to all the secondary stores.
2013-08-22 16:02:47 -07:00
Min Chen 2611ac75c1 CLOUDSTACK-4454:object_store - Not able to delete secondary storage when
existing snapshots are deleted.
2013-08-22 16:02:31 -07:00
Min Chen e65a302f15 CLOUDSTACK-3950: add "regionsecondaryenabled" in listCapabilitiesCmd
response.
2013-08-20 15:59:46 -07:00
Min Chen 3bd2bbf59d CLOUDSTACK-3950:Set cross-zone flag in registerTemplate/registerIso in
case of region-wide secondary is enabled.
2013-08-20 14:13:49 -07:00
Min Chen c4f41f4a53 CLOUDSTACK-4395:[Object_store_refactor] Default template is not
available for use to deploy vm in case of multi zone environment.
2013-08-19 17:37:33 -07:00
Edison Su 4fd09cb344 CLOUDSTACK-4324: delete snapshot_store_ref, if create snapshot failed on primary storage 2013-08-19 15:26:18 -07:00
Edison Su 0040c4adef CLOUDSTACK-4363: fix possible NPE, if copy volume failed. 2013-08-19 15:25:20 -07:00
Edison Su 77e7ccbbe1 CLOUDSTACK-4325: add more test cases for zone wide storage pool allocator 2013-08-19 15:25:04 -07:00
Min Chen 3937a7b5a5 CLOUDSTACK-4400:[object_store_refactor] Three entries for one template
in template_store_ref when MS was restarting during template download.
2013-08-19 15:01:57 -07:00
Min Chen 5d3bc5339e CLOUDSTACK-4399:[Templates] template entries are deleted from
template_store_ref when downloadTemplate times out.
2013-08-19 11:27:16 -07:00
Min Chen ba4a05eed1 CLOUDSTACK-4287: Template sync should remove template_store_ref entry
for corrupted template.
2013-08-15 14:56:49 -07:00
Edison Su 81fedcfa3e CLOUDSTACK-4338: catch up exception in case of deleting volume in parallel: it's possible that two threads can delete one volume at the same time, if the volume state is in Expunging 2013-08-14 18:16:08 -07:00
Min Chen c675f826e5 CLOUDSTACK-4318:[Object_Store_Refactor] Failed to delete snapshot copied
to Staging storage during snapshot creation.
2013-08-14 18:12:53 -07:00
Edison Su 37d58313c9 CLOUDSTACK-4325: if userdispersing algorithm is used, then zone wide storages never been picked up 2013-08-14 15:52:55 -07:00
Edison Su 374de76dae CLOUDSTACK-4324: need to clean up snapshot_store_ref, if creating snapshot failed. 2013-08-14 14:59:19 -07:00
Min Chen 67beef15c9 CLOUDSTACK-3706:[Object_Store_Refactor] Failed to create template from
stopped guest vm's root disk.
2013-08-14 13:11:06 -07:00
Nitin Mehta efa861cd5c CLOUDSTACK-4287
Builtin template Ready Status is No even after the Status is downlaod complete. The reason was that template sync updates only the template download state but not the state. Fixing that. Ideally we should change the state through state machine only.
Signed off by : nitin mehta<nitin.mehta@citrix.com>
2013-08-14 18:43:47 +05:30
Kishan Kavala 21831211f6 CLOUDSTACK-4295 : TemplateTO should contain physical size along with virtual size. Usage ignores templates with size 0 2013-08-14 17:34:05 +05:30
Wido den Hollander 04f378bcff CLOUDSTACK-4114: Use RAW disk images for RBD instead of QCOW2 2013-08-13 16:14:45 +02:00
Hugo Trippaers d57796b94f Fix XML validation errors 2013-08-13 08:25:45 +02:00
Alex Huang de2bd96d98 Moved volume related code into cloud-engine-orchestration 2013-08-12 19:06:51 -07:00
Edison Su 9a89fd94fc CLOUDSTACK-4211: fix s3 on kvm 2013-08-12 17:20:09 -07:00
Min Chen 3efa2767a8 CLOUDSTACK-4204: return a ZoneScope in picking cache storage. 2013-08-09 18:14:01 -07:00
Min Chen fc7743773a CLOUDSTACK-4204:[Object_store_refactor] Snapshot created from volume in
zone2 is copying to secondary staging storages in zone1
2013-08-09 18:13:46 -07:00
Min Chen e018936dc4 CLOUDSTACK-4129: select SSVM based on ImageCache data store instead of
region wide image store.
2013-08-09 18:13:29 -07:00
Nitin Mehta ab5ea3febd CLOUDSTACK-4133
Introduce a global lock on template and pool id so that concurrent threads wont be inserting the same row in DB and hit MySQLIntegrityConstraintViolationException
Signed off by : nitin mehta<nitin.mehta@citrix.com>
2013-08-09 14:03:43 +05:30
Min Chen 99c3e4f3f5 CLOUDSTACK-4190: Add endpoint selector implementation for ImageCache
data store and also delete object from staging area for volume copy from
primary to secondary or vice versa.
2013-08-08 16:17:00 -07:00
Min Chen bf6961255a CLOUDSTACK-4190:[Object_store_refactor] volume should be deleted from
staging storage after successfule volume migration .
2013-08-08 16:16:36 -07:00
Alex Huang 5495f10bce Revert "Reverting the range of commits that broke the build"
This reverts commit b59e3aaefc.
2013-08-08 15:02:40 -07:00
Koushik Das 12ba37c8af CLOUDSTACK-4136: [upgraded ENV]Deleting Snapshot which was created before upgrade is throwing NPE.
Snapshot object is being accessed even when it is null. In case snapshot is not present in backup store the code should return after cleaning db entry.
Also noticed discrepancy in the upgraded db setup but couldn't fully verify it, so added logging in the upgrade logic for template/snapshots etc.
2013-08-08 15:13:08 +05:30
Prasanna Santhanam b59e3aaefc Reverting the range of commits that broke the build
This reverts commits 30c33415..f6a2c817bc

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-08-08 14:46:56 +05:30
Edison Su e851f4a930 CLOUDSTACK-4109: fix upload volume to s3 for vmware 2013-08-07 19:14:18 -07:00
Min Chen 98041dba46 CLOUDSTACK-4109:[Object_store_refactor] Extract volume failed with NPE. 2013-08-07 17:11:40 -07:00
Alex Huang 5287f4c9ec Got everything running through testing 2013-08-07 16:41:06 -07:00
Alex Huang 942f282a6e Moved config into it's own package 2013-08-07 16:41:02 -07:00
Edison Su a8ee45de7c CLOUDSTACK-4074: if hypervisor doesn't return size of volume/template, don't update it into db 2013-08-06 15:53:57 -07:00
Min Chen ec89e23665 CLOUDSTACK-4116: don't update db if hypervisor storage processor does
not return volume size.
2013-08-06 15:42:18 -07:00
Min Chen a8990cffd4 CLOUDSTACK-4003: We should not delete a READY data object from object
store ref table in case of any operation failure related to this data
object.
2013-08-06 15:04:57 -07:00
Nitin Mehta f28a28dc77 CLOUDSTACK-3913
Private templates would now get copied to only one of image  storage chosen randamly as was the case earlier. Dont throw an exception for uploading volumes when there are multiple image stores, instead choose one of them randomly
Signed off by : nitin mehta<nitin.mehta@citrix.com>
2013-08-05 17:43:57 +05:30
Edison Su 239c6cef45 CLOUDSTACK-4008: fix snapshot npe if its volume is deleted 2013-08-01 13:59:41 -07:00
Chip Childers 8225374138 Updating pom.xml version numbers for release 4.3.0-SNAPSHOT
Signed-off-by: Chip Childers <chipchilders@apache.org>
2013-08-01 10:35:00 -04:00
Mice Xia 51e4f597e0 fix CLOUDSTACK-3591 add usage recording for VM snapshots
Conflicts:

	plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
	server/src/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java
	setup/db/db/schema-410to420.sql
2013-08-01 10:47:36 +08:00
Edison Su 6ea9d8b159 CLOUDSTACK-3976: if the snapshot is empty and it's the last one in the chain, we need to take full snapshot for the snapshots in sequence 2013-07-31 17:43:49 -07:00
Edison Su 06b9976371 CLOUDSTACK-3976: delete parent snapshot if child snapshots are deleted 2013-07-31 17:03:27 -07:00
Min Chen ad653bf9f5 CLOUDSTACK-3977: vm deployement is failing ;: Resource [Host:5] is
unreachable: Host 5: Unable to send class
org.apache.cloudstack.storage.command.CopyCommand because agent is in
maintenance mode.
2013-07-31 14:04:20 -07:00
Min Chen c2192808aa CLOUDSTACK-3686: Registering a template does not generate a usage event. 2013-07-30 17:35:12 -07:00
Alex Huang 46e644e134 Separate agentmanager from server code. Moved out ssvm. Remove methods that shouldn't be used 2013-07-29 19:13:31 -07:00
Min Chen 42da3efbc3 CLOUDSTACK-3862: Remove S3/Swift-backed Secondary Storage Code. 2013-07-29 14:31:33 -07:00
Edison Su ae534388c0 CLOUDSTACK-3852: fix upload volume
Conflicts:

	plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java
	server/src/com/cloud/template/TemplateManagerImpl.java
2013-07-29 11:50:16 -07:00
Alex Huang a4cea4ebf2 Removed schema from the dependency of many components 2013-07-29 10:55:19 -07:00
Alex Huang c2752ba93c Removed mysql as any dependency 2013-07-26 20:35:48 -07:00
Alex Huang 1834e81476 Added the missing directories 2013-07-26 16:34:09 -07:00
Alex Huang 3f7c558de5 Removed all the extra mockito, inject, and junit dependencies. Changed any test/resource to test/resources and rely on the master pom to tell us where the resources are instead of each individual project 2013-07-26 16:34:08 -07:00
Min Chen c8cafb91a7 CLOUDSTACK-3818: NFS Cache Improperly Named. 2013-07-26 15:07:45 -07:00